~vds/desktopcouch/desktopcouch_couchdb_0_7

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
This is Desktop Couch, an infrastructure to place a CouchDB on every desktop
and provide APIs and management tools for applications to store data within
it and share that data between computers and to the cloud.

Documentation and details at http://freedesktop.org/wiki/Specifications/desktopcouch

= Technical notes =

== Creating databases, design documents, and views ==

Desktop Couch will automatically create databases and design documents for you
on startup by inspecting the filesystem, meaning that you do not need to check
in your application whether your views exist. It is of course possible to create
views directly through the Records API, but having them created via the 
filesystem allows managing of the view definitions more easily (they are
in separately editable files, which helps with version control) and packaging
(the files can be separately stored in a distribution package and installed
into the system-level XDG_DATA_DIR rather than the user-level folder).

=== To create a database ===

Create a file $XDG_DATA_DIR/desktop-couch/databases/YOUR_DB_NAME/database.cfg

This file can currently be empty (in future it may contain database setup and
configuration information). 

=== To create a design document ===

Create a file 
$XDG_DATA_DIR/desktop-couch/databases/YOUR_DB_NAME/_design/DESIGN_DOC_NAME/views/VIEW_NAME/map.js
containing the map function from your view.
If you also require a reduce function for your view, create a file 
$XDG_DATA_DIR/desktop-couch/databases/YOUR_DB_NAME/_design/DESIGN_DOC_NAME/views/VIEW_NAME/reduce.js.

This is compatible with the filesystem view structure from CouchApp and 
CouchDBKit.

=== Generating API documentation ===

Run epydoc --config=data/epydoc.conf to create HTML documentation for the
whole desktopcouch API in docs/html/api.