Differences between revisions 5 and 6
Revision 5 as of 2009-09-20 21:45:01
Size: 2014
Editor: localhost
Comment: converted to 1.6 markup
Revision 6 as of 2018-04-09 17:56:45
Size: 0
Editor: JoanTouzet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#redirect Reserved_words
This document details item names that have a special system meaning. It also details recommended item names which are not enforced by the system, but may help interoperability of databases if consistent names are used.

== Reserved Item Names ==
System reserved items start with underscore, the other items listed are conventions.
=== _id ===
this is the unique ID of the document
=== _rev ===
This is the revision reference of the document


= Proposals =
These recommended names have never been used for anything and are proposals for future use.
== Reserved Document IDs ==
=== favicon ===
This contains an image representing the database. The icon is an attachment to this document, it can be in SVG or PNG format. A client application may scan all databases on a CouchDB server retrieving their icons.
=== Security ===
The security document may contain a datastructure that defines the rights users have to all or parts of the database. This may be enforced by a client library or perhaps by the database.
=== form ===
This contains a single text string to identify the user interface to be used to display the document. The text string could be the ID of another couchdb document which contains the definition of the form.
=== subject ===
The subject should contain a single text string with a human readable description of the document.
=== security ===
The security item contains a javascript function defining the identity of people and things allowed to read, update and delete this document. The function would be passed the document, the database security document, an object representing the person's LDAP entry (so groups etc can be looked up) and the operation requested (normally one of "read", "update", "delete" but others could be invented). It returns true to allow the operation to continue or false to prevent it. Using javascript in this way would allow time based security rules (e.g. allow updates for 1 hour after creation) and much more.