couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Couchdb Wiki] Update of "History" by CurtArnold
Date Fri, 31 Jul 2009 14:48:04 GMT
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.
+ 

Mime
View raw message