Changes

Jump to navigation Jump to search
Line 73: Line 73:  
== Datastore API feature requests ==
 
== Datastore API feature requests ==
   −
==== Let all activities browse datastore in "objects" mode ====
+
==== Features that could benefit Library activity ====
   −
So any activity can datastore.find() to get collapsed objects(all versions by one resultset item).
+
These features can benefit [[Activities/Library]] activity. At present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get ''bundle_id'' value. So its not good.
 +
 
 +
With all these features implemented Library can use "thin" datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).
 +
 
 +
====== Provide object id field ======
    
That should mean that any datastore object should have "object id":
 
That should mean that any datastore object should have "object id":
Line 81: Line 85:  
* ''bundle_id'' for .xo bundles in the Journal
 
* ''bundle_id'' for .xo bundles in the Journal
 
* ''uid'' for other objecets (already implemented)
 
* ''uid'' for other objecets (already implemented)
 +
 +
====== History of collapsed object ======
    
Let datastore clients browse history of collapsed objects:
 
Let datastore clients browse history of collapsed objects:
 
* for ''activity_id'' objects - sort by timestamp (already impelemented)
 
* for ''activity_id'' objects - sort by timestamp (already impelemented)
 
* for ''bundle_id'' objects - sort by ''activity_version''(or so) field
 
* for ''bundle_id'' objects - sort by ''activity_version''(or so) field
 +
 +
====== Sort find()'s resultset ======
    
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).
 
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).
  −
This features can benefit [[Activities/Library]] activity, at present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get ''bundle_id'' value.
  −
  −
With all these features implemented Library can use "thin" datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).
 

Navigation menu