developingwithopenbravorleppt-1209139450549546-9

Embed Size (px)

Citation preview

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    1/24

    Openbravo Get TogetherTechnology DayDeveloping with Openbravo

    Barcelona, April 2008Speaker: Rok Lenardic

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    2/24

    Page 2PR-OB Get Together Barcelona - April 2008

    Development Challenges and Openbravo Development Environment

    Tools Used

    Development Process

    Migrations/Upgrades

    Contributions

    Agenda

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    3/24

    Page 3PR-OB Get Together Barcelona - April 2008

    ArchitectureOpenbravo Get Together Developing with Openbravo

    The MDD (Model DrivenDevelopment) leads to:

    SEPARATE DESIGN fromARCHITECTURE/PLATFORM

    A higher quality of code (drasticREDUCTION OF MANUAL CODE)

    A higherPRODUCTIVITY andefficiency

    The MVC Model (Model, View,Control) allows for:

    The DE-COUPLING of developmentareas

    Sustainable APPLICATION GROWTH

    An EASIER MAINTENANCE of thecode

    Development Environment Main Advantages

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    4/24

    Page 4PR-OB Get Together Barcelona - April 2008

    Quick FactsOpenbravo Get Together Developing with Openbravo

    44M ./database

    452K ./src-db21M ./lib

    112K ./legal

    3.7M ./src-trl

    4.9M ./src-wad

    19M ./src

    16K ./WebContent

    44M ./config

    17M ./web

    4.3M ./src-core

    24K ./.settings

    156M .

    almost 7000 files

    64 developers (trunk

    contributors) to date

    Java

    XML/HTMLPL/SQL

    Javascript

    Oracle/Postgres

    Tomcat

    520 database tables

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    5/24Page 5PR-OB Get Together Barcelona - April 2008

    Development ChallengesOpenbravo Get Together Developing with Openbravo

    ODE

    COMPLEXITY of THEPROJECT DISTRIBUTEDDEVELOPMENT

    MDA CONCEPT

    SVN

    Enable large number of developersthat are geographically distributed tocooperate

    Provide a central repository fordistribution of our software

    Provides easy MERGE/DIFFcapabilities

    DDLUTILS

    Replaces binary dumps with xml text f iles

    This way, tracking and merge of metadata anddatabase model development is possible

    ECLIPSE + ANT

    File/class browser

    Code completion

    Warnings and errors before compilation

    Complex project build

    Fast deployment and debugging

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    6/24

    Page 6PR-OB Get Together Barcelona - April 2008

    Openbravo Development EnvironmentOpenbravo Get Together Developing with Openbravo

    ODE 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 efficient

    Editing/navigating/controlling source code

    Debugging

    Testing Deploying

    ODE 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

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    7/24

    Page 7PR-OB Get Together Barcelona - April 2008

    Development ChallengesOpenbravo Get Together Developing with Openbravo

    ODE

    COMPLEXITY of THEPROJECT DISTRIBUTEDDEVELOPMENT

    MDA CONCEPT

    SVN

    Enable large number of developersthat are geographically distributed tocooperate

    Provide a central repository fordistribution of our software

    Provides easy MERGE/DIFFcapabilities

    DDLUTILS

    Replaces binary dumps with xml text f iles

    This way, tracking and merge of metadata anddatabase model development is possible

    ECLIPSE + ANT

    File/class browser

    Code completion

    Warnings and errors before compilation

    Complex project build

    Fast deployment and debugging

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    8/24

    Page 8PR-OB Get Together Barcelona - April 2008

    Development ChallengesOpenbravo Get Together Developing with Openbravo

    ODE

    COMPLEXITY of THEPROJECT

    DISTRIBUTEDDEVELOPMENT

    MDA CONCEPT

    SVN

    Enable large number of developersthat are geographically distributed tocooperate

    Provide a central repository fordistribution of our software

    Provides easy MERGE/DIFFcapabilities

    DDLUTILS

    Replaces binary dumps with xml text f iles

    This way, tracking and merge of metadata anddatabase model development is possible

    ECLIPSE + ANT

    File/class browser

    Code completion

    Warnings and errors before compilation

    Complex project build

    Fast deployment and debugging

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    9/24

    Page 9PR-OB Get Together Barcelona - April 2008

    Development ChallengesOpenbravo Get Together Developing with Openbravo

    ODE

    COMPLEXITY of THEPROJECT

    DISTRIBUTEDDEVELOPMENT

    MDA CONCEPT

    SVN

    Enable large number of developers that aregeographically distributed to cooperate

    Provide a central repository for distributionof our software

    DDLUTILS

    Replaces binary dumps with xml text f iles

    This way, tracking and merge of metadata anddatabase model development is possible

    ECLIPSE + ANT

    File/class browser

    Code completion

    Warnings and errors before compilation

    Complex project build

    Fast deployment and debugging

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    10/24

    Page 10PR-OB Get Together Barcelona - April 2008

    Development Environment ID SolutionOpenbravo Get Together Developing with Openbravo

    ISSUE: Several People Changing the Metadata Inside the ApplicationDictionary

    Adding a new window

    Adding/removing a field

    etc.

    SOLUTION: Developer Environment ID prefix

    Every contributor (RW access to the trunk) gets an ID(AD_DEVELOPER.xml) Issued by Openbravo

    10000-99999 range for core contributions

    100-999 for custom projects

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    11/24

    Page 11PR-OB Get Together Barcelona - April 2008

    Development Challenges and Openbravo Development Environment

    Tools Used

    Development Process

    Migrations/Upgrades

    Contributions

    Agenda

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    12/24

    Page 12PR-OB Get Together Barcelona - April 2008

    Tools Used Eclipse Europa for Java EEOpenbravo Get Together Developing with Openbravo

    http://wiki.openbravo.com/wiki/Installation_and_setup_of_Eclipse_IDE

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    13/24

    Page 13PR-OB Get Together Barcelona - April 2008

    Tools Used Eclipse + SubversiveOpenbravo Get Together Developing with Openbravo

    O b G t T th D l i ith O b

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    14/24

    Page 14PR-OB Get Together Barcelona - April 2008

    Tools Used DdlUtilsOpenbravo Get Together Developing with Openbravo

    https://dev.openbravo.com/websvn/dbsourcemanagerhttp://wiki.openbravo.com/wiki/Database_sources_management

    compare.database.structure

    create.database

    create.database.script

    create.database.structure

    database.lib

    export.database

    export.database.data

    export.database.masterdata

    export.database.sampledata

    export.database.structure

    import.database.data

    import.database.masterdata

    import.database.sampledata

    save.database.model

    update.database

    update.database.script

    update.database.structure

    O b G t T th D l i ith O b

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    15/24

    Page 15PR-OB Get Together Barcelona - April 2008

    Other ToolsOpenbravo Get Together Developing with Openbravo

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

    SqlDeveloperby Oracle: Browse the Database and Debug PL

    iReports for Jasper Reports: WYSIWYG editor of reports that Openbravouses

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    16/24

    Page 16PR-OB Get Together Barcelona - April 2008

    Development Challenges and Openbravo Development Environment

    Tools Used

    Development Process

    Migrations/Upgrades

    Contributions

    Agenda

    Openbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    17/24

    Page 17PR-OB Get Together Barcelona - April 2008

    Development ProcessOpenbravo Get Together Developing with Openbravo

    Openbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    18/24

    Page 18PR-OB Get Together Barcelona - April 2008

    Development ProcessOpenbravo Get Together Developing with Openbravo

    Openbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    19/24

    Page 19PR-OB Get Together Barcelona - April 2008

    Repository Structure that Aids Community InvolvementOpenbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    20/24

    Page 20PR-OB Get Together Barcelona - April 2008

    Development Challenges and Openbravo Development Environment

    Tools Used

    Development Process

    Migrations/Upgrades

    Contributions

    Agenda

    Openbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    21/24

    Page 21PR-OB Get Together Barcelona - April 2008

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

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    22/24

    Page 22PR-OB Get Together Barcelona - April 2008

    Development Challenges and Openbravo Development Environment

    Tools Used

    Development Process

    Migrations/Upgrades

    Contributions

    Agenda

    Openbravo Get Together Developing with Openbravo

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    23/24

    Page 23PR-OB Get Together Barcelona - April 2008

    Development ContributionsOpenbravo Get Together Developing with Openbravo

    Several Ways of Contributing to the Project improve/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 todev.openbravo.com

  • 7/30/2019 developingwithopenbravorleppt-1209139450549546-9

    24/24

    Page 24PR-OB Get Together Barcelona - April 2008

    Thank you!

    Openbravo Get Together