SDK: U1Db Qt Version

Registered by Kevin Wright on 2013-03-28

This is a Qt version of U1Db. It will be used as a plugin for QML applications.

Blueprint information

Status:
Started
Approver:
Zoltan Balogh
Priority:
Undefined
Drafter:
U1DB Qt developers
Direction:
Needs approval
Assignee:
U1DB Qt developers
Definition:
Approved
Series goal:
Proposed for raring
Implementation:
Started
Milestone target:
None
Started by
Kevin Wright on 2013-03-28

Related branches

Sprints

(?)

Work Items

Work items for ubuntu-13.04-month-5:
[kalikiana] verify docId via regex (precaution to allow server-side URLs passing id’s safely)’: DONE
[kalikiana] U1DB Database implement QAbstractItemModel (work like XmlListModel): DONE
[kevin-wright-1] Store dbschema.sql in qrc’: DONE
[kalikiana] First of QML API unit tests covering Database + Document: DONE
[kalikiana] U1DB Document expose “contents” variant/ honor ‘create’: DONE
[kalikiana] “string error” on Database (matching C++ code errors)’: DONE
[kalikiana] SQlite putting U1DB Documents in the database’: DONE
[kalikiana] Store/ get/ list U1DB Documents’: DONE
[kalikiana] Store U1DB Index: (a) lookup if an Index exists b) create/ update new Index)’: DONE
[kalikiana] Expose U1DB Document to QML [“content”:[notetext:””]]→myDoc.content.notetext’: DONE
[kevin-wright-1] Build all-in-one cheat sheet document (minimal API reference, example code, tutorial, basic overview/best practices): DONE
[kevin-wright-1] Create a basic example (i.e. Hello World)’: DONE
[kevin-wright-1] Create a basic example to demonstrate simple use with ListViews and delegates’: DONE
[kevin-wright-1] Create an intermediate example to demonstrate a more real world use case (document browsing in the database)’: DONE
[kevin-wright-1] Create placeholder files for supplementary docs and overviews: DONE
[kalikiana] provide a HACKING file documenting build process and testing’: DONE
[kalikiana] Setup Jenkins job for ubuntu-touch-coreapps-drivers: DONE
[uonedb-qt] March review(s) of API to ensure it aligns with API Design Guidelines (e.g. "Six Characteristics of Good APIs"): DONE
[uonedb-qt] Pre-Alpha release to Core App teams: DONE
[kalikiana] First of QML API unit tests covering Index + Query: INPROGRESS
[kevin-wright-1] Add initial Index capability to existing data retrieval process (i.e. filtering data by fields and sub-fields inside the Query class): DONE
[kalikiana] Query implement QAbstractItemModel (work like XmlListModel): INPROGRESS
[kevin-wright-1] Create full tutorial based on intermediate use of Database + Document: INPROGRESS
[kevin-wright-1] Document basic U1Db-Qt concepts (i.e. Database + Document): DONE
[kevin-wright-1] Create basic example that demonstrates Index: DONE
[uonedb-qt] Create intermediate example that demonstrates Index (possibly together with Query): DONE
[uonedb-qt] Create advanced example that demonstrates Index (possibly together with Query) using a real world use case (or close approximation of one): DONE
[kalikiana] Remove U1DB Documents (bool includeDeleted): INPROGRESS
[kalikiana] Support upstream U1DB unit tests (i.e. original Python suite): INPROGRESS
[kevin-wright-1] Configure documentation build for html documentation: DONE
[kevin-wright-1] Configure documentation build for QtCreator help file: INPROGRESS
[uonedb-qt] Add more code commenting: INPROGRESS

Work items for ubuntu-13.04-month-6:
[kalikiana] Proper modification of U1DB Documents (the U1DB concept of 'document', not documentation) in database: TODO
[kevin-wright-1] Add initial Query capability to the existing data retrieval process: DONE
[kevin-wright-1] Create basic example that demonstrates Query: TODO
[kevin-wright-1] Create intermediate example that demonstrates Query (possibly together with Index): DONE
[uonedb-qt] Create advanced example that demonstrates Query (possibly together with Index) using a real world use case (or close approximation of one): TODO
[uonedb-qt] Start implementing basic remote sync capabilities: TODO
[uonedb-qt] Create basic example that demonstrates sync features: TODO
[kevin-wright-1] Document intermediate U1Db-Qt concepts (i.e. Index + Query + Database): DONE
[kevin-wright-1] Update all-in-one cheat sheet document to reflect Index (minimal API reference, example code, tutorial, basic overview/best practices): TODO
[kevin-wright-1] Update all-in-one cheat sheet document to reflect Query (minimal API reference, example code, tutorial, basic overview/best practices): TODO
[kevin-wright-1] Update all-in-one cheat sheet document to reflect sync functionality: TODO
[uonedb-qt] April review(s) of API to ensure it aligns with API Design Guidelines (e.g. "Six Characteristics of Good APIs"): TODO

Work items for ubuntu-13.05:
[uonedb-qt] Finalize full API reference documentation: TODO
[uonedb-qt] Create intermediate example that demonstrates sync features: TODO
[uonedb-qt] Create advanced example that demonstrates sync features using a real world use case (or close approximation of one): TODO
[uonedb-qt] Remove indexes: TODO
[uonedb-qt] Document revision handling (vector clock, must match python implementation): TODO
[uonedb-qt] “conflicts” property onConflictsChanged on Database: TODO
[uonedb-qt] Security for sync functionality (needs a plan): TODO
[uonedb-qt] Implement method to place database(s) in a default location (e.g. app specific locations): TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.