SlideShare a Scribd company logo
OpenERP v6.0
                   Technical Improvements

                                         Olivier Dony




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements   2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
OpenERP is disruptive




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements             2010.12.01 – Olivier Dony
OpenERP is disruptive

         Disruptive product                              Disruptive business

          • Modern                                       • Free download
            programming                                  • Contributions and
            language                                       Community fuel the
          • Modular approach                               product
          • Fully web-based                              • Value created is
          • Classical or cloud                             fairly split between
            deployment                                     Customer, Service
                                                           Provider, and
                                                           Publisher

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements               2010.12.01 – Olivier Dony
2010 = Cornerstone for OpenERP



        During the last 5 years, OpenERP has matured
         into a smart Enterprise Management
         software suite, with a world-wide brand, and
         a strong market demand.
        OpenERP SA now puts focus on being the
         OpenERP Publisher
        OpenERP v6 focuses on ease-of-use for these
         smaller companies!



     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements      2010.12.01 – Olivier Dony
Technical Goals for OpenERP v6.0



        Make OpenERP easier for smaller companies

        Global code review and simplification

        New features

        New development processes




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements      2010.12.01 – Olivier Dony
Easier for smaller companies

        OpenERP becomes a true suite of Business
         applications
          •   Menus and modules structure reviewed and split
          •   Smaller, specific applications
              »   account = invoicing only
              »   account_accountant = full financial management
        Simplified views (vs. extended)
        Business-oriented screens and filters




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
Business Applications




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements             2010.12.01 – Olivier Dony
Business-oriented screens




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
Code Review & Simplifications

        Improved modularity
          • e.g: procurement (follows), analytic, resource
        Global Code Review
          •   Modules rewritten: crm, hr, caldav,
          •   Performance improvements: lists, reports
          •   Lint cleanup
          •   Simpler aggregation/reporting objects
        Hundreds of tests
        Lots of source code lines removed


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
New R&D Processes

        Dedicated R&D Teams
        SCRUM methodology
        Bug qualification team
        Testing tools and test suite
        Continuous integration system: Buildbot


         More on this in Part 2...




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
New features

        New views: search, diagram, improved lists
        Improved API – core objects
        Focus on reusable and generic features
          •   custom filters
          •   mail.gateway, caldav, resources
        Multi-company built-in



              » Let's zoom in...




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Search Views

        Improves over built-in search features in v5
        Always associated with other view: list, calendar, …
        Deprecates select=1, select=2                        select = True
        New view type: <search>
        Two main building blocks:
          •   <field name='...'>
          •   <filter domain='...' context='...'>
        Structured with:
          •   <group>
          •   <separator>
          •   <newline>



     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Search Views




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Advanced Search Views

        <fields> with embedded <filters>
        Advanced attributes for <field>:
          •   context=”{'country_visible':True}”
          •   domain=”[('country_id', '=', 'Belgium')]”
          •   filter_domain=”['|', ('location_to', '=', self),
                                   ('location_src', '=', self)]”
        Default values for filters and fields, via action context:
          •   context=”{'search_default_filter1': True}”
          •   context=”{'search_default_field1': 'test'}”
          •   context=”{'search_default_field1': lang}”
        Specific search view can be forced in caller action:
          •   <field name="search_view_id"
                     ref="view_project_project_filter"/>


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements          2010.12.01 – Olivier Dony
Search views: toggle group-by

        context attribute of elements can toggle aggregation
         of associated list views
          •    <filter string="Manager"
                       name="manager"
                       icon="terp-personal"
                       context="{'group_by':'user_id'}"/>
        Multiple group-by levels are supported
          •    <filter string="Manager,State"
                       name="manager_state"
                       context="{'group_by':['user_id','state']}"/>
        Order of group-by entries matters!




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Improved Lists




        List views can now display buttons
         •    Regular <button> elements as in form views
         •    Action/Method/Workflow called on single record
        Columns can be toggled via context
         • context = {'section_mode': True}
         • <field name=”country_id”
                  invisible=”context.get('invisible_country')”>

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements               2010.12.01 – Olivier Dony
Improved Lists




        List views now support aggregation aka group-by
          •   Simple or multiple level aggregation
          •   Controlled via context: e.g. search view or caller action
                  context = {'group_by':['field_1','field_2']}
          •   All contexts are combined
          •   Aggregated columns shown on group header
              »   Numeric fields summed by default
              »   Set group_operator in _columns to customize (avg, min, … )
        New server-side API method: read_group()
     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements               2010.12.01 – Olivier Dony
Group-by = Real-time Reporting!

        Combine group_by values to get quick and intuitive
         real-time analysis
        When individual records are too low-level or
         irrelevant, hide them (e.g. stock moves) :
          •   context =      {'group_by_no_leaf': 1}




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements      2010.12.01 – Olivier Dony
Building Reporting Objects




    ...




    ...



     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements          2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Diagram Views

        Workflow Editor existed in Web Client 5.0
        Transformed into generic view, available in GTK too
        New <diagram> view type
        Constructed with
          •   <node object=”node.model”
                    shape=”...”
                    bgcolor=”...”>
          •   <arrow object=”transition.model”
                     source=”source_field”
                     destination=”dest_field” >
          •   <field> (included in quick view)
        Objects must form a coherent graph
        <node> model must have a many2one to its container

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Diagram Views




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Diagram Views

        Allows graphical definition of complex structures




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Multi-Company




        Now built-in in all applications
        multi_company module = demo data only
        in-depth review added specific internal operations:
          •   e.g. for warehouse management:
              »   inventory push/pull flows, transit locations
              »   multi-company invoice control based on push/pull flows
              »   More on this in functional training (tomorrow PM)




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Multi-company

        Many models now have a direct or indirect link to a
         company (many2one or related field)
          •   e.g: sale.order.line          sale.order    shop   company
        Relevant company is assigned when creating new
         records
        Special group is needed to view multi-company fields
          •   Useability/Multi Companies
        Users can belong to several companies, but select the
         one the current context they work in, via Preferences
        Visibility of records depends on Company they belong
         to, current Company of user, and Record Rules.


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements                 2010.12.01 – Olivier Dony
Multi-company

        Record rules have been improved since v5.0
        No more rule groups – directly linked to user groups
        Now controlled per mode: create/read/update/delete
        Strong security semantics between “global” and
         “local” (group-specific) rules
          •   Global rules cannot be bypassed under any circumstance, and
              always restrict the access
          •   Local rules are additive and grant more access

                 global1 AND global2 AND (local1 OR local2)




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Multi-company: Security




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Testing framework: YAML

        New YAML data serialization supported in v6
        Data-oriented syntax “YAML Ain't a Markup Language”
        Whitespace delimiters, Python-like
        Human-readable
         •    no quotes, brackets, braces, … by default
        Works very well for data, quite suited for tests
              receipt:         Oz-Ware Purchase Invoice
             date:         2007-08-06
             customer:     Dorothy Gale
             items:
                 - part_no:    A4786
                    descrip:   Water Bucket (Filled)
                    price:     1.47
                    quantity: 4

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
Testing framework: YAML

        Supports everything supported by XML and more
          •   Calling internal service such as workflows
          •   Arbitrary python code
        When added to the test section of the module
         descriptor, tests are rolled back by default
        New logging level test for showing test results




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
OpenERP YAML Syntax

        OpenERP supports specific custom types:
          •   !record {model: res_model, id: xml_id, context: {…} }
          •   !python {model: res_model}
          •   !workflow {model:res_model, action:signal, ref: xml_id}
        And equivalents for all XML supported elements
          •   !act_window
          •   !report
          •   !function
          •   !menuitem
          •   !assert
          •   etc.




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements          2010.12.01 – Olivier Dony
Simple YAML Example




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
Advanced YAML Example




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements         2010.12.01 – Olivier Dony
YAML: Scenario Export

        base_module_record can now output YAML as well




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
YAML: Continuous Integration

        http://test.openobject.com (buildbot) builds each of
         our hundreds of YAML tests after each commit




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements        2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Usability Guidelines

        Several Guidelines sections have been added to the
         online documentation (doc.openerp.com)
          •   Coding Guidelines
          •   YAML Guidelines
          •   Usability Book (including guidelines)
        Usability guidelines are very important for 6.0!
        Needed to maintain coherent look and feel
        Help users directly locate what they need, when they
         need it, to be efficient “Don't make me think”
        Hide the complexity!




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Usability Guidelines

        Integrate within Business Applications
          •   Note: Groups and Access Rights are per Business Application
              (not per module)
        Keep menu structure “lean”, and in logical sequence
        Design Search Views
        Integrate/use the new configuration wizards
          •   See new res.config and res.config.installer core classes
        Add Dashboard views and real-time Reports
         (group_by)




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Usability: menu structure

        Most important items / First ones at top
        Reporting is at bottom
        Configuration is hidden (admin only)
        Use short, business-oriented names
        Example:
          •   Main application
              »   (Address book)
              »   … other items ...
              »   (Billing)
              »   (Products)
              »   Reporting
              »   Configuration

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Usability: Search Views




        Filters are on top-left, grouped by context, most important
         ones first
        Then search fields, same order as list columns
        Optional collapsed group for “Extended filters”
         •   Organized by logical context
         •   Add nested filter to toggle column visibility when useful
        Optional collapsed group for “Group-By”
         •   Buttons organized by logical context
         •   Usually: Persons, Document States, Places, Dates

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
New R&D Processes

        Agile methodology for Product development: SCRUM
        Formal Bug management and Bug handling process
          •   R&D teams distinct from Support/Maintenance teams
        Strong focus on
          •   Quality
          •   Peer Reviews
          •   Continuous testing
          •   Continuous improvement




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Product Development Process



        Agile SCRUM sprints
        Sprint contents: Product
         backlog + Launchpad
        R&D Teams:
          •   Web, GTK, Framework
          •   Addons1, Addons2, Addons3
        All code reviewed by team leaders before end-of-
         sprint and merge into trunk




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements       2010.12.01 – Olivier Dony
Bug Management Process




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements        2010.12.01 – Olivier Dony
Bug Management Process




                       Unqualified                       Assigned




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Continuous Integration




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Web Add-ons

        Web client was overhauled for v6.0:
         design and technology
        Web client may now have add-ons
        Web Add-ons are embedded in regular
         modules
        Web Add-ons may alter the default web
         client in the following areas:
          •   Controllers
          •   Templates
          •   Widgets




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements             2010.12.01 – Olivier Dony
Web Add-ons: structure

        Embedded within web directory inside module
        Easy deployment
        Inspired by server-side modules, but simplified
        __openerp__.py
          •   name and dependencies, you may add
              your own metadata
        __init__.py
          •   Python package, ensure that everything
              that needs to be loaded within web
              client is imported




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
Web-Addons: Controllers

        Inherit from either:
          • openobject.controllers.BaseController
          • openerp.controllers.SecuredController
              (for logged-in controllers)
        CherryPy exposition of methods, @expose shortcut
        _cp_path to define the controller’s root
        Can Python-inherit from existing controller object to
         extend
        Set same _cp_path to override existing controller




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements          2010.12.01 – Olivier Dony
Web Add-on: Controller Example




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements      2010.12.01 – Olivier Dony
Web Add-on: Templates Extension

        Web client uses Mako-based templates
        Add-ons can register editor objects to do text
         manipulation of the “raw” mako code
        Example:




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements     2010.12.01 – Olivier Dony
Web Add-on: Example

        See the pad module for an example




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
HTML in views

        Apart from web add-ons, <html> may now be
         embedded in XML views
        Supported by web client
         only
        See html_view module
         for an example



                                     Example:




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements              2010.12.01 – Olivier Dony
Agenda

        Part 1
          •   Short overview
          •   Search views
          •   Improved Tree views, aggregation, dynamic reports
          •   Diagram views
          •   Multi-company
        Part 2
          •   Testing framework and continuous integration
          •   Usability guidelines
          •   New R&D Process
          •   Web add-ons
          •   Miscellaneous improvements and tips


     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements            2010.12.01 – Olivier Dony
Other Improvements

        Simpler __openerp__ structure: data, demo, test
        API:
          •   _defaults may be literal
          •   _constraints, _sql_constraints may be callables
        Security:
          •   safe_eval replaced built-in eval
          •   Private _methods() not callable via RPC
        Translations: improved and synchronized with LP
        Reporting engine more modular (e.g report_webkit)
        Performance improvements in RML reports
          •   <blockTable rowHeights="2cm" colWidths="11.0,7.0">
          •   Smarter translations, cached

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
Other Improvements

        Actions have new properties:
          •   help="Business description for this action"
          •   multi=True
        Simpler XML declaration for wizards actions
        res.roles => res.groups
        No more roles by default in workflows
        base_report_designer includes OOo plugin

        For more info, see:
          •   Updated Technical Memento (Partner Preview available)
          •   Technical Presentation Webinar
          •   Online Documentation

     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements           2010.12.01 – Olivier Dony
Development Tips

        Improved views in Admin menus, with XML IDs
        'View logs' shows XML ID now
        Debugging tooltips in GTK and Web
        new logging levels: test, debug_rpc,
         debug_rpc_answer, debug_sql
        command-line instance creation: -d dbname -i base
        Test reports
        ./openerp-server.py -i sale -d mytestdb
                             --test-report-directory=/tmp




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements                2010.12.01 – Olivier Dony
This document is published under the Creative Commons Attribution
             License 3.0 Unported by OpenERP SA. Feel free to copy, share, or modify it.
             For reference please see http://creativecommons.org/licenses/by/3.0/




     Nom du fichier – à compléter
OpenERP v6.0 Upgrade Training – Technical Improvements                        2010.12.01 – Olivier Dony

More Related Content

Viewers also liked

Brochure
BrochureBrochure
Brochure
ChandraBradley
 
Titles
TitlesTitles
Titles
djbinstead
 
2011 News fastNOTE SchreibService
2011 News fastNOTE SchreibService2011 News fastNOTE SchreibService
2011 News fastNOTE SchreibService
fastNOTE SchreibService
 
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
Biblioteca da Escola E.B. 2,3/Secundária de Baião - Agrupamento de Escolas do Vale de Ovil
 
Cielo
CieloCielo
Proyecto planta1
Proyecto planta1Proyecto planta1
Proyecto planta1
eltanovl87
 
Business Update December 2011 - Passing On A Family Business
Business Update December 2011 - Passing On A Family BusinessBusiness Update December 2011 - Passing On A Family Business
Business Update December 2011 - Passing On A Family Business
nevillebeckhurst
 
Natal 2011 2012
Natal 2011 2012Natal 2011 2012
Natal 2011 2012
becastanheiradepera
 
Aldeia dos Reis
Aldeia dos ReisAldeia dos Reis

Viewers also liked (13)

Brochure
BrochureBrochure
Brochure
 
Titles
TitlesTitles
Titles
 
finanxia
finanxiafinanxia
finanxia
 
Passport5
Passport5Passport5
Passport5
 
2011 News fastNOTE SchreibService
2011 News fastNOTE SchreibService2011 News fastNOTE SchreibService
2011 News fastNOTE SchreibService
 
Slideshare
SlideshareSlideshare
Slideshare
 
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
Critérios de correção do teste da 1ª qualificação (Campeonato de Língua Portu...
 
Cielo
CieloCielo
Cielo
 
Presentación1
Presentación1Presentación1
Presentación1
 
Proyecto planta1
Proyecto planta1Proyecto planta1
Proyecto planta1
 
Business Update December 2011 - Passing On A Family Business
Business Update December 2011 - Passing On A Family BusinessBusiness Update December 2011 - Passing On A Family Business
Business Update December 2011 - Passing On A Family Business
 
Natal 2011 2012
Natal 2011 2012Natal 2011 2012
Natal 2011 2012
 
Aldeia dos Reis
Aldeia dos ReisAldeia dos Reis
Aldeia dos Reis
 

Similar to OpenERP V6 Technical Improvements

The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
Daan Bakboord
 
The EPUB Platform and the Readium Open Source Initiative
The EPUB Platform and the Readium Open Source InitiativeThe EPUB Platform and the Readium Open Source Initiative
The EPUB Platform and the Readium Open Source Initiative
National Information Standards Organization (NISO)
 
VENU_Hadoop_Resume
VENU_Hadoop_ResumeVENU_Hadoop_Resume
VENU_Hadoop_Resume
Venu Gopal
 
REUNIÃO ISO ABNT CE21:028 - GT SLA - 20140520
REUNIÃO  ISO ABNT CE21:028 - GT SLA - 20140520REUNIÃO  ISO ABNT CE21:028 - GT SLA - 20140520
REUNIÃO ISO ABNT CE21:028 - GT SLA - 20140520
Fabio Reginaldo
 
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le webMix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
Christophe Lauer
 
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
TechExpert
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli Projeler
Mert Çalışkan
 
以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel
airsex
 

Similar to OpenERP V6 Technical Improvements (9)

The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
 
The EPUB Platform and the Readium Open Source Initiative
The EPUB Platform and the Readium Open Source InitiativeThe EPUB Platform and the Readium Open Source Initiative
The EPUB Platform and the Readium Open Source Initiative
 
VENU_Hadoop_Resume
VENU_Hadoop_ResumeVENU_Hadoop_Resume
VENU_Hadoop_Resume
 
REUNIÃO ISO ABNT CE21:028 - GT SLA - 20140520
REUNIÃO  ISO ABNT CE21:028 - GT SLA - 20140520REUNIÃO  ISO ABNT CE21:028 - GT SLA - 20140520
REUNIÃO ISO ABNT CE21:028 - GT SLA - 20140520
 
GeoTech_Factsheet_v3.6
GeoTech_Factsheet_v3.6GeoTech_Factsheet_v3.6
GeoTech_Factsheet_v3.6
 
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le webMix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
Mix Paris 2007 - CLaueR - Optimisez l'impact de vos services sur le web
 
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
IT обучение и сертификация. Информация об УЦ "Сетевые Технологии"
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli Projeler
 
以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel
 

More from Odoo

Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
Odoo
 
Odoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-Viewer
Odoo
 
Keynote - Vision & Strategy
Keynote - Vision & StrategyKeynote - Vision & Strategy
Keynote - Vision & Strategy
Odoo
 
Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14
Odoo
 
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityExtending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Odoo
 
Managing Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooManaging Multi-channel Selling with Odoo
Managing Multi-channel Selling with Odoo
Odoo
 
Product Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseProduct Configurator: Advanced Use Case
Product Configurator: Advanced Use Case
Odoo
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?
Odoo
 
Rock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsRock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced Operations
Odoo
 
Transition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationTransition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organization
Odoo
 
Synchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisSynchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the Crisis
Odoo
 
Running a University with Odoo
Running a University with OdooRunning a University with Odoo
Running a University with Odoo
Odoo
 
Down Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooDown Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in Odoo
Odoo
 
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo
 
Migration from Salesforce to Odoo
Migration from Salesforce to OdooMigration from Salesforce to Odoo
Migration from Salesforce to Odoo
Odoo
 
Preventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningPreventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine Learning
Odoo
 
Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification
Odoo
 
Instant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelInstant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping Label
Odoo
 
How Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldHow Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 Fold
Odoo
 
From Shopify to Odoo
From Shopify to OdooFrom Shopify to Odoo
From Shopify to Odoo
Odoo
 

More from Odoo (20)

Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
 
Odoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-Viewer
 
Keynote - Vision & Strategy
Keynote - Vision & StrategyKeynote - Vision & Strategy
Keynote - Vision & Strategy
 
Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14
 
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityExtending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
 
Managing Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooManaging Multi-channel Selling with Odoo
Managing Multi-channel Selling with Odoo
 
Product Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseProduct Configurator: Advanced Use Case
Product Configurator: Advanced Use Case
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?
 
Rock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsRock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced Operations
 
Transition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationTransition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organization
 
Synchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisSynchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the Crisis
 
Running a University with Odoo
Running a University with OdooRunning a University with Odoo
Running a University with Odoo
 
Down Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooDown Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in Odoo
 
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
 
Migration from Salesforce to Odoo
Migration from Salesforce to OdooMigration from Salesforce to Odoo
Migration from Salesforce to Odoo
 
Preventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningPreventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine Learning
 
Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification
 
Instant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelInstant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping Label
 
How Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldHow Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 Fold
 
From Shopify to Odoo
From Shopify to OdooFrom Shopify to Odoo
From Shopify to Odoo
 

OpenERP V6 Technical Improvements

  • 1. OpenERP v6.0 Technical Improvements Olivier Dony Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 2. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 3. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 4. OpenERP is disruptive Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 5. OpenERP is disruptive Disruptive product Disruptive business • Modern • Free download programming • Contributions and language Community fuel the • Modular approach product • Fully web-based • Value created is • Classical or cloud fairly split between deployment Customer, Service Provider, and Publisher Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 6. 2010 = Cornerstone for OpenERP  During the last 5 years, OpenERP has matured into a smart Enterprise Management software suite, with a world-wide brand, and a strong market demand.  OpenERP SA now puts focus on being the OpenERP Publisher  OpenERP v6 focuses on ease-of-use for these smaller companies! Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 7. Technical Goals for OpenERP v6.0  Make OpenERP easier for smaller companies  Global code review and simplification  New features  New development processes Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 8. Easier for smaller companies  OpenERP becomes a true suite of Business applications • Menus and modules structure reviewed and split • Smaller, specific applications » account = invoicing only » account_accountant = full financial management  Simplified views (vs. extended)  Business-oriented screens and filters Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 9. Business Applications Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 10. Business-oriented screens Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 11. Code Review & Simplifications  Improved modularity • e.g: procurement (follows), analytic, resource  Global Code Review • Modules rewritten: crm, hr, caldav, • Performance improvements: lists, reports • Lint cleanup • Simpler aggregation/reporting objects  Hundreds of tests  Lots of source code lines removed Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 12. New R&D Processes  Dedicated R&D Teams  SCRUM methodology  Bug qualification team  Testing tools and test suite  Continuous integration system: Buildbot More on this in Part 2... Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 13. New features  New views: search, diagram, improved lists  Improved API – core objects  Focus on reusable and generic features • custom filters • mail.gateway, caldav, resources  Multi-company built-in » Let's zoom in... Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 14. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 15. Search Views  Improves over built-in search features in v5  Always associated with other view: list, calendar, …  Deprecates select=1, select=2 select = True  New view type: <search>  Two main building blocks: • <field name='...'> • <filter domain='...' context='...'>  Structured with: • <group> • <separator> • <newline> Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 16. Search Views Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 17. Advanced Search Views  <fields> with embedded <filters>  Advanced attributes for <field>: • context=”{'country_visible':True}” • domain=”[('country_id', '=', 'Belgium')]” • filter_domain=”['|', ('location_to', '=', self), ('location_src', '=', self)]”  Default values for filters and fields, via action context: • context=”{'search_default_filter1': True}” • context=”{'search_default_field1': 'test'}” • context=”{'search_default_field1': lang}”  Specific search view can be forced in caller action: • <field name="search_view_id" ref="view_project_project_filter"/> Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 18. Search views: toggle group-by  context attribute of elements can toggle aggregation of associated list views • <filter string="Manager" name="manager" icon="terp-personal" context="{'group_by':'user_id'}"/>  Multiple group-by levels are supported • <filter string="Manager,State" name="manager_state" context="{'group_by':['user_id','state']}"/>  Order of group-by entries matters! Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 19. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 20. Improved Lists  List views can now display buttons • Regular <button> elements as in form views • Action/Method/Workflow called on single record  Columns can be toggled via context • context = {'section_mode': True} • <field name=”country_id” invisible=”context.get('invisible_country')”> Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 21. Improved Lists  List views now support aggregation aka group-by • Simple or multiple level aggregation • Controlled via context: e.g. search view or caller action context = {'group_by':['field_1','field_2']} • All contexts are combined • Aggregated columns shown on group header » Numeric fields summed by default » Set group_operator in _columns to customize (avg, min, … )  New server-side API method: read_group() Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 22. Group-by = Real-time Reporting!  Combine group_by values to get quick and intuitive real-time analysis  When individual records are too low-level or irrelevant, hide them (e.g. stock moves) : • context = {'group_by_no_leaf': 1} Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 23. Building Reporting Objects ... ... Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 24. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 25. Diagram Views  Workflow Editor existed in Web Client 5.0  Transformed into generic view, available in GTK too  New <diagram> view type  Constructed with • <node object=”node.model” shape=”...” bgcolor=”...”> • <arrow object=”transition.model” source=”source_field” destination=”dest_field” > • <field> (included in quick view)  Objects must form a coherent graph  <node> model must have a many2one to its container Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 26. Diagram Views Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 27. Diagram Views  Allows graphical definition of complex structures Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 28. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 29. Multi-Company  Now built-in in all applications  multi_company module = demo data only  in-depth review added specific internal operations: • e.g. for warehouse management: » inventory push/pull flows, transit locations » multi-company invoice control based on push/pull flows » More on this in functional training (tomorrow PM) Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 30. Multi-company  Many models now have a direct or indirect link to a company (many2one or related field) • e.g: sale.order.line sale.order shop company  Relevant company is assigned when creating new records  Special group is needed to view multi-company fields • Useability/Multi Companies  Users can belong to several companies, but select the one the current context they work in, via Preferences  Visibility of records depends on Company they belong to, current Company of user, and Record Rules. Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 31. Multi-company  Record rules have been improved since v5.0  No more rule groups – directly linked to user groups  Now controlled per mode: create/read/update/delete  Strong security semantics between “global” and “local” (group-specific) rules • Global rules cannot be bypassed under any circumstance, and always restrict the access • Local rules are additive and grant more access global1 AND global2 AND (local1 OR local2) Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 32. Multi-company: Security Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 33. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 34. Testing framework: YAML  New YAML data serialization supported in v6  Data-oriented syntax “YAML Ain't a Markup Language”  Whitespace delimiters, Python-like  Human-readable • no quotes, brackets, braces, … by default  Works very well for data, quite suited for tests receipt: Oz-Ware Purchase Invoice date: 2007-08-06 customer: Dorothy Gale items: - part_no: A4786 descrip: Water Bucket (Filled) price: 1.47 quantity: 4 Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 35. Testing framework: YAML  Supports everything supported by XML and more • Calling internal service such as workflows • Arbitrary python code  When added to the test section of the module descriptor, tests are rolled back by default  New logging level test for showing test results Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 36. OpenERP YAML Syntax  OpenERP supports specific custom types: • !record {model: res_model, id: xml_id, context: {…} } • !python {model: res_model} • !workflow {model:res_model, action:signal, ref: xml_id}  And equivalents for all XML supported elements • !act_window • !report • !function • !menuitem • !assert • etc. Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 37. Simple YAML Example Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 38. Advanced YAML Example Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 39. YAML: Scenario Export  base_module_record can now output YAML as well Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 40. YAML: Continuous Integration  http://test.openobject.com (buildbot) builds each of our hundreds of YAML tests after each commit Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 41. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 42. Usability Guidelines  Several Guidelines sections have been added to the online documentation (doc.openerp.com) • Coding Guidelines • YAML Guidelines • Usability Book (including guidelines)  Usability guidelines are very important for 6.0!  Needed to maintain coherent look and feel  Help users directly locate what they need, when they need it, to be efficient “Don't make me think”  Hide the complexity! Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 43. Usability Guidelines  Integrate within Business Applications • Note: Groups and Access Rights are per Business Application (not per module)  Keep menu structure “lean”, and in logical sequence  Design Search Views  Integrate/use the new configuration wizards • See new res.config and res.config.installer core classes  Add Dashboard views and real-time Reports (group_by) Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 44. Usability: menu structure  Most important items / First ones at top  Reporting is at bottom  Configuration is hidden (admin only)  Use short, business-oriented names  Example: • Main application » (Address book) » … other items ... » (Billing) » (Products) » Reporting » Configuration Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 45. Usability: Search Views  Filters are on top-left, grouped by context, most important ones first  Then search fields, same order as list columns  Optional collapsed group for “Extended filters” • Organized by logical context • Add nested filter to toggle column visibility when useful  Optional collapsed group for “Group-By” • Buttons organized by logical context • Usually: Persons, Document States, Places, Dates Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 46. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 47. New R&D Processes  Agile methodology for Product development: SCRUM  Formal Bug management and Bug handling process • R&D teams distinct from Support/Maintenance teams  Strong focus on • Quality • Peer Reviews • Continuous testing • Continuous improvement Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 48. Product Development Process  Agile SCRUM sprints  Sprint contents: Product backlog + Launchpad  R&D Teams: • Web, GTK, Framework • Addons1, Addons2, Addons3  All code reviewed by team leaders before end-of- sprint and merge into trunk Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 49. Bug Management Process Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 50. Bug Management Process Unqualified Assigned Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 51. Continuous Integration Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 52. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 53. Web Add-ons  Web client was overhauled for v6.0: design and technology  Web client may now have add-ons  Web Add-ons are embedded in regular modules  Web Add-ons may alter the default web client in the following areas: • Controllers • Templates • Widgets Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 54. Web Add-ons: structure  Embedded within web directory inside module  Easy deployment  Inspired by server-side modules, but simplified  __openerp__.py • name and dependencies, you may add your own metadata  __init__.py • Python package, ensure that everything that needs to be loaded within web client is imported Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 55. Web-Addons: Controllers  Inherit from either: • openobject.controllers.BaseController • openerp.controllers.SecuredController (for logged-in controllers)  CherryPy exposition of methods, @expose shortcut  _cp_path to define the controller’s root  Can Python-inherit from existing controller object to extend  Set same _cp_path to override existing controller Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 56. Web Add-on: Controller Example Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 57. Web Add-on: Templates Extension  Web client uses Mako-based templates  Add-ons can register editor objects to do text manipulation of the “raw” mako code  Example: Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 58. Web Add-on: Example  See the pad module for an example Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 59. HTML in views  Apart from web add-ons, <html> may now be embedded in XML views  Supported by web client only  See html_view module for an example Example: Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 60. Agenda  Part 1 • Short overview • Search views • Improved Tree views, aggregation, dynamic reports • Diagram views • Multi-company  Part 2 • Testing framework and continuous integration • Usability guidelines • New R&D Process • Web add-ons • Miscellaneous improvements and tips Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 61. Other Improvements  Simpler __openerp__ structure: data, demo, test  API: • _defaults may be literal • _constraints, _sql_constraints may be callables  Security: • safe_eval replaced built-in eval • Private _methods() not callable via RPC  Translations: improved and synchronized with LP  Reporting engine more modular (e.g report_webkit)  Performance improvements in RML reports • <blockTable rowHeights="2cm" colWidths="11.0,7.0"> • Smarter translations, cached Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 62. Other Improvements  Actions have new properties: • help="Business description for this action" • multi=True  Simpler XML declaration for wizards actions  res.roles => res.groups  No more roles by default in workflows  base_report_designer includes OOo plugin  For more info, see: • Updated Technical Memento (Partner Preview available) • Technical Presentation Webinar • Online Documentation Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 63. Development Tips  Improved views in Admin menus, with XML IDs  'View logs' shows XML ID now  Debugging tooltips in GTK and Web  new logging levels: test, debug_rpc, debug_rpc_answer, debug_sql  command-line instance creation: -d dbname -i base  Test reports  ./openerp-server.py -i sale -d mytestdb --test-report-directory=/tmp Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony
  • 64. This document is published under the Creative Commons Attribution License 3.0 Unported by OpenERP SA. Feel free to copy, share, or modify it. For reference please see http://creativecommons.org/licenses/by/3.0/ Nom du fichier – à compléter OpenERP v6.0 Upgrade Training – Technical Improvements 2010.12.01 – Olivier Dony

Editor's Notes

  1. Web client was based on a non-standard (and fairly complex) packaging system, especially on the windows side (custom and time-consuming bdist_wininst, downloading a lot of stuff) Goal here is to better integrate with rest of the ecosystem, and with the new installers (all-in-one &amp; al)
  2. And that’s basically it, you can either implement the code in __init__ (probably a bad idea) or import inner modules containing your code.
  3. * Logged-in only (inherits from SecuredController) * Accessible via the /etherpad root * exposes the link method, via /etherpad/link, via POST only and returns JSON data * standard CherryPy method (almost), kwargs are GET/POST params
  4. Very simple API * Inherit from openobject.templating.TemplateEditor * List templates to interact with (probably only one, but you never know) * edit(template: mako.template.Template, template_text: str) * template_text is the original template data (straight from mako file) * call superclass, get output (unless want to completely replace it), cooperative overriding * modify that output as you see fit, mako template as a string
  5. A Web Module is a server module containing web components, can contain only the web components (to make distribution and updating of web addons easier), enhancement of server module function for the web client or cooperation * Manages dependencies using proven OpenERP modules system * Simply add ‘web=True’ key to __openerp__.py * Web components go into the web/ subdirectory, __openerp__.py will be generated from module’s