If you can't read please download the document
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