mardi 9 juin 2009

Feeback for May '09 Developments


Here is the feedback of the last month's work.

1.Report Engine :
Open ERP Report Engine has added new type of report called mako2html to parse HTML reports using MAKO template for faster and formatted output. See more detail :

2.Multi-Company :
Now User can directly change the company without having to log out, directly by going through the user preferences. and also Current company is displayed on status bar.

3.Google MAP in Open ERP :
We can see our partner information on google map(name, code, address,...) with icon on map.
Display country wise Partner Turnover, country appears in different colors like
light red color => high turnover
dark red color => low turnover
Display Delivery routes from Warehouse location to Customer location by cities with 10 different colors (by number of delivery to that city from warehouse)

Note : It generates KML file so you can save it on your computer and upload it on google map or google earth.
Required python packages : Google direction package

4.Google Translation in Open ERP :
Now we can translate Open ERP terms / fields / objects etc. in any language using integration of Google Translate. And also we can see unreviewed terms and review easily
see more information :

5.CRM :
*On Case Section, we can configure the mailgateway through fetchmail to specify the parameters pop address, port, user, password, mailgate script path. When save mailgateway configuration, parameter file will be created per section in "server > bin > .fetchmail > dbname" . and scheduler will be read this file and call system command to fetch mail
*After click on Reminder button in case form, Window will be display message "Email Successfully sent !" if mail successfully sent
*Improve to accept html body

6.Base Quality module :
This module has been reviewed and should now be more accurate and more usable. As reminder, the base quality module allow you to check the quality of a module using different criteria (pylint, speed efficiency, coding standard followed by openepr, etl...).

It evaluates score in percentage (%) for whole module as well as it can provide score for individual tests, also it can skip some tests if module is not installed in server (workflow test...) so that your score is not bad for no reason.
Use Ponderation value to calculate score. It allows you to save the result of test (Save Report button)
Module also provide generic framework to define your own quality test.
Note : For more information (README.txt)

7.Document modules :

document_rules :
Document Rule module is mainly developed for creating rules on documents.
There are four types of rules which are defined in server actions: To copy document, To move document, To Assign partner to a document and To assign user to a document.
These rules are fired when rules criteria match on the basis of time defined in the scheduler.

document_extention :
Document extension module keeps track of versioning of documents.
Any change is made to the document and saved then it creates version of that document and the versioned document gets locked. The user cannot modify the document if it is versioned. 

8.Usability Improvement :

*Make Partner Category structure view, Products Categories structure view, Analytical Account Structure View same like Stock Locations Structure view
*Rename “Administration > Security > Grant Access to Menus” into "... / Manage Menus"
*Change Order of menus in Product menu. Before, It was like this: Configuration,
Product's by Categories, Pricelists, Products. But Now It is like this: Configuration, Pricelists, Products by Categories, Products
*Rename field "Rentable Product" by "Can be Rent" in Product Form.
Reorder invoicing menus, the New ... Invoice is always the first menu of his level. It should be the latest one. For example, "New Customer Invoice" must be after "Unpaid Customer Invoices".
*On a task form View, second tab, put the text fields.function bellow the one2many and many2one for parent task.
*On a Task View : the fields Importance, Starting Date, Sequence, Partner, can be changed when the task is draft. (can always be changed). Currently, they are readonly.
*In the project management menu, rename "Template of Projects" by "Templates of Projects".
*On a tracking lot, put a link on the right of the lot to get the stock by location.
*On Periodical Inventory, Add the state cancel and the buttons for the following transitions: draft -> cancel, cancel -> draft
*On Outgoing products form, the stock.move lines must have a colour according to their state: grey for confirmed, black for others, blue for done
*The menu: Reporting / Traceability / Stock by Lots should open in list view instead of form view.
*On stock.picking, rename the state: Cancel -> Cancelled
*Now The report dates of inventories displays product field instead of ID of products
*On a purchase order, rename the state "Confirmed" by "Waiting Supplier Ack.".
*On a purchase order form, the “Address” should be renamed to “Supplier Address”. “Partner Ref” has been renamed to “Supplier Ref”.
*In manufacturing, put good icon of the menu Production Orders Planning .
*Change the cases segmentation form, user department form, Scheduler action form to be compliant with v5 guidelines of the form view. (a few fields on the top of the notebook)
*Add Gantt view on CRM Meeting
*Override the name_get method on a stock.location object. If you have 'full':1 in the context, return the full path instead of simply the name: "Tiny Sprl / Stock / Stock Wavre". Change the report Stock by Lots so that it displays the location like this

9.New System in Planning Management :
The module report_analytic_planning has been completely reviewed.
*New integer field for 'Business Days' in planning
*Improve view and do a fixed area in top (as for new design since 5.0)
*Change the default name to be the current month instead of the current day
*Put link between planning and project.task
*New a boolean field on planning line: "Assigned to task(s)" to check task assigned or not for planning line.
*Display Planning By User with him department' user, total of remaining hours of tasks, total plan hours, total open hours, total of Valid holidays Requests between the 2 dates of the planning, calculate free hours, total of timesheet lines between the dates of the planning
*Display Planning By Account with above information

10.ETL :
- Pause and restart the job (Under developement)
- Thread server implement on demo
- pickle object to store the current job status

- Python Cprofile
- added concept of cprofile on job in run

New components:

google calendar
- connector => Provide connection to google calendar
- in => fetch events from google calendar
- out => send events to google calendar

google documents
- connector => Provide connection service to google documents
- in => Fetch files from google doc
- out => send files to google doc

gmail contacts
- out => send contacts to gmail contact for given user

connector => Provice connection to blogger service
out => send blogs to blogger


New Test Files
test file for xml_in and xml_out (demo data in xml with different companies):
- added test files which convert xml to dictionary format and vice versa
- try to use XSLT for import and export of xml files (Under development)

New components views added(google calendar, google documents)
Dynamic views creation of all components
views improve for job
Add components and transitions from job object
Modified workflow for pause and restart the job

11.Ported etree object instead of minidom object

12.Thurnderbird pluging :
Here are few enhancements, improvements and bugfixing have been done on thunderbird plugin.

* If the thunderbird plugin is not installed or if it's not correctly configured, the proper error message will appear.
* Restructure module addons-extra/thunderbird
* When you want to archive a mail containing an attachment, it opens a window saying "Mail contains attachment!". This window is not useful so removed.
* Rename "Create" button on the bottom left corner to "Create Contact".
* When you archive an email with attachments, it asks Would you like to also save attachments of the email:
- Cancel (don't save anything)
- No (create case only)
- Yes (create case + attachments)
* If it's linked to a partner or address, it will fill in the partner and/or address when it creates a case.
* We have two buttons to archive from the archive window:
* Create Case (the current action)
* Attach (don't create a case but save the email as a normal .eml
file + his attachments, on the selected object). -> this one does not need a section.
* Select all model and search.
* Reviewed all dialogue window. It will ask for Cancel and Ok at the right in each window.
* We have found few bugs and enhancements at the time of testing. We will fix it soon.
Testing on windows platform is going on.
Some modules are in trunk community addons :

Contributor : Veritos - Jan Verlaan (

Contributor : Pegueroles SCP (
Featutes :
* Enables batch printing
* Correct memory leak when printing crashes
* Permits reprinting lost PDFs
* Possibility to send jobs to a printer attached to the server

Contributor : Niels Huylebroeck (
* Price Adjust Wizard :
This wizard will allow you to adjust Cost Price and Sale Price for entire categories.
We can either set a fixed price or use a multiplier to increase or decrease the price.

Contributor : Alberto Garcia & Tiny
Features :
* Add Sale Customer Ref to Invoice
* In each invoice line show the customer ref of Sale Order origin

Contributor : Tiny (
* New HTML report of sale order using MAKO template
* Note: Your system should have mako 0.2.4 installed.

Contributor : Paulino

Contributor : EduSense BV (

Features :
Module to add any TrueType font to reports. This module transparently extends the report machinery to use TrueType fonts. The normal mechanisms used in Open ERP use the standard Type1 fonts in a latin1 encoding. This prevents usage of wide char character sets, known as UTF-8 and UTF-16 fonts.
This module enables the usage of any TrueType font, which are by definition UTF-8 encoded. The implementation chosen is a one-time registration of all found TrueType fonts in locations as advertised by rl_config.TTFontSearchPath during startup of the server. The path can be adapted to your needs. See reportlab's documentation for the details.
The consequence of this implementation is that new fonts will only be loaded after restarting the Open ERP server. Advantage is that the penalty for scanning and registering is paid only once every server run.
After loading, all reports generated by Open ERP can use these fonts by stating their formal mapped Type1 name, which can be found by running 'ttmkfdir' in the directory containing the fonts (unix like platforms). The typefaces will be listed in the file 'fonts.scale'.

* One should be able to replace existing fonts using a map.
* One should know the registered fonts without peeking into the file system, let alone using rare utils.

lundi 8 juin 2009

Commiting in Launchpad: Guidelines


This message is for all Open ERP contributors, to depict our new policy in terms of commit and bugfixes into Launchpad. As you are directly concerned, read carefully the following 4 points and don't hesitate to give feedback!

1. The stable branch must be used for bugfixes only. The new features (+the bugfixes on these new functionalities) have to be done in the trunk branch. Note that, we will backport periodically all the fixes from stable to trunk.

2. Always set the author's name, if it's different from the person who has committed. I heard that some contributors have seen their work has been commited without mentioning their name in the commit message: this is not acceptable at all.

We have to show respect for them and for their work, so please use --author="<author_name>" when merging work or patching features from community.

e.g: bzr commit --author="<author_name>"

3. Format to commit message :

* Use header in each commit message. Header should be out of these: [IMP], [FIX], [REF], [ADD], [REM]

[IMP] : For improvements

[FIX] : For bug fixes

[REF] : For refactoring (improvements of the source code, without changing the functionalities or behaviours. See for further details)

[ADD] : For adding new resources

[REM] : For removing of resources

* Always put meaning full commit message.
Commit message should be self explanatory (long enough) including the name of the module that has been changed. Do not use single words like "bugfix" or "improvements" any-more! (the only single word to commit message accepted is "merge")

* If you are fixing the bugs use --fixes=lp:<bug_number> instead of putting the number of the bug in the commit message.

* Use the revision id instead of the revision number when you make reference to a revision in your commited message. You can get this revision id, by using the command "bzr version-info".


Not Correct : bzr commit -m “[FIX]: reverted bad revision (cannot install new db) with revision number:525425”

Correct : bzr commit -m “[FIX]: reverted bad revision (cannot install new db) with revision number id:”

Not Correct : bzr commit -m "Bug 568889 : typo corrected"

Correct : bzr commit --fixes=lp:568889 -m "[FIX] account module: typo corrected"

4. Don't make commit which simultaneously impacts lots of modules. Try to splits into different commits where impacted modules are different (It will be helpful when we are going to revert that module separately).

Thanks & Regards,

Open ERP

jeudi 4 juin 2009

Open ERP Integration With Google Map


We have come up with new features, which gives you flexibility to get your data like, partner information : individual partner information, country wide partner information on Google MAP with just one click. It is very simple to have your data from any Open ERP database on Google MAP.

Now, we have made it easier to trace partners information with name, address, code, receivable and payable, etc on a single click from Google map. More over you can get contry wise data for total number of partners, complied with number of invoices made and total turnover for respective country. Also you can find delivery routes with customer and warehouse locations, with number of deliveries and number of products sent.

This will provide great ergonomic and rich ERP interface to end user. With this, in few clicks you can analyse and keep track of your business in real time.

How to use:
- Install Google_earth on your Open ERP database.
- You will find this module at Menu -> Partners -> Google Map / Earth
- You will get
- Customer on map with turnover
- Partners country on map
- Delivery routes find

- By running these wizard, you will get KML file, upload it in your google map account
- Now, enjoy looking at analyze data on Google MAP.

Thank you,
Open ERP Team.