Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


grauphel - tomboy REST server

nextCloud application implementing the Tomboy REST API for syncing notes.

Pretty stable.


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.4 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.



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

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

Search syntax:

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"




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 and extract it. For example:

    $ wget
    $ tar xjvf grauphel-0.7.4.tar.gz
    $ rm grauphel-0.7.4.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.


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


See grauphel downloads page for all released versions.


Christian Weiske,,


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 with:

    $ cd ~/Dev/html/
    $ ./scripts/
  10. Upload the new release on


    $ openssl dgst -sha512 -sign ~/.nextcloud/certificates/grauphel.key dist/grauphel-0.7.4.tar.gz | openssl base64
You can’t perform that action at this time.