[Jifty-commit] r2559 - in jifty/trunk: doc
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Thu Jan 25 04:58:36 EST 2007
Author: jesse
Date: Thu Jan 25 04:58:35 2007
New Revision: 2559
Modified:
jifty/trunk/ (props changed)
jifty/trunk/doc/jifty-model-svk
Log:
r21311 at hualien: jesse | 2007-01-25 17:58:06 +0800
* inital pod and sections
Modified: jifty/trunk/doc/jifty-model-svk
==============================================================================
--- jifty/trunk/doc/jifty-model-svk (original)
+++ jifty/trunk/doc/jifty-model-svk Thu Jan 25 04:58:35 2007
@@ -1,3 +1,53 @@
+=head1 name
+
+Jifty SVK Model docs
+
+=head1 SUMMARY
+
+
+
+=head1 IMPLEMENTATION
+
+=head2 Reading and writing from the data store
+
+- Upon each mount, read everything, expiry-keyed by revnum
+ - Build in-memory index for common accesses
+ - Encourage ->begin and ->commit to take advantage of svk txns
+ - Otherwise it's autocommit
+ - svn:author is $ApplicationClass-$ApplicationUser
+
+=head2 Implementation plan
+
+=head3 Functionality
+
+=over
+
+=item create objects
+
+=item read objects
+
+=item find objects
+
+=item update objects
+
+=item delete objects
+
+=back
+
+
+=head3 API
+
+- First step is a memory-only, svn-compatible layout backend store
+ - Composed of alternate implementation of APIs of:
+ - Jifty::Record
+ - Jifty::Collection
+
+
+
+
+
+=head2 Data storage format (In SVN)
+
- Subversion based object store, using headless YAML::Syck for now
- Each object is a /UUID/ directory
- Optionally encoded as /U/UUID/ or /U/UU/UUID/ etc
@@ -19,16 +69,9 @@
- J::M::T and J::M::C (recursively defined) are always present in any data store
- Consequently, jifty model --create must do a uuidgen when backending SVN.
-- Upon each mount, read everything, expiry-keyed by revnum
- - Build in-memory index for common accesses
- - Encourage ->begin and ->commit to take advantage of svk txns
- - Otherwise it's autocommit
- - svn:author is $ApplicationClass-$ApplicationUser
-- First step is a memory-only, svn-compatible layout backend store
- - Composed of alternate implementation of APIs of:
- - Jifty::Record
- - Jifty::Collection
+=head3 Runtime storage format (in memory)
+
- In-memory structure looks like this:
{$type-uuid}
[objects-sorted-by-timestamp]
@@ -42,6 +85,18 @@
- Column/schema info is encoded in the store itself as {$type-uuid-of-Jifty::Model::Type}{*}
- Introspect/modifiable as any regular model
+=head2 Limitations
+
+
+=head3 Runtime Typecasting
+
my $uuid = $typed_record->id; # concat of time and uuid
# ...somebody retypes it and stores it...
$typed_record->load_by_id($uuid); # oops
+
+=head3 Performance
+
+=head3 Search
+
+=head3 Scalability
+
More information about the Jifty-commit
mailing list