Projects:Initial Client Setup Refactor/Technical Specifications
New classes to be implemented
In order to implement this project several Java classes will be created in the org.openbravo.erpCommon.businessUtility package:
- org.openbravo.erpCommon.businessUtility.InitialClientSetup: this class will implement the public method createClient which will perform all required actions to create a new client.
- org.openbravo.erpCommon.businessUtility.InitialSetupUtility: this class will replace current InitialClientSetup_data.xsql, and will implement all necessary methods to perform all database related actions required by Initial Client Setup process
- org.openbravo.erpCommon.businessUtility.COAUtility: this class will implement the public method createAccounting, that will create an accounting schema, import chart of accounts, and all other necessary actions related to check "Create Accounting" in initial client setup window
- org.openbravo.erpCommon.businessUtility.COAData: this class, similar to existing AccountValueData one, will be used by COAUtility one.
Existing classes to be modified
- src.org.openbravo.erpCommon.ad_forms.InitialClientSetup: current servlet which process method will just call org.openbravo.erpCommon.businessUtility.InitialClientSetup.createClient
Initial Client Setup servlet will contain a Password field, where user will have to provide desired password for the user to be created for the new client.
Reference data changes
A new dataset will be created for core. This dataset will contain all the necessary data for the new client. For now, just document types (and all staff around such us sequences, or templates) will be included. Afterwards more data can be included in the dataset if needed.
This way, in the initial client setup window will appear core as a module to be applied to the new client. Also extension modules could provide alternative or complementary datasets to be applied to the new client (for example with new document types, of different templates for the ones provided by core).