Line 73: |
Line 73: |
| = Datastore feature requests = | | = Datastore feature requests = |
| | | |
− | === Features that could benefit Library activity ===
| + | * [[Development_Team/Release/Roadmap/0.86#Datastore_features_that_could_benefit_Library]] |
− | | |
− | 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).
| |
− | | |
− | ====== Get collapsed find()'s resultset ======
| |
− | | |
− | Let user call datastore.find() to get list of collapsed objects(all versions by one item).
| |
− | | |
− | That should mean that any datastore object should have "object id":
| |
− | * ''activity_id'' for objects that were generated by activities (already implemented)
| |
− | * ''bundle_id'' for .xo bundles in the Journal
| |
− | * ''uid'' for other objecets (already implemented)
| |
− | | |
− | ====== History of collapsed object ======
| |
− | | |
− | Let datastore clients browse history of collapsed objects:
| |
− | * for ''activity_id'' objects - sort by timestamp (already impelemented)
| |
− | * 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).
| |