Archive for December, 2009
Reference dataset: easy to export, easy to import
Managing Reference Dataset is a new functionality based on Modularity Project. Its goal is to be able to provide some module information, apart from the development, so the user gets the module fully installed when applies the module.
But as many other developed functionalities, Reference Dataset can be also used in many ways. For example:
- - If you are preparing your final environment and few users introduce valuable information on your testing environment, using Reference Dataset is very easy to move master data from one environment to other one.
- - I guess it could also be useful for off line synchronizations between disconnected OpenbravoERP instances or between two any applications. For example, having PDAs as routers.
What ever is your situation:
- - Create a module, and check “Has reference” check box to “Y”.
- - Set up a reference data, type Organization. Define tables and columns you want to include or exclude.
- - Export reference data, it will create a XML file.
- - Export the database.
- - Export the module.
- - Import the module on your destination environment.
- - Go to Enterprise module management (General Setup-Enterprise) and import reference data.
Of course, some improvements can be achieved to simplify this process. For example allow exporting and importing XML files without having to manage modules. It is already registered as feature request.
There is also some more documentation available.
Do you have any other situation where reference data is useful?
Preferences and callouts
The Openbravo platform’s flexibility is based on many capabilities: modularity, application dictionary, auxiliary inputs, preferences, callouts, validations, etc.
Using them separately is easy and not complex, but when using more than one together requires a execution sequence knowledge in order to achieve your development design.
A couple of days ago, developing a new module I included an auxiliary input, some preferences, more than a callout and many validations on the same WAD generated window. Furthermore, all where related to just one database column.
I mean, there was a column including a validation based on a auxiliary input with a callout. And the field on top of this column was affected by a preference.
How do all these functionalities work together? What is the execution sequence?
- - Auxiliary input is included on html generation time.
- - Validation is done on execution time, when loading data for drop down list (based on a global variable o auxiliar input).
- - Preferences are loaded, so a change is performed on this field.
- - Callout is executed based on the preference value change.
As callouts might be tricky if are not properly developed, it is important to know when they are executed and when not. It took me a while to realize there was a preference interfering with my callout.
Take it into account!