SDK: U1Db Qt Version
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
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Original Proposed Specification
https:/
Weekly Review Document
Planning Document (needs updating)
Work Items
Work items for ubuntu-
[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”
[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-
[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-
[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.