Tomboy note synchronization REST server owncloud app
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
appinfo
controller
css Make settings menu nicer Oct 7, 2018
docs
img
js
lib
templates
tests
tools
.gitignore
.travis.yml
ChangeLog
LICENSE
README.rst
build.xml

README.rst

grauphel - tomboy REST server

nextCloud application implementing the Tomboy REST API for syncing notes.

Pretty stable.

Status

What works

  • Note synchronization
  • OAuth token management interface
  • Database management interface (reset)
  • Viewing notes
  • Searching notes
  • Downloading notes as HTML and reStructuredText

What is missing

  • Web interface to edit notes. I will probably not implement this. Patches welcome :-)

Supported clients

Known working versions

grauphel 0.7.0 is known to work with:

  • Tomboy 1.15.2, Linux
  • Tomboy 1.15.1, Windows
  • Tomdroid 0.7.5, Android 4.4.1

See the HowTo document for client-specific configuration instructions.

Functionality

Search

You can use nextCloud's global search on the top right.

During search, the note's titles, tags and content are searched.

Search syntax:

foo
Search for notes containing "foo"
foo bar
Search for notes containing "foo" and "bar"
"foo bar" baz
Search for notes containing "foo bar" and "baz"
foo -bar
Search for notes containing "foo" but not "bar"

Dependencies

Installation

Note

grauphel needs to be activated for all users. It will not work with the "enable only for specific groups" setting.

App store installation

  1. Log into nextcloud as administrator
  2. Goto "Apps"
  3. Enable experimental apps in the settings
  4. Click "Productivity"
  5. Look for "grauphel - Tomboy sync server"
  6. Click "Activate"

Manual installation

  1. SSH onto your web server

  2. Navigate to the nextcloud apps directory, often in /var/www/nextcloud/apps

  3. Download the latest release from http://cweiske.de/grauphel.htm#download and extract it. For example:

    $ wget http://cweiske.de/download/grauphel/grauphel-0.7.0.tar.gz
    $ tar xjvf grauphel-0.7.0.tar.gz
    $ rm grauphel-0.7.0.tar.gz
    

    You do have a directory /var/www/nextcloud/apps/grauphel now.

  4. Using your browser, login as administrator into nextCloud and click the "Apps" icon in the main menu ("+" icon).

  5. Click on "Grauphel: Tomboy note server" and then on the "Enable" button.

  6. In the main menu, click the "Tomboy notes" icon.

It may be that grauphel now shows you an error message:

PHP extension "oauth" is required

You have to install the PHP PECL oauth extension now. On Debian 9 or higher, do the following:

$ apt install php-oauth
$ phpenmod oauth
$ /etc/init.d/apache2 restart

Reload the nextCloud page in your browser now.

Note

oauth-1.2.3 is only needed on PHP 5.x For PHP 7 simply use pecl install oauth.

Download

See grauphel downloads page for all released versions.

Author

Christian Weiske, cweiske@cweiske.de, http://cweiske.de/

Links

Development hints

  • JSON coming from Tomboy: Title is html-escaped already (e.g. > is >). We store it that way in the database, so there is no need to escape the output.
  • latest-sync-revision sent from Tomboy during PUT sync is already incremented by 1.

Unit testing

Releasing grauphel

To release a new version, do the following:

  1. Increase version number in appinfo/version and appinfo/info.xml.

  2. Validate appinfo/info.xml:

    $ xmllint --noout --schema tools/info.xsd appinfo/info.xml
    
  3. Validate appinfo/database.xml:

    $ xmllint --noout --schema tools/database.xsd appinfo/database.xml
    
  4. Fill the ChangeLog file with the changes since the last release, mention the new version number.

  5. Update README.rst and increase the version number

  6. Create the grauphel release file with:

    $ phing
    

    The file will be in dist/

  7. Test the release on a server

  8. Tag the release in git

  9. Upload the release to http://cweiske.de/grauphel.htm with:

    $ cd ~/Dev/html/cweiske.de
    $ ./scripts/update-grauphel.sh
    
  10. Upload the new release on https://apps.nextcloud.com/developer/apps/releases/new

    Signature:

    $ openssl dgst -sha512 -sign ~/.nextcloud/certificates/grauphel.key dist/grauphel-0.7.0.tar.gz | openssl base64