file generated by kjots for later format tests
[grauphel.git] / README.rst
1 *****************************
2 grauphel - tomboy REST server
3 *****************************
4 ownCloud__ application implementing the `Tomboy`__ `REST API`__ for syncing notes.
5
6 Pretty stable.
7
8 __ http://owncloud.org/
9 __ https://wiki.gnome.org/Apps/Tomboy
10 __ https://wiki.gnome.org/Apps/Tomboy/Synchronization/REST/1.0
11
12
13 .. contents::
14
15 ======
16 Status
17 ======
18
19 What works
20 ==========
21 - Note synchronization
22 - OAuth token management interface
23 - Database management interface (reset)
24 - Viewing notes
25 - Searching notes
26 - Downloading notes as HTML and reStructuredText
27
28 What is missing
29 ===============
30 - Web interface to edit notes. I will probably not implement this.
31   Patches welcome :-)
32
33
34 =================
35 Supported clients
36 =================
37 * Conboy__ (Nokia N900 Maemo)
38 * Tomboy__ (Linux, Windows)
39 * Tomdroid__ (Android)
40
41 __ http://conboy.garage.maemo.org/
42 __ https://wiki.gnome.org/Apps/Tomboy
43 __ https://launchpad.net/tomdroid
44
45
46 Known working versions
47 ======================
48 grauphel 0.2.1 is known to work with:
49
50 * Tomboy 1.15.2, Linux
51 * Tomboy 1.15.1, Windows
52 * Tomdroid 0.7.5, Android 4.4.1
53
54 See the HowTo__ document for client-specific configuration instructions.
55
56 __ docs/howto.rst
57
58
59 =============
60 Functionality
61 =============
62
63 Search
64 ======
65 You can use ownCloud's global search on the top right.
66
67 During search, the note's titles, tags and content are searched.
68
69 Search syntax:
70
71 ``foo``
72   Search for notes containing "foo"
73 ``foo bar``
74   Search for notes containing "foo" and "bar"
75 ``"foo bar" baz``
76   Search for notes containing "foo bar" and "baz"
77 ``foo -bar``
78   Search for notes containing "foo" but not "bar"
79
80
81 ============
82 Dependencies
83 ============
84 * PHP
85 * PHP `oauth extension`__
86
87 __ http://pecl.php.net/package/oauth
88
89
90 ============
91 Installation
92 ============
93
94 .. note::
95    grauphel needs to be activated for all users.
96    It will not work with the "enable only for specific groups" setting.
97
98 App store installation
99 ======================
100 #. Log into owncloud as administrator
101 #. Goto "Apps"
102 #. Enable experimental apps in the settings
103 #. Click "Productivity"
104 #. Look for "grauphel - Tomboy sync server"
105 #. Click "Activate"
106
107
108 Manual installation
109 ===================
110
111 #. SSH onto your web server
112 #. Navigate to the owncloud ``apps`` directory, often in ``/var/www/owncloud/apps``
113 #. Download the latest release from http://cweiske.de/grauphel.htm#download
114    and extract it.
115    For example::
116
117      $ wget http://cweiske.de/download/grauphel/grauphel-0.6.4.tar.bz2
118      $ tar xjvf grauphel-0.6.4.tar.bz2
119      $ rm grauphel-0.6.4.tar.bz2
120
121    You do have a directory ``/var/www/owncloud/apps/grauphel`` now.
122 #. Using your browser, login as administrator into ownCloud and click
123    the "Apps" icon in the main menu ("+" icon).
124 #. Click on "Grauphel: Tomboy note server" and then on the "Enable" button.
125 #. In the main menu, click the "Tomboy notes" icon.
126
127 It may be that grauphel now shows you an error message::
128
129   PHP extension "oauth" is required
130
131 You have to install the PHP PECL oauth extension now.
132 On Debian 7, do the following::
133
134   $ apt-get install libpcre3-dev php-pear php5-dev
135   $ pecl install oauth-1.2.3
136   $ echo 'extension=oauth.so' > /etc/php5/conf.d/oauth.ini
137   $ /etc/init.d/apache2 restart
138
139 Reload the ownCloud page in your browser now.
140
141 .. note::
142    ``oauth-1.2.3`` is only needed on PHP 5.x
143    For PHP 7 simply use ``pecl install oauth``.
144
145
146 ========
147 Download
148 ========
149 The list of changes in each version can found in the `ChangeLog`__.
150
151 __ http://git.cweiske.de/grauphel.git/blob/HEAD:/ChangeLog
152
153 * `grauphel-0.6.4.tar.gz <http://cweiske.de/download/grauphel/grauphel-0.6.4.tar.gz>`__,
154   36 kiB, 2016-05-10,
155   SHA256: ``6de8ea450c5141cf11e272d20ac3b6a009d1537d083dab03d208819153c7fde5``
156 * `grauphel-0.6.3.tar.gz <http://cweiske.de/download/grauphel/grauphel-0.6.3.tar.gz>`__,
157   36 kiB, 2016-04-27,
158   SHA256: ``eb021af9d99a6d88831af361163af9163fce4ded5f5833caf9764b5f6cd3ff27``
159 * `grauphel-0.6.2.tar.gz <http://cweiske.de/download/grauphel/grauphel-0.6.2.tar.gz>`__,
160   36 kiB, 2016-03-18,
161   SHA256: ``94786f9ef167d9b71e036ed70aea594d29b2edac3f49431d5da568fec513e5ee``
162 * `grauphel-0.6.1.tar.gz <http://cweiske.de/download/grauphel/grauphel-0.6.1.tar.gz>`__,
163   35 kiB, 2015-09-22,
164   SHA256: ``f86cf7b47be857d8a87d413b6315c336e83e9c4beba2cb6ed0eaea8d2b3ea1c3``
165
166   * `grauphel-0.6.1.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.6.1.tar.bz2>`__,
167     31 kiB, 2015-09-21,
168     SHA256: ``b755b32a453617536eb202cd9d29129df1b04311b633d971108c310a4b9b2e4b``
169 * `grauphel-0.6.0.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.6.0.tar.bz2>`__,
170   31 kiB, 2015-09-18,
171   SHA256: ``42e66ed4db1f0c24ca25e46ac4be6e523352f431daaefb22140a2a2e621049b8``
172 * `grauphel-0.5.1.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.5.1.tar.bz2>`__,
173   29 kiB, 2015-06-04,
174   SHA256: ``fdb6232fa0d09a72e8355e5e4610403717ffe5c7f7193af2b36d991f1eb76127``
175 * `grauphel-0.5.0.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.5.0.tar.bz2>`__,
176   29 kiB, 2015-03-17,
177   SHA256: ``9bbd5426cd7cd36f603c49b0635f24cb9507cf857480edc1f72df0ea0107f7de``
178 * `grauphel-0.4.0.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.4.0.tar.bz2>`__,
179   24 kiB, 2014-10-29,
180   SHA256: ``a625ed127af04af4c0a658fcac8156557ef8098eaeddb72281842ad0c0c00b71``
181 * `grauphel-0.3.0.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.3.0.tar.bz2">`__,
182   17 kiB, 2014-10-14,
183   SHA256: ``c59ac4cab6d747a4fe89ebd59c92e7ec80f9e2fb3b1edf8904357bc161897ae8``
184 * `grauphel-0.2.1.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.2.1.tar.bz2>`__,
185   13 kiB, 2014-10-03,
186   SHA256: ``b66db077fc3e117b2e143b5b177c1d9a8a86c43029936ea65300a4d822e9fdda``
187 * `grauphel-0.2.0.tar.bz2 <http://cweiske.de/download/grauphel/grauphel-0.2.0.tar.bz2>`__,
188   13 kiB, 2014-09-27,
189   SHA256: ``abb1372e8b8525237bea1b686aa6ee2d390974f84bf2206d3aacc2c191978162``
190
191
192 ======
193 Author
194 ======
195 Christian Weiske, cweiske@cweiske.de, http://cweiske.de/
196
197
198 =====
199 Links
200 =====
201 - `Homepage`__
202 - `grauphel on apps.owncloud.com`__
203 - `Source code repository`__
204 - `Github source code mirror`__
205
206 __ http://cweiske.de/grauphel.htm
207 __ http://apps.owncloud.com/content/show.php?action=content&content=166654
208 __ http://git.cweiske.de/grauphel.git/
209 __ https://github.com/cweiske/grauphel
210
211
212 =================
213 Development hints
214 =================
215 * JSON coming from Tomboy: Title is html-escaped already
216   (e.g. ``>`` is ``&gt;``).
217   We store it that way in the database, so there is no need to escape the
218   output.
219 * ``latest-sync-revision`` sent from Tomboy during PUT sync is already
220   incremented by 1.
221
222
223 Unit testing
224 ============
225 - `ownCloud unit testing documentation`__
226 - `grauphel on Travis CI`__
227
228   .. image:: https://travis-ci.org/cweiske/grauphel.svg
229      :target: https://travis-ci.org/cweiske/grauphel
230
231 __ https://doc.owncloud.org/server/8.0/developer_manual/core/unit-testing.html
232 __ https://travis-ci.org/cweiske/grauphel
233
234
235 Releasing grauphel
236 ==================
237 To release a new version, do the following:
238
239 #. Increase version number in ``appinfo/version`` and ``appinfo/info.xml``.
240 #. Fill the ``ChangeLog`` file with the changes since the last release,
241    mention the new version number.
242 #. Update ``README.rst`` and increase the version number
243 #. Create the grauphel release file with::
244
245      $ phing
246
247    The file will be in ``dist/``
248 #. Test the release on a server
249 #. Tag the release in git
250 #. Upload the release to http://cweiske.de/grauphel.htm with::
251
252      $ phing update-website
253
254 #. Link the new release on https://apps.owncloud.com/content/show.php?content=166654