Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.
The following page has been changed by CurtArnold: http://wiki.apache.org/couchdb/History ------------------------------------------------------------------------------ * The history database is an ordinary CouchDB database that can be manipulated as normal e.g. views can be added to organise the history docs as required. * If people need to add meta-data to the history, e.g. "last changed by", "last changed date/time", then the recommended way would be to use a custom _update handler to add these fields to the doc being saved, and these would propagate to the history database. - == Use Cases == - * Make it easy to "roll back" all docs to a specific point in time. Viewing how a single doc looked at a certain point in time is easy, but to get all docs with doc.type == 'profile' at some point in time, for example, is a bit harder. Suggestions welcome! + == Potential Use Cases == + + * View a single doc at a specific point in time. + * Rollback a database to a specific point in time. + * Query a view within a specific point in time. + * Query a view across a range of time. + * Query using a current view on a history snapshot. + * Retrieve a log of all modifications to a document within a time range with option to get documents. + * Start recording history on an existing DB. + * Stop recording history on a DB. + * Detecting that there is a gap in history. + * Querying history while DB is active. + + == Potential approaches == + + * Erlang native implementation + * Pluggable implementation (history_handler) + * Writing some existing repo format (for example Subversion's FSFS) + * Integrating with with existing repo library (libsvn?) + * Integrating with libsvn and exposing svn's http interface through mochiweb. +
