Fix #20 and #25: Add authorization header workaround for fcgid
[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 App store installation
95 ======================
96 Installation via the app store does not work currently, see
97 https://github.com/cweiske/grauphel/issues/26
98
99 If one day it works, you can use the ownCloud "Apps" app, select
100 "Productivity" and install grauphel with a single click.
101
102
103 Manual installation
104 ===================
105
106 #. SSH onto your web server
107 #. Navigate to the owncloud ``apps`` directory, often in ``/var/www/owncloud/apps``
108 #. Download the latest release from http://cweiske.de/grauphel.htm and extract it.
109    For example::
110
111      $ wget http://cweiske.de/download/grauphel/grauphel-0.6.0.tar.bz2
112      $ tar xjvf grauphel-0.6.0.tar.bz2
113      $ rm grauphel-0.6.0.tar.bz2
114
115    You do have a directory ``/var/www/owncloud/apps/grauphel`` now.
116 #. Using your browser, login as administrator into ownCloud and click
117    the "Apps" icon in the main menu ("+" icon).
118 #. Click on "Grauphel: Tomboy note server" and then on the "Enable" button.
119 #. In the main menu, click the "Tomboy notes" icon.
120
121 It may be that grauphel now shows you an error message::
122
123   PHP extension "oauth" is required
124
125 You have to install the PHP PECL oauth extension now.
126 On Debian 7, do the following::
127
128   $ apt-get install libpcre3-dev php-pear php5-dev
129   $ pecl install oauth
130   $ echo 'extension=oauth.so' > /etc/php5/conf.d/oauth.ini
131   $ /etc/init.d/apache2 restart
132
133 Reload the ownCloud page in your browser now.
134
135
136 ======
137 Author
138 ======
139 Christian Weiske, cweiske@cweiske.de, http://cweiske.de/
140
141
142 =====
143 Links
144 =====
145 - `Homepage`__
146 - `grauphel on apps.owncloud.com`__
147 - `Source code repository`__
148 - `Github source code mirror`__
149
150 __ http://cweiske.de/grauphel.htm
151 __ http://apps.owncloud.com/content/show.php?action=content&content=166654
152 __ http://git.cweiske.de/grauphel.git/
153 __ https://github.com/cweiske/grauphel
154
155
156 =================
157 Development hints
158 =================
159 * JSON coming from Tomboy: Title is html-escaped already
160   (e.g. ``>`` is ``>``).
161   We store it that way in the database, so there is no need to escape the
162   output.
163 * ``latest-sync-revision`` sent from Tomboy during PUT sync is already
164   incremented by 1.
165
166
167 Unit testing
168 ============
169 - `ownCloud unit testing documentation`__
170 - `grauphel on Travis CI`__
171
172   .. image:: https://travis-ci.org/cweiske/grauphel.svg
173      :target: https://travis-ci.org/cweiske/grauphel
174
175 __ https://doc.owncloud.org/server/8.0/developer_manual/core/unit-testing.html
176 __ https://travis-ci.org/cweiske/grauphel
177
178
179 Releasing grauphel
180 ==================
181 To release a new version, do the following:
182
183 #. Increase version number in ``appinfo/version`` and ``appinfo/info.xml``.
184 #. Fill the ``ChangeLog`` file with the changes since the last release,
185    mention the new version number.
186 #. Update ``README.rst`` and increase the version number
187 #. Create the grauphel release file with::
188
189      $ phing
190
191    The file will be in ``dist/``
192 #. Test the release on a server
193 #. Tag the release in git
194 #. Upload the release to http://cweiske.de/grauphel.htm
195 #. Link the new release on https://apps.owncloud.com/content/show.php?content=166654