1 *****************************
2 grauphel - tomboy REST server
3 *****************************
4 nextCloud__ application implementing the `Tomboy`__ `REST API`__ for syncing notes.
8 ⚠ `I am looking for a new maintainer / funding <http://cweiske.de/tagebuch/grauphel-maintainer.htm>`_
10 __ https://nextcloud.com/
11 __ https://wiki.gnome.org/Apps/Tomboy
12 __ https://wiki.gnome.org/Apps/Tomboy/Synchronization/REST/1.0
23 - Note synchronization
24 - OAuth token management interface
25 - Database management interface (reset)
28 - Downloading notes as HTML and reStructuredText
32 - Web interface to edit notes. I will probably not implement this.
39 * Conboy__ (Nokia N900 Maemo)
40 * Tomboy__ (Linux, Windows)
41 * Tomdroid__ (Android)
43 __ http://conboy.garage.maemo.org/
44 __ https://wiki.gnome.org/Apps/Tomboy
45 __ https://github.com/tomboy-notes/tomdroid
48 Known working versions
49 ======================
50 grauphel 0.7.6 is known to work with:
52 * Tomboy 1.15.2, Linux
53 * Tomboy 1.15.1, Windows
54 * Tomdroid 0.7.5, Android 4.4.1
56 See the HowTo__ document for client-specific configuration instructions.
67 You can use nextCloud's global search on the top right.
69 During search, the note's titles, tags and content are searched.
74 Search for notes containing "foo"
76 Search for notes containing "foo" and "bar"
78 Search for notes containing "foo bar" and "baz"
80 Search for notes containing "foo" but not "bar"
87 * PHP `oauth extension`__
89 __ http://pecl.php.net/package/oauth
97 grauphel needs to be activated for all users.
98 It will not work with the "enable only for specific groups" setting.
100 App store installation
101 ======================
102 #. Log into nextcloud as administrator
104 #. Enable experimental apps in the settings
105 #. Click "Productivity"
106 #. Look for "grauphel - Tomboy sync server"
113 #. SSH onto your web server
114 #. Navigate to the nextcloud ``apps`` directory, often in ``/var/www/nextcloud/apps``
115 #. Download the latest release from http://cweiske.de/grauphel.htm#download
119 $ wget http://cweiske.de/download/grauphel/grauphel-0.7.6.tar.gz
120 $ tar xjvf grauphel-0.7.6.tar.gz
121 $ rm grauphel-0.7.6.tar.gz
123 You do have a directory ``/var/www/nextcloud/apps/grauphel`` now.
124 #. Using your browser, login as administrator into nextCloud and click
125 the "Apps" icon in the main menu ("+" icon).
126 #. Click on "Grauphel: Tomboy note server" and then on the "Enable" button.
127 #. In the main menu, click the "Tomboy notes" icon.
129 It may be that grauphel now shows you an error message::
131 PHP extension "oauth" is required
133 You have to install the PHP PECL oauth extension now.
134 On Debian 9 or higher, do the following::
136 $ apt install php-oauth
138 $ /etc/init.d/apache2 restart
140 Reload the nextCloud page in your browser now.
143 ``oauth-1.2.3`` is only needed on PHP 5.x
144 For PHP 7 simply use ``pecl install oauth``.
152 See `grauphel downloads page <http://cweiske.de/grauphel-download.htm>`_
153 for all released versions.
165 - `grauphel on apps.nextcloud.com`__
166 - `Source code repository`__
167 - `Github source code mirror`__
169 __ http://cweiske.de/grauphel.htm
170 __ http://apps.nextcloud.com/apps/grauphel
171 __ http://git.cweiske.de/grauphel.git/
172 __ https://github.com/cweiske/grauphel
178 * JSON coming from Tomboy: Title is html-escaped already
179 (e.g. ``>`` is ``>``).
180 We store it that way in the database, so there is no need to escape the
182 * ``latest-sync-revision`` sent from Tomboy during PUT sync is already
188 - `ownCloud unit testing documentation`__
189 - `grauphel on Travis CI`__
191 .. image:: https://travis-ci.org/cweiske/grauphel.svg
192 :target: https://travis-ci.org/cweiske/grauphel
194 __ https://doc.owncloud.org/server/8.0/developer_manual/core/unit-testing.html
195 __ https://travis-ci.org/cweiske/grauphel
200 To release a new version, do the following:
202 #. Increase version number in ``appinfo/version`` and ``appinfo/info.xml``.
203 #. Validate ``appinfo/info.xml``::
205 $ xmllint --noout --schema tools/info.xsd appinfo/info.xml
207 #. Validate ``appinfo/database.xml``::
209 $ xmllint --noout --schema tools/database.xsd appinfo/database.xml
211 #. Fill the ``ChangeLog`` file with the changes since the last release,
212 mention the new version number.
213 #. Update ``README.rst`` and increase the version number
214 #. Create the grauphel release file with::
218 The file will be in ``dist/``
219 #. Test the release on a server
220 #. Tag the release in git
221 #. Upload the release to http://cweiske.de/grauphel.htm with::
223 $ cd ~/Dev/html/cweiske.de
224 $ ./scripts/update-grauphel.sh
226 #. Upload the new release on
227 https://apps.nextcloud.com/developer/apps/releases/new
231 $ openssl dgst -sha512 -sign ~/.nextcloud/certificates/grauphel.key dist/grauphel-0.7.6.tar.gz | openssl base64