Anda di halaman 1dari 26

OpenERP V6.

1 - Release Notes
Introduction Usability Improvements Objective: making ERP affordable for small businesses Install, Test and Start Using: No Configuration A smarter welcome page Ready-to-use, using the new many2one fields Best practices by default The Setup Cookbook The configuration panel Example 1: Configure the company Example 2: Setup Your Invoicing Methods Example 3: Create new user Import Your Initial Data Automated import and sync from others applications A smart Import tool for lambda users Easier to Use Reviewed menutips and tooltips Follow the status of the documents with the new progressbar Simplification of complex screens Easier to Learn Books Certified Training Partners Buzy ERP: Social, Viral & Mobile Be Social: Collaborate with Partners Share your documents easily Embed content in your website Improved Email Integration Emails sent by default EDI by default OpenERP Mobile: access everywhere New Modules Touchscreen Point-of-Sale Generic Payroll Engine Assets Portal The New Web Client Revolution Challenges & Objectives New and Improved Features Fast like a rocket ! The New Vertical View: Everything at a Glance Customizable Dashboards Simple and reusable advanced filters. Dynamic Gantt Charts Many2one Fields Technical Improvements Modularity name_get supports html Clean Dependencies New Debugging Facilities ... explain new debug facilities ... Framework Improvements Speed improvements Lots of speed improvement in the kernel Multi-thread for scheduled operations Translations management

Json-RPC Cleaning & Maturity Simplify manual & automated tests: runbot Code Coverage, Objectives 80% Bugfixes & small features Improve developers life Objects Instantiation & definition Less code, less side effects, less maintenance Multiple on_change and inheritances Temporal Objects Refactorisation of external libs Minor Improvements by Modules Projects & Tasks: Improved productivity CRM: Improve your sales productivity HR Recruitment: improved screens Accounting & Finance Delivery Prices Management Invoicing Methods Contract management based on analytic accounts Outlook Plugin

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 team processed _____ community feedback notes from _____ contributors. These contributions lead to _____ emails to discuss new features and bugs with the community, _____ terms translated to ______ languages covering ______ 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 and configure), improvements in the framework as well as well as some new features. Our priority on this axis is given by the graph bellow that summarize our working effort by type of work done by our R&D team in man*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 cleaning the code (mainly the framework and the web client that have been re-written from scratch). The biggest challenge for the v6.1, was the complete rewrite of the whole web client from scratch based on new technologies. It was a ____ man*month job and we succeeded to achieve it in less than 6 months with a team of 9 developers. As usual, all our developments are released under the open source AGPL licence.

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 have been dedicated to large enterprises. We think we can change the market with OpenERP and give all the features of complete ERPs, while keeping the software easy to use and keep affordable implementation costs. In order to design the perfect software, our usability experts organized a lot of user testing sessions with lambda users to detect what could be simplified in OpenERP. For the v6.1, we wanted new users to be able to test the software without having to configure anything. OpenERP is now ready to use out-ofthe-box and the configuration wizards are optional and launchable afterwards. A new user can create his first 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 page reminds 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 the chart of account selection according to your country. If you install a module based on accounting, you will have to answer its wizard.

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:

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 system according to the modules you installed. A progressbar gives you the status of the overall configuration process.

All the configuration wizards have been reviewed for v6.1 in order to be more business oriented. In total, we developed _____ configuration steps to cover all official modules. Bellow, you will find 3 examples of these configuration 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:

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 rights configuration. Instead of assigning a list of groups to users, we created a dynamic view that represents all

the applications. It's more intuitive now as you just have to activate the application you want to give to a user. 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 understand what's a group. So, in the simplified view of OpenERP, we hid everything related to groups. The administrator just has to configure the access rights on the user form without having to understand what's a group 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 an inheritance 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 to your 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).

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 be easier 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 the columns 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

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 still face 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 :)

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 on projects efficiently and organize events in a few clicks. We think the next generation of ERPs should allow companies 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 some products, control their invoices and deliveries, etc... They are up-to-date with everything you do and all 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 his accounting 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, they automatically 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 by inserting 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 the v6.1 new features: http://...

Improved Email Integration


In version 6.0, we had different modules that used emails in different ways: the mailgateway, the mails sent from the marketing campaigns, email_template, and tools to send emails from leads and opportunities. In v6.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 an example 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 the invoice 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 gets connected to his instance with the suppliers invoice automatically created. After having done this, your customer is integrated with your own instance and all business documents you will share will be automatically created in the other instance. This will really open a new era of productivity between companies working together.

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.

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

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 different documents in order to collaborate efficiently. Based on the new sharing feature, you can design custom portals 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 the portal they can track their support tickets, ask for a database migration and follow the service, check the leads we forward to them, etc... We also developed a way to easily contact or give access to several partners to the portal and to manage the logins you give to your partners.

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. As the v6 web client was complex to maintain and to improve we thought it was the right time for a complete cleaning. 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 quite amazing: 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 some objects. This view allows you to recorganize easily your records (tasks, opportunities, recruitment, ...) and have a global overview of all records.

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 create expressions based on dates or many2one fields. If you save a filter and reuse it later, the filter appears in the same way so that you can easily modify it for different needs.

Dynamic Gantt Charts


Gantt view has been completely reviewed using the dhtmlxscheduler widget (http://...). Gantt supports filtering and the grouping through buttons of the search window. We added constraints between the parent and children elements but you can move the whole group by using shift drag & drop. We also added progress 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:

[( 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 ---

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 a quad 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 that monitors every commit made on launchpad branches. Each time there is a commit by a developer, it performs automatically the following operations:

install two databases (one without modules, one with all modules install) so that you can connect and 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 introduced on all official modules. At that time, the code coverage was 40%. In v6.1, we integrated a code coverage control 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 and whishlist) resulting in _______ emails discussions with the community in order to find the best way to improve the software. This community feedback is very important for OpenERP and it allows the software to grow so quickly in maturity. In order to manage all these feedback items we assigned _______ full time developers to qualify the launchpad bugs. If a bug is qualified, it was assigned to one of the ____ teams by activities: web client, sales & CRM, accounting, usability, ... _____% of the bugs reported by the community have been qualified as real bugs or accepted wishlist. On the http://feedback.openerp.com/ platform, we got ______ feedback items and ______ of them have been implemented (_____ %). This ratio is less on feedbacknthzn on launchpad because our priority is to clean and improve existing features rather than implementing new ones. Since v6.1, we also setup dashboards to control our performance by managing community feedback on launchpad and merge proposals. 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 launchpad but 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 the community and OpenERP.

Improve developers 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

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

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

Minor Improvements by Modules


Projects & Tasks: Improved productivity
Explain vertical view Better Gantt view

CRM: Improve your sales productivity


Explain the vertical view Explain 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

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 the development 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.