Developing With Openbravo Rl Eppt

download Developing With Openbravo Rl Eppt

If you can't read please download the document

Transcript of Developing With Openbravo Rl Eppt

Openbravo Get Together
Technology Day
Developing with OpenbravoBarcelona, April 2008Speaker: Rok Lenardic

Page *PR-OB Get Together Barcelona - April 2008

AgendaDevelopment Challenges and Openbravo Development EnvironmentTools UsedDevelopment ProcessMigrations/UpgradesContributions

Page *PR-OB Get Together Barcelona - April 2008

ArchitectureOpenbravo Get Together Developing with OpenbravoThe MDD (Model Driven Development) leads to:SEPARATE DESIGN from ARCHITECTURE/PLATFORMA higher quality of code (drastic REDUCTION OF MANUAL CODE)A higher PRODUCTIVITY and efficiency

The MVC Model (Model, View, Control) allows for:The DE-COUPLING of development areasSustainable APPLICATION GROWTHAn EASIER MAINTENANCE of the code

Development EnvironmentMain Advantages

Page *PR-OB Get Together Barcelona - April 2008

Quick FactsOpenbravo Get Together Developing with Openbravo44M./database452K./src-db21M./lib112K./legal3.7M./src-trl4.9M./src-wad19M./src16K./WebContent44M./config17M./web4.3M./src-core24K./.settings156M.

almost 7000 files64 developers (trunk contributors) to dateJavaXML/HTMLPL/SQLJavascriptOracle/PostgresTomcat520 database tables

Page *PR-OB Get Together Barcelona - April 2008

Development ChallengesOpenbravo Get Together Developing with OpenbravoODECOMPLEXITY of THE PROJECTDISTRIBUTED DEVELOPMENTMDA CONCEPTSVNEnable large number of developers that are geographically distributed to cooperateProvide a central repository for distribution of our softwareProvides easy MERGE/DIFF capabilities

DDLUTILSReplaces binary dumps with xml text filesThis way, tracking and merge of metadata and database model development is possible

ECLIPSE + ANTFile/class browserCode completionWarnings and errors before compilationComplex project buildFast deployment and debugging

Page *PR-OB Get Together Barcelona - April 2008

Openbravo Development EnvironmentOpenbravo Get Together Developing with OpenbravoODE is a framework of:Tools (Eclipse, SVN, etc)Methodologies (source control, development cycle, etc.)Processes (sequences)We use it to make the following tasks more efficientEditing/navigating/controlling source codeDebuggingTestingDeployingODE supports Oracle and PostgreSQL based development environments.Supports the development of various elements (Openbravo ERP core contributions, modules and custom code)

http://wiki.openbravo.com/wiki/Openbravo_Development_Environment_ODE

Page *PR-OB Get Together Barcelona - April 2008

Development ChallengesOpenbravo Get Together Developing with OpenbravoODECOMPLEXITY of THE PROJECTDISTRIBUTED DEVELOPMENTMDA CONCEPTSVNEnable large number of developers that are geographically distributed to cooperateProvide a central repository for distribution of our softwareProvides easy MERGE/DIFF capabilities

DDLUTILSReplaces binary dumps with xml text filesThis way, tracking and merge of metadata and database model development is possible

ECLIPSE + ANTFile/class browserCode completionWarnings and errors before compilationComplex project buildFast deployment and debugging

Page *PR-OB Get Together Barcelona - April 2008

Development ChallengesOpenbravo Get Together Developing with OpenbravoODECOMPLEXITY of THE PROJECTDISTRIBUTED DEVELOPMENTMDA CONCEPTSVNEnable large number of developers that are geographically distributed to cooperateProvide a central repository for distribution of our softwareProvides easy MERGE/DIFF capabilities

DDLUTILSReplaces binary dumps with xml text filesThis way, tracking and merge of metadata and database model development is possible

ECLIPSE + ANTFile/class browserCode completionWarnings and errors before compilationComplex project buildFast deployment and debugging

Page *PR-OB Get Together Barcelona - April 2008

Development ChallengesOpenbravo Get Together Developing with OpenbravoODECOMPLEXITY of THE PROJECTDISTRIBUTED DEVELOPMENTMDA CONCEPTSVNEnable large number of developers that are geographically distributed to cooperateProvide a central repository for distribution of our software

DDLUTILSReplaces binary dumps with xml text filesThis way, tracking and merge of metadata and database model development is possible

ECLIPSE + ANTFile/class browserCode completionWarnings and errors before compilationComplex project buildFast deployment and debugging

Page *PR-OB Get Together Barcelona - April 2008

Development Environment ID SolutionOpenbravo Get Together Developing with OpenbravoISSUE: Several People Changing the Metadata Inside the Application DictionaryAdding a new windowAdding/removing a fieldetc.SOLUTION: Developer Environment ID prefixEvery contributor (RW access to the trunk) gets an ID (AD_DEVELOPER.xml)Issued by Openbravo10000-99999 range for core contributions100-999 for custom projects

Page *PR-OB Get Together Barcelona - April 2008

AgendaDevelopment Challenges and Openbravo Development EnvironmentTools UsedDevelopment ProcessMigrations/UpgradesContributions

Page *PR-OB Get Together Barcelona - April 2008

Tools Used Eclipse Europa for Java EEOpenbravo Get Together Developing with Openbravohttp://wiki.openbravo.com/wiki/Installation_and_setup_of_Eclipse_IDE

Page *PR-OB Get Together Barcelona - April 2008

Tools Used Eclipse + SubversiveOpenbravo Get Together Developing with Openbravo

Page *PR-OB Get Together Barcelona - April 2008

Tools Used DdlUtilsOpenbravo Get Together Developing with Openbravohttps://dev.openbravo.com/websvn/dbsourcemanagerhttp://wiki.openbravo.com/wiki/Database_sources_managementcompare.database.structurecreate.databasecreate.database.scriptcreate.database.structuredatabase.libexport.databaseexport.database.dataexport.database.masterdataexport.database.sampledataexport.database.structureimport.database.dataimport.database.masterdataimport.database.sampledatasave.database.modelupdate.databaseupdate.database.scriptupdate.database.structure

Page *PR-OB Get Together Barcelona - April 2008

Other ToolsOpenbravo Get Together Developing with Openbravo

Firebug Addon for Firefox: Debug Javascript, HTML, CSS,...

SqlDeveloper by Oracle: Browse the Database and Debug PL

iReports for Jasper Reports: WYSIWYG editor of reports that Openbravo uses

Page *PR-OB Get Together Barcelona - April 2008

AgendaDevelopment Challenges and Openbravo Development EnvironmentTools UsedDevelopment ProcessMigrations/UpgradesContributions

Page *PR-OB Get Together Barcelona - April 2008

Development ProcessOpenbravo Get Together Developing with Openbravo

Page *PR-OB Get Together Barcelona - April 2008

Development ProcessOpenbravo Get Together Developing with Openbravo

Page *PR-OB Get Together Barcelona - April 2008

Repository Structure that Aids Community InvolvementOpenbravo Get Together Developing with Openbravo

Page *PR-OB Get Together Barcelona - April 2008

AgendaDevelopment Challenges and Openbravo Development EnvironmentTools UsedDevelopment ProcessMigrations/UpgradesContributions

Page *PR-OB Get Together Barcelona - April 2008

Migration to the new Environment/VersionOpenbravo Get Together Developing with Openbravo

Page *PR-OB Get Together Barcelona - April 2008

AgendaDevelopment Challenges and Openbravo Development EnvironmentTools UsedDevelopment ProcessMigrations/UpgradesContributions

Page *PR-OB Get Together Barcelona - April 2008

Development ContributionsOpenbravo Get Together Developing with OpenbravoSeveral Ways of Contributing to the Projectimprove/write documentation (Wiki)write a blog (see planet.openbravo.com)report bugs (sourceforge)Localization (https://dev.openbravo.com/websvn/localization)ideas and feature requests (sourceforge)Core fixes (patches) - sourceforge becoming OB developer (developer ID) commit privileges to dev.openbravo.com

Page *PR-OB Get Together Barcelona - April 2008

Thank you!Openbravo Get Together