grauphel - tomboy REST server
nextCloud application implementing the Tomboy REST API for syncing notes.
Pretty stable.
⚠ I am looking for a new maintainer / funding
Contents
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.6 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
- PHP
- PHP oauth extension
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
- Log into nextcloud as administrator
- Goto "Apps"
- Enable experimental apps in the settings
- Click "Productivity"
- Look for "grauphel - Tomboy sync server"
- Click "Activate"
Manual installation
-
SSH onto your web server
-
Navigate to the nextcloud apps directory, often in /var/www/nextcloud/apps
-
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.6.tar.gz $ tar xjvf grauphel-0.7.6.tar.gz $ rm grauphel-0.7.6.tar.gz
You do have a directory /var/www/nextcloud/apps/grauphel now.
-
Using your browser, login as administrator into nextCloud and click the "Apps" icon in the main menu ("+" icon).
-
Click on "Grauphel: Tomboy note server" and then on the "Enable" button.
-
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
Download the latest release:
-
0.7.6, 2021-01-22
-
grauphel-0.7.6.tar.gz,
38 kiB
SHA256: e5f90dd4f376fb1b2f01ada594e0e1bded7810a46cf7519050395e20e6cbc26d
-
grauphel-0.7.6.tar.gz,
38 kiB
See grauphel downloads page for all released versions.
Author
Christian Weiske, cweiske@cweiske.de, http://cweiske.de/
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.
Releasing grauphel
To release a new version, do the following:
-
Increase version number in appinfo/version and appinfo/info.xml.
-
Validate appinfo/info.xml:
$ xmllint --noout --schema tools/info.xsd appinfo/info.xml
-
Validate appinfo/database.xml:
$ xmllint --noout --schema tools/database.xsd appinfo/database.xml
-
Fill the ChangeLog file with the changes since the last release, mention the new version number.
-
Update README.rst and increase the version number
-
Create the grauphel release file with:
$ phing
The file will be in dist/
-
Test the release on a server
-
Tag the release in git
-
Upload the release to http://cweiske.de/grauphel.htm with:
$ cd ~/Dev/html/cweiske.de $ ./scripts/update-grauphel.sh
-
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.6.tar.gz | openssl base64