DB layer 2.0 implementation plan

Jump to: navigation, search

Moodle 2.0

This page contains information related to the process of development of the new xmldb/ddl/dml stuff coming with Moodle 2.0. It describes how the process has been split into some well identified milestones, and includes the summary of all the meetings and discussions about the new Moodle 2.0 DB layer.

For a complete list of tasks related with this development you can go to MDL-14679 (everything is there). Also, don't forget to visit the problems page if you are curious about the main stoppers we have found in the project.

Last, and not less important, the due date for all this stuff is June 24th 2008. Just in time to continue with all the rest of amazing features coming with next Moodle 2.0 release.


M1: initial commit (due date: May 15th) - HEAD

1. API should be stable, tested during conversion of several parts or moodle
2. $db-> references are gone
3. direct adodb function calls should be all gone (except auth and enrol)
4. some functions from dmllib are deprecated/removed
5. old ddllib function are not used at all now
6. XMLDB editor should fully work now
7. BC compatible 100%

M2: 4 DBs passing all tests (due date: May 27th) - HEAD

1. mssql and ora related work
2. use of adodb in enrol and auth plugins
3. functional unit tests (own-db and multi-db)
4. logging/profiling/exceptions
5. xmldb public API refactoring
6. install
7. BC compatible 100%
8. In general everything titled as "M2" in the Bug Tracker.

M3: core stuff, pre magic_quotes off tasks (due date: June 24th) - HEAD

1. Needs to be detailed in dmllib 2.0 migration docs.
2. Tasks between May28th and June 11th
3. API should be available in the phpdocs site
4. BC compatible 100%
5. In general everything titled as "M3" in the Bug Tracker.

M4: big hacking, post magic_quotes off tasks (due date: June 24th) - In parallel with M3 - (HEAD, BRANCH, PATCH??)

1. BREAKAGE with old code.
2. Documentation finished (Docs (examples, architecture, migration guide...), PHP Docs).
3. In general everything titled as "M4" in the Bug Tracker.

M5: Moodle tests using real & mockup dmllib (starting on May 27th...) - In parallel and after M3 and M4 - HEAD

1. Needs good documentation for developers
2. Will be huge but useful
3. Always try to be able to run tests from cli script (apart from UI) to be able to execute them daily and report status in some URL (html output).

ME1: Discuss/decide/implement/test logically nested (delegated) transactions

See these for more info:

  1. moodle.org initial discussion.
  2. MDL-20625 - Bug in the Tracker with different alternatives and agreement process.
  3. DB layer 2.0 delegated transactions article in Moodle Docs, where final implementation is detailed.