Talk:Version support for datastore/Proposal: Difference between revisions
| Line 73: | Line 73: | ||
== Datastore API feature requests == | == Datastore API feature requests == | ||
==== | ==== Features that could benefit Library activity ==== | ||
So | 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). | ||