View source | View content page | Page history | Printable version   




One important part of the Openbravo ERP sources is the database. Common areas here include database structures (tables, views, functions, triggers, and sequences), and database data. Up until now we provided these sources as a database dump, one for each database engine supported: Oracle and PostgreSql. Now these sources are an organized collection of XML files with a syntax that is independent of the database server making them very easy to browse and inspect. This is a great enhancement that offers a long list of benefits for the community of users and developers.

To manage this new representation of the database, there is the tool DBSourceManager that is based on Apache DdlUtils that facilitates the manipulation of the database source files. And this tool contains a collection of ant tasks to access its functionality.

This project will facilitate the creation and update processes of the Openbravo database, and the export process of the changes made to the database.


Project Plan

Currently, there are three main objectives in this project: first, we want to stabilize the code. This means that we want to make sure that all the operations are permitted in all the Openbravo-compatible platforms (and specifically, this means that DBSourceManager should be able to export a PostgreSQL database to source files, something that currently is not possible), and that code should be standard and completely platform-agnostic, and should not be changed by DBSourceManager if possible.

Secondly, we want to make it easier and more efficient for developers to use the tool. This mainly means we aim to improve performance, and to give more and better information of the execution process.

Thirdly, we want to correct and improve several details, and "clean" the implementation a little bit.

This three objectives are divided in the following tasks.

Project tasks

Project schedule

This is the planned schedule for the project.

Task name Start Date Design finished Development finished QA Testing & Fixes finished
PostgreSQL export 11-feb 14-feb 7-march
Masterdata filter 18-feb 18-feb 19-feb
Oracle procedures 10-march 11-march 11-march
CDATA in default 12-march 13-march 14-march
onCreatedDefault attribute 17-march 18-march 19-march
Security mechanism 25-march 27-march 28-march
INSERT/UPDATE 31-march 31-march 1-april
Failing SQL statement 1-april 1-april 1-april
Hide messages 2-april 2-april 2-april
src-db folder moved 2-april 2-april 2-april
Unneeded targets deleted 3-april 3-april 3-april

Releases Plan

We plan to release two versions of DBSourceManager in the next month. There will be a first release when we finish the "CDATA in default" task. This release should produce standard xml code that should not be changed in the future, and we will start to use it in the Openbravo trunk as soon as it is available. A second release will be launched once we complete the rest of the tasks.

Automated Testing Task

Once we launch the first release, we will start to use an specific automated testing task. This task will test that code produced by DBSourceManager is stable, and doesn't change if the database hasn't changed. It will also check that the database produced by the same sources is the same.

Retrieved from ""

This page has been accessed 12,242 times. This page was last modified on 8 June 2012, at 05:27. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.