changeset 875:f15c538959aa storage-ng

storage docs updated
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Sun, 25 Sep 2011 19:49:53 +0200
parents 8fa57ebd113e
children 1ceb6f3f2a2a
files docs/devel/development.rst
diffstat 1 files changed, 14 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/docs/devel/development.rst	Sun Sep 25 19:36:00 2011 +0200
+++ b/docs/devel/development.rst	Sun Sep 25 19:49:53 2011 +0200
@@ -47,9 +47,7 @@
 * EmeraldTree for xml / tree processing
 * blinker for signalling
 * pygments for syntax highlighting
-* sqlalchemy as sql database abstraction (for indexing)
-
-  - by default using sqlite as database
+* sqlalchemy as sql database abstraction (sqla backend)
 * jquery javascript lib
 * CKeditor - GUI editor for (x)html
 * TWikiDraw, AnyWikiDraw, svgdraw drawing tools
@@ -78,7 +76,7 @@
   - MoinMoin.apps.serve - serving some configurable static 3rd party stuff
 * register before/after request handlers
 * initialize the cache (app.cache)
-* initialize the storage (app.storage)
+* initialize index and storage (app.storage)
 * initialize the translation system
 * initialize theme support
 
@@ -114,22 +112,20 @@
 
 Storage
 -------
-Moin supports different storage backends (like storing directly into files /
-directories, using Mercurial DVCS, using a SQL database, etc. - see
-`MoinMoin.storage.backends`).
-
-All these backends conform to same storage API definition (see
-`MoinMoin.storage`), which is used by the higher levels (no matter what
-backend is used).
+Moin supports different stores (like storing directly into files /
+directories, using key/value stores, using a SQL database, etc. - see
+`MoinMoin.storage.stores`). A store is extremly simple: just store a value
+for a key and retrieve the value using the key + iteration over keys.
 
-There is also some related code in the storage package for:
+A backend is one layer above, dealing with objects that have metadata and
+data, see `MoinMoin.storage.backends`), still very simple stuff.
 
-* processing ACLs (access control lists, protecting that items get accessed
-  by users that are not allowed to)
-* router (a fstab like mechanism, so one can mount multiple backends at
-  different places in the namespace)
-* indexing (putting important metadata into a index database, so finding,
-  selecting items is speedier)
+Above that, there is misc. stuff in `MoinMoin.storage.middleware` for:
+
+* routing by name to some specific backend (like fstab / mount)
+* indexing metadata and data + comfortable and fast index-based access,
+  selection and search
+* protecting stuff by ACLs (access control lists)
 
 DOM based transformations
 -------------------------