Date post: | 17-Jan-2016 |
Category: |
Documents |
Upload: | francine-marshall |
View: | 213 times |
Download: | 0 times |
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