Wizard to add new Fields Module Extension Module Webinar 21 st of January 2009.
-
Upload
francine-marshall -
Category
Documents
-
view
212 -
download
0
Transcript of Wizard to add new Fields Module Extension Module Webinar 21 st of January 2009.
Wizard to add new Fields Module
Extension Module Webinar
21st of January 2009
Page 2Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Agenda
Functionality and Demo 15 min.
Process and Tools 5 min.
Development Technique 10 min.
Q & A 30 min.
Page 3Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Agenda
Functionality and Demo
Process and Tools
Development Technique
Q & A
Page 4Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Goal: Make it easy for non-developers to extend Openbravo Model
Wizard to add new Fields: Functional Highlights
Functional Concepts:
Simplified Openbravo Model
Use Module Manager Console (MMC) for System Rebuild
Solution Approach:
Deliver as a Commercial Module
Leverage on MDD for simplified development
Integrate existing capabilities (DBSourceManager, MMC)
Page 5Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
DEMO
Wizard to add new Fields: Functional Highlights
Page 6Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Agenda
Functionality and Demo
Process and Tools
Development Technique
Q & A
Page 7Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
History of the module
Deliver as a commercial Module
Why it is commercial?
Focused on QuickStart instances
Free for Professional Edition instances
Lesson learnt: small effort and high value
Next steps planned: graphical IDE to edit Openbravo Model
Page 8Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Functionality and Demo
Process and Tools
Development Technique
Q & A
Agenda
Page 9Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to addnew Fields
Development Approach: Technical Design
User Interface
SimplifiedModel
DBSourceManager
MMC
Page 10Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to addnew Fields
Development Approach: Technical Design
User Interface
SimplifiedModel
- Simplified info to run the process- Persisted so it can be rerun
MMC
DBSourceManager
Page 11Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to addnew Fields
Development Approach: Technical Design
User Interface
SimplifiedModel
- Simplified info to run the process- Persisted so it can be rerun
- Window, Tab&Field- Display Logic- Validations- Rich&efficient
MMC
DBSourceManager
Page 12Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to addnew Fields
Development Approach: Technical Design
User Interface
SimplifiedModel
- Read from Simplified Model- Update database- Export xml files
MMC
DBSourceManager
- Simplified info to run the process- Persisted so it can be rerun
- Window, Tab&Field- Display Logic- Validations- Rich&efficient
Page 13Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to addnew Fields
Development Approach: Technical Design
User Interface
SimplifiedModel
MMC
DBSourceManager
- Read from Simplified Model- Update database- Export xml files
- Simplified info to run the process- Persisted so it can be rerun
- Window, Tab&Field- Display Logic- Validations- Rich&efficient
- System rebuild- Server restart
Page 14Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Development Approach: code snippets, display logic
Page 15Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
private String createResultForNames(HttpServletResponse response, VariablesSecureApp vars, String colName) {
String windowtabId = vars.getStringParameter("inpnewfWindowtabId"); NEWF_Windowtab windowTab = OBDal.getInstance().get(NEWF_Windowtab.class, windowtabId); String dbprefix = windowTab.getModule().getModuleDBPrefixList().get(0).getName().toString();
colName = colName.replace(" ", ""); StringBuffer result = new StringBuffer();
String dbcolumn_name = colName; String full_prefix = ""; if (windowTab.isExistingTab()) { full_prefix = "EM_" + dbprefix; } else { full_prefix = dbprefix; } if (!dbcolumn_name.toLowerCase().startsWith(full_prefix.toLowerCase() + "_")) { dbcolumn_name = full_prefix + "_" + dbcolumn_name; } if (dbcolumn_name.length() > 30) { dbcolumn_name = dbcolumn_name.substring(0, 29); }
result.append("new Array(\"inpdbColumnName\", \"" + dbcolumn_name + "\")"); result.append(",new Array(\"inpcolumnName\", \"" + dbcolumn_name + "\")"); return result.toString(); }
Development Approach: code snippets, callouts
Page 16Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Functionality and Demo
Wrap-Up
Process and Tools
Development Technique
Page 17Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia
Wizard to add new Fields
Q & Ahttp://forge.openbravo.com
http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide
Next webinar:Initial Data Load
February 4th, 2010 at 4-5 PM (CET)
Page 18Wizard to add new Fields -Extension Module Webinar-Openbravo, Ismael Ciordia