v61 Release Notes

26
8/4/2019 v61 Release Notes http://slidepdf.com/reader/full/v61-release-notes 1/26

Transcript of v61 Release Notes

Page 1: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 1/26

Page 2: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 2/26

Page 3: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 3/26

Introduction

 This new version is the result of 6 months of development with _____ man*month, ______ commits, ______ lines of code added and ______ lines of code removed. During these 6 months, our teamprocessed _____ community feedback notes from _____ contributors. These contributions lead to _____ emails to discuss new features and bugs with the community, _____ terms translated to ______ languagescovering ______ official modules. This version includes the process of community contributions (code review, bugs qualification and fixes,merge proposals), strong usability improvements (mainly with the purpose to make it easier to use andconfigure), improvements in the framework as well as well as some new features. Our priority on this axisis given by the graph bellow that summarize our working effort by type of work done by our R&D team inman*months. --- pie chart of type of activities in man*months, to be computed based on our HR teams ---

 As you can see in the graph above, our focus has been set on making OpenERP easier and cleaningthe code (mainly the framework and the web client that have been re-written from scratch). The biggestchallenge for the v6.1, was the complete rewrite of the whole web client from scratch based on newtechnologies. It was a ____ man*month job and we succeeded to achieve it in less than 6 months with ateam of 9 developers. As usual, all our developments are released under the open source AGPL licence.

Page 4: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 4/26

Usability Improvements

Objective: making ERP affordable for small businesses

 We want OpenERP v6.1 to be easier to install, to configure and to use. For years, full featured ERPs havebeen dedicated to large enterprises. We think we can change the market with OpenERP and give all thefeatures of complete ERPs, while keeping the software easy to use and keep affordable implementationcosts. In order to design the perfect software, our usability experts organized a lot of user testing sessions withlambda users to detect what could be simplified in OpenERP. For the v6.1, we wanted new users to beable to test the software without having to configure anything. OpenERP is now ready to use out-of-the-box and the configuration wizards are optional and launchable afterwards. A new user can create hisfirst sale order two clicks after the installation ! 

Install, Test and Start Using: No Configuration

A smarter “welcome page”

 In order to speed up the discovering process, we speed up the installation of a new database:

2x faster than V6.0 for local installation and 2 seconds for OpenERP Online (Test here:

http:\\openerp.com\subscribe).

 

After having created your database, you are directly logged into the application. The initial welcome pagereminds you the credentials to connect on your OpenERP later and helps you choose the application you

want to install and test first. In only one click, you install the first application and you are redirected to

the related dashboard. You can directly use the application: there is no configuration required1 (*) and

a 'best practice' setup has been defined by default for every application.

 

1depending on the modules you install, there is only one configuration wizard which is still required,: it's thechart of account selection according to your country. If you install a module based on accounting, you willhave to answer its wizard. 

Page 5: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 5/26

 

Improved dashboards to guide new users So, one click after the installation, you are redirected to the dashboard of the application you want to test.

The first menu and dashboard you see is the one of the application you are interested in. It's easier than

discovering a full ERP for the first time.

 

We wanted that a new user could start directly to record a document (sale order, invoice, task, ...) right

after the installation. We noticed during our usability testing sessions that the new users do not detect the

menu directly. So, we put a "new" button on every dashboard section so that it's clear where to click to start

recording a document.

 --- dashboard of sale application with empty SO to create on the fly---

 

Ready-to-use, using the new many2one fields

 Two clicks after the installation new users can start

creating their first document, for example a sales order.

But there are no customers or products registered in the

database yet. So, it was important to be able to create

very easily, on-the-fly, a new customer or product directly

from a sale order.

 

Most of the beta tests we organized emphasized the

same difficulties with lambda users on the use of 

many2one relation fields. (check this video as an

example: ...) So, we completely redesigned the relation

field so that it looks like a selection box. We also added

auto-completion, quick-create and a “more...” to open

the search window.

 

This allows new users to create their first sales order by

creating the partner and the product on the fly, simply by writing the name of the customer in the customer 

field. Of course, in order to allow this, we had to do a lot of small improvements on main OpenERP objects:

Page 6: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 6/26

● when you create a partner, it automatically creates his address by default

● when you create a product just with the name, it correctly sets most of the fields: related taxes,

category, income/expense accounts, ...

 

Best practices by default

 Our testing sessions with lambda users showed us that it's much easier for new users to adapt an existing

configuration than to configure OpenERP from scratch. In order to be usable out-of-the-box, OpenERP v6.1

comes with best practices configured by default at the installation.

Here are some examples of pre-configured environment:

● if you install the CRM, sales stages are setup by default following the 'solutions selling'

methodology,

● if you install the HR periodic evaluations, a generic employee evaluation form is provided with

questions we made by working with human resources experts. This is great as most of the small

companies do not even have a periodic evaluation form for their employees.

● if you install the accounting, default payment terms are defined so that you can use them directly 

These default configurations allow users to: start using OpenERP without having to configure anything, give

best practices and advice to small companies, simplify the configuration process as it's easier to adapt a

few elements than to configure everything from scratch.

Sample of Employee Evaluation form.

 

The Setup Cookbook

The configuration panel

 Once you are ready to fine-tune OpenERP to your own needs, you can access the configuration panel from

the administration menu. This panel is a cookbook of all the steps you must follow to configure the systemaccording to the modules you installed. A progressbar gives you the status of the overall configurationprocess. 

Page 7: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 7/26

 All the configuration wizards have been reviewed for v6.1 in order to be more business oriented. In total, wedeveloped _____ configuration steps to cover all official modules. Bellow, you will find 3 examples of theseconfiguration wizards.

Example 1: Configure the company

 The wizard to configure the company in V6.0 looks like the above screenshot:

 

Through wizard the new users may encounter several difficulties:

● the setup of the company and the logo is on the same screen, but someone who configures the

company may not have the logo at the right size on hand. So, we split this wizard into two: configure

the company and upload your logo,

● the report header and footer are used to put your bank account data for your customer payments,

VAT numbers, etc... It was a big problem as we noticed a lot of OpenERP online customers

forgot to put their VAT number at this place and noticed only after having printed the first invoice.

Unfortunately, they could not update the configuration and reprint the invoice as if you reprint an

invoice it always appears like the preceding print (this is a legal requirement in several countries)

 

The new configuration screen looks like that:

 

Page 8: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 8/26

Details of the improvements:

 

● it's not anymore a wizard but the normal company definition form so that you can modify it later,

easily

● we have put a series of fields for the VAT and other references

● the bank account data directly comes from the bank account configuration wizard (that creates

 journals, accounts,...)

● all parameters of the company are configured from this screen using the tabs

Example 2: Setup Your Invoicing Methods

 The screenshot bellow presents the wizard to configure the invoicing method in V6.0. This wizard just set

the default value on the sales order for the field invoicing method.

 

A new configuration wizard (shown bellow) has been introduced to help setup your system according to

your invoicing needs: invoices based on sale orders, deliveries, project tasks, timesheets, contracts, etc

Example 3: Create new user 

 We made a lot of improvements in the user definition form in V6.1 but the major one was the access rightsconfiguration. Instead of assigning a list of groups to users, we created a dynamic view that represents all

Page 9: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 9/26

the applications. It's more intuitive now as you just have to activate the application you want to give to auser. Then, you have to tell which is his role in this application (manager, user ...). Groups are configured by defaults, which means that lambda users don't even have to understandwhat's a group. So, in the simplified view of OpenERP, we hid everything related to groups. Theadministrator just has to configure the access rights on the user form without having to understand what's agroup and how to configure it.

 

As a technical point of view, the group system of OpenERP did not change between v6.0 and v6.1. Mainly,we did a better way to configure access rights for a user. The only improvement we applied to groups is aninheritance between groups (ex: a sales manager is automatically a sales user). 

Import Your Initial Data

Automated import and sync from other applications

 One of the most complex part when setting up a new management software is the importation of data from

your preceding applications. In order to help new customers to get started very quickly, we developed

automated import tools for the following applications:

● quickbooks vX

● google apps,

● salesforce vX

● sugarcrm vX

● Ms. Outlook.

 

When you use this feature, OpenERP automatically downloads all information from these softwares toyour new OpenERP instance. You can launch the wizard several times to update what has been modified

recently. The wizard also proposes to frequently synchronize through a cron. (an automatically scheduled

background task).

 

Page 10: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 10/26

A smart Import tool for lambda users

 For companies that have to import data from other applications, we improved a lot the import wizard to beeasier to use. Here is a screenshot of the new import CSV feature. --- screenshot import csv ---

 With this new wizard, you just give your CSV file in OpenERP and you can configure directly in OpenERP,with a preview, how you want to import these data in OpenERP. You can do this by mapping by thecolumns and checking the preview bellow. 

Easier to Use

Reviewed menutips and tooltips

 

We got a lot of feedback from our training sessions, our OpenERP online customers and launchpad

contributors on things that were not easy to understand in OpenERP. We used this feedback to detect

terms, documentation and tooltips that must be improved for clarity. So, we reviewed a lot of tips on the top

of screens, tooltips on fields and even terms of the application.

 

Here are 3 examples:

● Good examples of menutips improved● Good examples of tooltips improved● The terms "Real &Virtual stock" have been replaced by "Quantity On Hand & Quantity Forecast"

Follow the status of the documents with the new progressbar  We noticed it was quite complex for new users to understand the flow of each document. As an example,

the status of a picking list changes like the following: Draft, Confirmed, Available, Done. Only a few users

understood this in their first test and, in 35% of the tests we did, the users thought his document was

completed when it was in the status confirmed !

 

We think that every document flow must be as easy as buying products online on an e-commerce website.

In order to clarify where you are in the process of a document and what are the previous and next steps,

we replaced the status selection box by a progress bar that shows all steps and the current one. Look at

the example bellow for the pickling list and a sales order in exception. 

--- screenshot of picking list confirmed, just the widget ---

--- screenshot of a sale order in exception, just the widget ---

 

Simplification of complex screens

 Our usability expert reviewed the most complex screens of OpenERP to make them easier to use. We will

not detail all the screens here but just to give you an example, take delivery grid configuration.

 

Defining carriers, delivery methods, delivery grids and delivery grid rules was quite complex in v6. We need

this complexity to handle all the possible cost computation on the delivery orders (based on weight, free for 

a maximum amount, by country, by region...). In v6.1, we made a simplified version of the delivery grid for 

Page 11: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 11/26

companies that have standard needs. From this screen, the user can activate all the rules and get all the

features of the v6 screen.

 

Easier to Learn

Books

 As a summary, we did a lot of work to make OpenERP become very easy to use and affordable to

integrate. But we know enterprise management can request very complex flows and some users will stillface some difficulties to integrate OpenERP. That's why, in parallel, we worked on a series of 6 books for 

the end users to cover most of the management challenges in OpenERP.

● Drive your Sales & Marketing Activities with OpenERP● Integrate your Logistic Processes with OpenERP

● Streamline your Manufacturing Processes with OpenERP● book 4

● book 5

● book 6

 

You can purchase these books on Amazon or through our online store:

Certified Training Partners

 So, now, you have a software which is complete and simple and you have books to learn by yourself. But

an ERP in the end is still an ERP : it's quite complex because companies have complex needs. So, in

order to train more people on OpenERP, we launched the certified training partner program with our main

OpenERP partners to have certified training centers on OpenERP all around the world. (fortunately, you

don't have to go anymore in Belgium to get trained on OpenERP :)

 

Page 12: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 12/26

Buzzy ERP: Social, Viral & Mobile

Be Social: Collaborate with Partners

 The relationship between people changed a few years ago with services like facebook, google+ or twitter.Individuals are now strongly related to each others, they can share information very quickly, collaborate onprojects efficiently and organize events in a few clicks. We think the next generation of ERPs should allowcompanies to work online with their partners, customers and suppliers. OpenERP v6.1 allows companies collaborate better together:

● when you work with resellers, they can check the current availabilities of stocks online, order someproducts, control their invoices and deliveries, etc... They are up-to-date with everything you do andall your information is directly integrated in their own management software,

● when you send an invoice to a customer, he directly receives the related supplier invoice in hisaccounting system so that he does not have to record it, but just to validate it. He can also pay your 

invoice online and the transaction of the payment is automatically created in your accounting,● when you work on a project with some partners, everyone can work on the same list of tasks, you

can share documents related to the project, ....● when you need to buy some products, you just create a request for quotation in OpenERP. Your 

suppliers receives emails requesting them to quote for what you need. If you confirm the order, theyautomatically receive a sales order in their own management software.

 

Share your documents easily

When you are in a list of filtered documents, you can press the share icon ( ) to share these documents

to anyone. When you do that, OpenERP asks you if you want to give a read-only or a read-write access. 

As an example, this feature allows you to:

● give access for the tasks of a project to a customer, so

that you can easily collaborate on the project,

● export invoices to your customers or suppliers so that

they can reprint them and track their status,

● give visibility on your product or stock to your resellers,

● export support tickets or timesheets so that your 

customer can control what has been done, ...

 

Embed content in your website

 Any part of the OpenERP web client can be embeddable into a website, or another application, simply byinserting a small javascript code provided by OpenERP. This allows you to easily:

● insert a contact form into your website which is directly connected to OpenERP,● export statistics or graphs in a portal or in your website, etc.

 

--- screenshot one --- You can test this page where we embedded different features into a single page to present some of thev6.1 new features: http://... 

Page 13: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 13/26

Improved Email Integration

 In version 6.0, we had different modules that used emails in different ways: the mailgateway, the mails sentfrom the marketing campaigns, email_template, and tools to send emails from leads and opportunities. Inv6.1, we unified all emails operations. They all use the same object that support:

● a clean way to send emails

● template of emails for automated generation● clean management of the attachments● indexation of the content● integration with mail client like Thunderbird and Outlook,

 --- screenshot of emails displayed on the partner form --- 

Emails sent by default

 We configured the different workflows so that different documents send automated emails when they are

validated:● a confirmation of the sales order will send an email to the customer to acknowledge the order,

● when an invoice is validated, an email is sent to the customer with his invoice in attachment and the

link to pay online (we decreased our customer aged balance of ten days at OpenERP SA since we

setup this feature in production)

● when you create a new user, a mail is sent to this user with the data to connect on the system

 

--- screenshot of the email sent when we confirm an invoice ---

 

EDI by default

 When a document is sent to a customer, he receives the link that displays his document online. Here is anexample with a customer invoice. --- screenshot of a customer invoice --- From this screen, your customer can:● print his invoice● pay the invoice online (using paypal or other payment methods)● push / synchronize this invoice in his own management software

 

If he wants to push this invoice in his own management software, he has 3 solutions:1. if he uses OpenERP, he just has to provide the link to his OpenERP instance and he will receive

a supplier invoice in draft correctly created in his accounting. So, he does not have to record theinvoice manually.

2. if he does not use OpenERP, he receives an URL that he can use to download the invoice into a json format so that he can easily develop an integration for his own management software

3. if he does not use OpenERP, he can create an OpenERP online instance in two clicks and he getsconnected to his instance with the supplier’s invoice automatically created.

 After having done this, your customer is integrated with your own instance and all business documents youwill share will be automatically created in the other instance. This will really open a new era of productivitybetween companies working together. 

Page 14: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 14/26

OpenERP Mobile: access everywhere

 OpenERP v6.1 includes an interface to access OpenERP from your mobile phones. Currently it's only

in read-only mode, but you can access all your data from this mobile user interface. It's based on jquery

mobile and it is a module for the web client. You can access the mobile UI from the same URL than your 

web interface.

 

--- screenshot of the menu ---

--- screenshot of search in the list of so ---

--- screenshot of a so form ---

 

In order to introduce a better rendering of records, we added the possibility to return an html version in

a name_get function call. This allows to return an address formatted on multiple lines according to the

country. As an example, the list of sales order above is displayed using e name_get call on the sales

orders.

 

Page 15: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 15/26

New Modules

Touchscreen Point-of-Sale

 The new touchscreen OpenERP Point of Sale interface:

● is a web client module

● that works even if you have no internet connection to the server and/or you restart the browser 

● but synchronize automatically with OpenERP server when the connection is available

● it works on any touchscreen device like an ipod, ipad or any tablet pc.

 

The current features are:

● select product through barcode reader, browsing categories, or text search

● multiple tickets can be recorded at the same time

● multiple payment methods allowed 

--- screenshots of order ---

--- screenshot of payment ith keyboard ---

 

As it is a web client module, it is very easy to extend it to add new features or extend current ones

(payment with a credit card, tables management, ...)

 

You can get more information about this module here: http://www.openerp.com/products/pos

 

Generic Payroll Engine

 This new module includes a generic payroll engine that handles everything required to compute he salary

slips, the taxes to pay, etc. The following concepts are managed:

● salary rule: are used to compute data like allowances, deductions, net, taxes, contribution registers,

etc

● salary structure: define a set of rules usually applied to a category of employee

● contribution registers: are organisms to whom the company or the employee have to pay taxes

● employee and contract: includes everything required to compute the salary slip of the employee.It uses the new temporal feature to keep a history of all modifications on the contract or on the

employee

● salary slip: are used o compute the payoll for an employee for one month. It includes the input data

like the number of working days (that is computed automatically from the holidays management

module), the commissions, the advances, ...

 

This payroll engine is fully customizable around the concept of rules so that it's easy to create localisations

for different countries. The firsts payroll localisation we developed are for Belgium and India.

 

--- 2 screenshot payslip ---

Assets

Page 16: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 16/26

 The version 6.1 includes a complete asset management module. It's features are:

● support for multiple depreciation methods: linear, progressive, ...

● generation of the depreciation board as graphic or a grid,

● automatic generation of periodic accounting entries,

Portal This module allows to easily create customized access for your customers and suppliers for differentdocuments in order to collaborate efficiently. Based on the new sharing feature, you can design customportals in a few clicks by selecting which resources and what access rights you want to provide to your partners. --- screenshot home of partner portal --- The above picture is a screenshot of the partner portal we give to official OpenERP partners. From theportal they can track their support tickets, ask for a database migration and follow the service, check theleads we forward to them, etc... We also developed a way to easily contact or give access to severalpartners to the portal and to manage the logins you give to your partners.

 

Page 17: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 17/26

The New Web Client Revolution

Challenges & Objectives

 For v6.1, we decided to start the development of a new web client from scratch with a new architecture. Asthe v6 web client was complex to maintain and to improve we thought it was the right time for a completecleaning. Our objectives were to:

● relay mainly on javascript and not anymore on mix of python+javascript,● being able to easily reuse existing js libraries (dhtmlx gantt and calendar, dracula diagram

editor, ...),● make any part of the web client become embeddable in a website or shareable to some partners,● build a strong framework for building web applications on top of OpenERP leveraging the builtin

features of OpenERP. This was a big challenge as it's a 54-man months effort and we wanted it to be ready for v6.1. So, we had

to release this new web user interface in only 5 months with a team of 10 developers. The result is quiteamazing:

● it has more features than v6.0 but ______ lines of code less● it's faster than the v6 client. It's even faster than the GTK client for most operations● developing new modules is much easier with this new client than before,● we fixed the troubles we had with the v6.0 (gantt chart not clean, editable lists in one2many, ...)

New and Improved Features

Fast like a rocket !

 A lot of effort has been made to speed up the OpenERP web client and it's by far much faster than before.

As everything is in javascript, we reduced a lot the communication on the network.

 

Opening a list of 80 sales orders takes _____ seconds against _____ seconds in v6.0. (___x fast)

Opening a sale order form takes _____ seconds against _____ seconds in v6.0. (___x faster)

The New Vertical View: Everything at a Glance

 

In order to improve the productivity of end users, we developed a drag & drop kanban view for someobjects. This view allows you to recorganize easily your records (tasks, opportunities, recruitment, ...) and

have a global overview of all records.

 

Page 18: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 18/26

 

Here is the XML code of the above view:

<vertical string="Tasks">

...

<'/vertical>

Customizable Dashboards

 Dashboards of each application are now fully customizable directly from the user interface. You can change

the layout of the dashboard (1, 2, or 3 columns), insert or remove some data (lists, graphs, ...) using your 

custom filters, rename or drag & drop some elements.

 

We introduced a new tag <board> to be used in forms view to define dashboard. Here is code defining the

above dashboard:

 

<board string="Tasks">

...

<'/board>

 

Simple and reusable advanced filters.

 The new web client allows you to create, use and store complex filter expressions like:

● sales analysis group by countries on:○ sales with order date between March and May 2011 AND○ having a product in the category "computers" OR○ having a product = 'iPad'

● AND the order concerns customers in one of the countries in Europe Filter expressions uses normal fields and not only character fields, which is more convenient to createexpressions based on dates or many2one fields. If you save a filter and reuse it later, the filter appearsin the same way so that you can easily modify it for different needs. 

Page 19: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 19/26

Dynamic Gantt Charts

 Gantt view has been completely reviewed using the dhtmlxscheduler widget (http://...). Gantt supportsfiltering and the grouping through buttons of the search window. We added constraints between the parentand children elements but you can move the whole group by using shift drag & drop. We also addedprogress bar inside an element if a gantt chart and dependencies between elements. -- screenshot of a gantt --- 

Here is code of the view defining the above gantt chart: 

<gantt string="Tasks">

...

<'/gantt>

Many2one Fields

 The usability of the many2one fields have been completely improved. In v6.1, they look like a selection box

so that it's very easy for lambda users to use it. Some of their features include:

● auto-completion when you write● clear on 'more...' to get the full search view popup

● quick-create without any popup (if the record supports it by having only one required field with no

default value)

● 'create and edit' that opens the record for edition

● report, action and relation related to the linked record

● fully usable using the keyboard, without mouse

 

Technical Improvements

Modularity

 explain why the modularity of the web client is cool...

name_get supports html

 The name_get method on an OpenERP object used to return the following values [(id, textrepresentatiion)

]. Since version 6.1, you can return a third argument in the tuples that is the html representation of a record:

[(id, textrepresentation, htmlrepresentation)]. This html representation will be used by the user interface that

supports it like the web and the mobile UI.

 

Here is what has been returned by the name get on sales orders:

Page 20: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 20/26

[ (

1,

'SO0006'

''' <div ....

 

</div> '''

)] 

Here is how it looks in the mobile user interface:

 

--- screenshot so list in mobile ---

 

Here is how an address looks in a form view:

 

--- screenshot of so form wi an address formated on multiple lines ---

Clean Dependencies ... explain new architecture and the list of dependencies...

New Debugging Facilities

 

... explain new debug facilities ... 

--- screenshot 1 firefox ---

 

Page 21: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 21/26

Framework Improvements

Speed improvements

Lots of speed improvement in the kernel Here is a comparison benchmark between version 6.0 and v6.1 for the speed of different operations on aquad core ______________. We did the tests on a database having ______ sales orders. 

● installation of a new database in English● installation of a new database with a language pack● second installation of a new database● loading a partner form from the web client● reading 1000 orders at once

● reading 100x 10 sales orders 

Multi-thread for scheduled operations

 Each cron operation is now launched in a separate thread so that they can be launched in parallel. This avoids

having slow process like the MRP scheduler that makes the others cron jobs waiting for a long time.

 

Translations management

 check with vmt to explain the improvements

Json-RPC

 not sure it will be released on time...

done in web, check for server 

Unaccent searches

 If you install the _______ postgresql plugin, OpenERP will be able to perform searches which are not

dependant on the accents. If you activate this feature, aLl indexes are adapted so that the performance is

not impacted by this option.

 

Cleaning & Maturity

Simplify manual & automated tests: runbot

 In order to help our development process, we developed a new integration server called runbot thatmonitors every commit made on launchpad branches. Each time there is a commit by a developer, itperforms automatically the following operations:

Page 22: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 22/26

● install two databases (one without modules, one with all modules install) so that you can connectand test the branch online directly without having to install a branch and create a db

● launch all automated tests to verify that no bugs have been introduced (the box is green or red)● launch code coverage tests to detect which part of the code is covered by our automated tests and

which is not● gives you the detailed log file of the tests and installation to test online if there is a problem● it automatically links to related branch, commit, bug report and merge proposal on launchpad

 

You can test the buildbot online through this url: http://runbot.openerp.com

Code Coverage, Objectives 80%

 In v6.0, we started to integrate a lot of automated tests in OpenERP. _____ tests have been introducedon all official modules. At that time, the code coverage was 40%. In v6.1, we integrated a code coveragecontrol on any commit made by one of our developers. We also developed more automated tests to cover 80% of the code with our tests (_____ lines more than in v6.0) You can check the current code coverage here: http://runbot.openerp.com (http://runbot.openerp.com/addons-trunk/logs/coverage-all/)

 

Bugfixes & small features

 During the last 6 months, we managed _______ community feedback items on launchpad (bugs andwhishlist) resulting in _______ emails discussions with the community in order to find the best way toimprove the software. This community feedback is very important for OpenERP and it allows the softwareto grow so quickly in maturity. In order to manage all these feedback items we assigned _______ full timedevelopers to qualify the launchpad bugs. If a bug is qualified, it was assigned to one of the ____ teams byactivities: web client, sales & CRM, accounting, usability, ... _____% of the bugs reported by the communityhave been qualified as real bugs or accepted wishlist.

 On the http://feedback.openerp.com/ platform, we got ______ feedback items and ______ of them havebeen implemented (_____ %). This ratio is less on feedbacknthzn on launchpad because our priority isto clean and improve existing features rather than implementing new ones. Since v6.1, we also setupdashboards to control our performance by managing community feedback on launchpad and mergeproposals. Our statistics on the community collaboration is available on this document: http://... --- screenshot of community dashboard --- Our goal is to qualify all launchpad bug reports within a few days (not the fix, but the qualification) and

review merge proposals within two weeks. We have been quite good managing bug reports on launchpadbut we still have to improve our performance in the merge proposals review. In order to improve our community processes, all our R&D teams have to follow the same process than community contributions(merge proposals with code review by the team leader). In 6 months, we have reviewed _____ merge proposals and _____ branches have been created by thecommunity and OpenERP.

Improve developer’s life

Objects Instantiation & definition Since the version 6.1, osv objects are instanciated automatically in two passes. You do not need to

instanciate your classes anymore and you don't need to split classes in two for circular references between

Page 23: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 23/26

fields.

 

In v6.0, we used to write the following code:

 

class partner(osv.osv):

 _name = 'res.partner'

 _columns = {

'name': char 'addresses': one2many('res.partner.address', )

}

partner()

 

class address(osv.osv):

 _name = 'res.partner.address'

 _columns = {

'name': char 

'partner_id': many2one

}

address()

 

class partner2(osv.osv):

 _inherit= 'res.partner'

 _columns = {

'main_addresses_id': many2one('res.partner.address', )

}

partner2()

 

In v6.1, this code can be reduced in:

 

class partner(osv.osv):

 _name = 'res.partner'

 _columns = {

'name': char 

'addresses': one2many('res.partner.address', )

'main_addresses_id': many2one('res.partner.address', )

}

 

class address(osv.osv):

 _name = 'res.partner.address' _columns = {

'name': char 

'partner_id': many2one

}

 

Less code, less side effects, less maintenance

 Code removed:

● web widgets (everything is a dashboard)● osv_memory, replaced by osv● emails managemen team

 

Page 24: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 24/26

Multiple “on_change” and inheritancies

 to be written by vmt ... 

Temporal Objects Temporal objects are objects that keep the history of every modification made on the object and that allows

you to easily read data at a specific date in the past or in the future. This feature is, for example, used in

the new payroll module. In every payroll application, it's important to keep track of every modification made

on an employee situation or a contract. This allows, when you compute the payslip for a month, to use the

data at this month and not the one currently applicable (the employee situation lay have changed).

 

... to be completed by qdp to explain how it works technically...

 

Exemple of code:

 

....

 

Refactorisation of external libs

 

Page 25: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 25/26

Minor Improvements by Modules

Projects & Tasks: Improved productivity

 Explain vertical viewBetter Gantt view 

CRM: Improve your sales productivityExplain the vertical viewExplain the Todos based on tasks in CRM 

HR Recruitment: improved screens

 

Accounting & Finance

 The following multi-currencies improvement have been achieved:

● follow-ups● payments voucher 

 These improvements have been made during a one week code sprint with OpenERP and CampToCamp,financed by Canonical and Camptocamp. new reports:

● treasury better localisations

● l10n_us

 

Delivery Prices Management

 

Invoicing Methods

 

Contract management based on analytic accounts

 

Page 26: v61 Release Notes

8/4/2019 v61 Release Notes

http://slidepdf.com/reader/full/v61-release-notes 26/26

Since version 4.2 of OpenERP, we use the analytic accounts to manage, invoice and control customer 

contracts. This is a great feature of OpenERP but analytic accounts were not easy to understand for 

lambda users. In version 6.1, we introduced the concept of contract based on analytic accounts.

 

Now, you have the following features in order to help you manage your contracts:

● a menu called "Analytic Accounts / Contracts to renew" that lists all contracts that should be

renewed because the number of hours / days is overpassed (like prepaid support contract) or the end date

is passed (like annual contract)● when a contract should be closed or renewed, OpenERP sets it automatically in pending state so

that you get warning when people work on this contract (from timesheets)

● once a week, an email is automatically sent to salesmen responsible of the contracts to renew

requesting them to contact the customer to renew or close the contracts and change the state accordingly.

Outlook Plugin

 The Outlook plugin was not cleanly integrated in Outlook in the version 6.0. This was partially due to the

technology used to develop this Outlook plugin (python with ______ library). We decided to restart thedevelopment from scratch using objective C directly. The new outlook plugin is now:● easier to install as there is no more external dependencies● more integrated to Outlook so that you don't have warning messages anymore on the first use● faster.