Developing With Openbravo Rl Eppt

  • Upload
    vobree

  • View
    1.305

  • Download
    1

Embed Size (px)

Citation preview

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