Purpose of the module
One of the most common development activities in Openbravo is to create a new tab which allows the user to add, modify and delete new information into the database, or to add additional fields to existing tabs. Following Openbravo's Model Driven Development, these processes require the user to create Application Dictionary components for each tab and field he wants to add. The creation of these objects can sometimes be difficult, as lots of properties need to be specified, and some concepts that need to be taken into account, such as Modularity Naming Rules, can be complicated to some non-advanced users.
Moreover, these processes also require the user to add database physical objects (tables and columns) which correspond to the added tabs and fields. These objects are normally created directly through the Database Management System, and not through Openbravo, and this involves an additional step that can also be very difficult to non-advanced users.
The main purpose of this module is to centrallize all the information which is needed for these two common processes, and to greatly simplify the whole process. This module will therefore allow the user to:
- Create a customization module which will contain all the created objects
- Choose an existing tab in the application, or specify the information needed to create a new one
- Specify the information needed to create a new field from scratch, or choose one from a list of predefined Field Templates (which will be the most common cases of newly user created fields).
And after that, it will:
- Create all the necessary objects in the database (both application dictionary objects and database physical objects) automatically, through a process that is triggered by a single user click.
- Allow the user to initiate the rebuild of the system, which will complete the process (this is necessary to compile the newly created and the modified windows again)
This module creates Application Dictionary and database physical objects. As you know, the correct way to create these objects is to use a module which will contain them. Therefore, the main requirement to use this module is to have your own customization module.
You can choose to create the module manually through the application, or you can use the built-in tool to do so. If you want to use the built-in tool, you just have to select the "Create standard module" checkbox that appears just beside the Module menu, in the Easy Extensible Attributes window.
Creating the module manually has the advantage that you can choose your own name, javapackage, dbprefix, ... However, if you do it this way you must make sure that you create the module correctly. This means that you must make sure that:
- The module has a defined database prefix.
- The module has a defined datapackage.
- The module has the "Translation required" setting set as "yes".
- The module is set as "In Development"
Specially for new users, it's recommended to use the built-in tool to create the module.