summaryrefslogtreecommitdiff
path: root/README.rst
blob: 5b5d65ab99a592e7a3c214c2f2bece8168f6e346 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
*****************************
grauphel - tomboy REST server
*****************************
ownCloud__ application implementing the `Tomboy`__ `REST API`__ for syncing notes.

Pretty stable.

__ http://owncloud.org/
__ https://wiki.gnome.org/Apps/Tomboy
__ https://wiki.gnome.org/Apps/Tomboy/Synchronization/REST/1.0


.. 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
=================
* Conboy__ (Nokia N900 Maemo)
* Tomboy__ (Linux, Windows)
* Tomdroid__ (Android)

__ http://conboy.garage.maemo.org/
__ https://wiki.gnome.org/Apps/Tomboy
__ https://launchpad.net/tomdroid


Known working versions
======================
grauphel 0.2.1 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.

__ docs/howto.rst


=============
Functionality
=============

Search
======
You can use ownCloud'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`__

__ http://pecl.php.net/package/oauth


============
Installation
============

App store installation
======================
Installation via the app store does not work currently, see
https://github.com/cweiske/grauphel/issues/26

If one day it works, you can use the ownCloud "Apps" app, select
"Productivity" and install grauphel with a single click.


Manual installation
===================

#. SSH onto your web server
#. Navigate to the owncloud ``apps`` directory, often in ``/var/www/owncloud/apps``
#. Download the latest release from http://cweiske.de/grauphel.htm and extract it.
   For example::

     $ wget http://cweiske.de/download/grauphel/grauphel-0.6.0.tar.bz2
     $ tar xjvf grauphel-0.6.0.tar.bz2
     $ rm grauphel-0.6.0.tar.bz2

   You do have a directory ``/var/www/owncloud/apps/grauphel`` now.
#. Using your browser, login as administrator into ownCloud 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 7, do the following::

  $ apt-get install libpcre3-dev php-pear php5-dev
  $ pecl install oauth
  $ echo 'extension=oauth.so' > /etc/php5/conf.d/oauth.ini
  $ /etc/init.d/apache2 restart

Reload the ownCloud page in your browser now.


======
Author
======
Christian Weiske, cweiske@cweiske.de, http://cweiske.de/


=====
Links
=====
- `Homepage`__
- `grauphel on apps.owncloud.com`__
- `Source code repository`__
- `Github source code mirror`__

__ http://cweiske.de/grauphel.htm
__ http://apps.owncloud.com/content/show.php?action=content&content=166654
__ http://git.cweiske.de/grauphel.git/
__ https://github.com/cweiske/grauphel


=================
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
============
- `ownCloud unit testing documentation`__
- `grauphel on Travis CI`__

  .. image:: https://travis-ci.org/cweiske/grauphel.svg
     :target: https://travis-ci.org/cweiske/grauphel

__ https://doc.owncloud.org/server/8.0/developer_manual/core/unit-testing.html
__ https://travis-ci.org/cweiske/grauphel


Releasing grauphel
==================
To release a new version, do the following:

#. Increase version number in ``appinfo/version`` and ``appinfo/info.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
#. Link the new release on https://apps.owncloud.com/content/show.php?content=166654