Changes

Line 40: Line 40:  
=== Core Software ===
 
=== Core Software ===
 
==== Versioned Datastore ====
 
==== Versioned Datastore ====
 +
 +
Note: the work for this idea is ''more than halfway done''. The olpcfs2 virtual file system linked below is working, supporting versions and metadata; all you need to do is a UI and an index/searching mechanism on top of that. And even if your indexing mechanism is just brute-force-search each-time, sure, it will be too slow for real use, but we can take it from there, as long you have a working proof-of-concept UI.
    
* To add [[DevelopmentTeam/DatastoreRewrite#Versioned_entries_.28not_fulfilled_yet.29|Version support]] for [[Journal]] / [[DevelopmentTeam/Almanac/sugar.datastore.datastore|DataStore]]: Start with (old) [http://wiki.laptop.org/go/Olpcfs Olpcfs] and (newer; less-documented; based on an RCS backend and a relatively small amount of fuse magic) [http://dev.laptop.org/git/users/cscott/olpcfs2/ olpcfs2]. Get Sugar to mount OLPCFS2, a working virtual versioned filesystem, and keep its datastore there. Get datastore to create a new version for each save (automatic or manual). Modify journal UI to use these versions, fork from old versions, etc. Keep with the same name / tags, create a branch if metadata was changed. Allow the user to access "older" versions (Keeping and "old" version will create a branch) and view ancestry (tree of branches).  
 
* To add [[DevelopmentTeam/DatastoreRewrite#Versioned_entries_.28not_fulfilled_yet.29|Version support]] for [[Journal]] / [[DevelopmentTeam/Almanac/sugar.datastore.datastore|DataStore]]: Start with (old) [http://wiki.laptop.org/go/Olpcfs Olpcfs] and (newer; less-documented; based on an RCS backend and a relatively small amount of fuse magic) [http://dev.laptop.org/git/users/cscott/olpcfs2/ olpcfs2]. Get Sugar to mount OLPCFS2, a working virtual versioned filesystem, and keep its datastore there. Get datastore to create a new version for each save (automatic or manual). Modify journal UI to use these versions, fork from old versions, etc. Keep with the same name / tags, create a branch if metadata was changed. Allow the user to access "older" versions (Keeping and "old" version will create a branch) and view ancestry (tree of branches).  
273

edits