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

Projects:Module Life Cycle Management/Functional Documentation

Bulbgraph.png   User documentation can be found here



In the life cycle of a module version it is usual to go through different maturity statuses. For example the version can be published in a Testing status which is intended to be installed in QA instances, after some QA it can be promoted to Controlled Release to be installed in early adopters instances and after a period of time working on these instances the version would be set as Production status.


The purpose of this project is to define and implement maturity statuses for module versions.

An initial maturity status is set by the module owner when he publishes the module version, and can be changed afterwards by him.

Openbravo ERP instances define which is the minimum maturity status of the modules to be installed.


Design Considerations




As the list of possible maturity statuses is maintained in Central Repository and requested by Openbravo ERP each time it is needed, the values of this list will not be translatable in Openbravo ERP.


Functional Requirements

User roles & profiles

There are two roles affected by this project:

Business process definition

User stories

Peter is the owner of the Neverland Localization Pack module. After he finishes developing the first version of this module (version 0.1.0), he publishes it with Test maturity status.

Wendy is very interested in this localization, so she wants to install it in a testing Openbravo ERP instance as soon as it is available (even it is not already Production ready) to check everything works as expected. She configures this instance to be able to install modules with Test status, she searches modules in the Module Management Console and finds that Peter has published version 0.1.0 as Test, she installs it and after some tests she finds out a critical issue in the module, she reports it and Peter decides to cancel the version.

Alice, as Wendy is also interested in this module so she sets her instance to allow Test modules, but now when she searches for new modules she doesn't find this one because the only version available is canceled. Meanwhile Peter fixes the issue and publishes a new 0.1.1 version as Test.

Now Alice and Wendy can install this new version.

James is also interested in this localization, but he does not wish to do testing on it, he only wants to install production ready modules in his instance, so he doesn't configure it to accept non-production modules. When he searches for modules, he doesn't find this 0.1.1 version.

After some testing, Alice finds some other issues in the module that are reported and fixed by Peter. He publishes a new Test version 0.1.2 which solves the issues and Alice and Wendy update the module to this latest version.

Finally Alice and Wendy do not find any further problem, so they communicates Peter they are happy with the module. Peter, then decides to set his module's maturity as Production.

Now when James searches for modules, he finds this localization pack and he can install it.

Functional requirements based on business processes

There are 2 sides which require to implement Life Cycle Management: Central Repository and Openbravo ERP.

Openbravo ERP

Central Repository

User Interface Mockups

Openbravo ERP

Settings tab in Module Manager Console window, where it is possible to define the minimum global accepted status for search and updates as well as the per module specific status.

MaturityLevel 0002 Settings.png

Search tab in Module Manager Console window. Here modules in a status different than Production are shown to the user.

MaturityLevel 0001 Add.png

Install popup. When installing or updating a module with a status different than Production this is prompted to the user.

MaturityLevel 0003 Pop.png

Central Repository

Publishing a module version. The initial maturity status appears as a drop down list.

Module Tab 004.png

Version Status. The maturity status can be promoted or the version can be canceled.

Module Tab - Mozilla Firefox 006.png

Technical Requirements

A new field for maturity status is needed in the Modules Central Repository returns to scan and search modules. This will require to create a new version of the WebService in Central Repository.

Non-Functional Requirements

Open Discussion Items

Closed Discussion Items


Executed tests

Code review

Central Repository


jUnit test cases for Central Repository can be found at [ ]


Check both in ie and ff.

Openbravo ERP

Project Branch
New Settings Tab UI

Check both in ie and ff.




Scan for updates



Pending tests


Project status

Project has been merged back to pi and will be released within 2.50MP20.

Retrieved from ""

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