vendredi 29 mai 2009
Open ERP made language translation easy with Google Translate
Now translate Open ERP terms / fields / objects etc. in any language, as we have made it easier for you with the integration of Google Translate.
We have developed new module which can translate your terms using google translate, You can find menu here: Administration / Translation / Application terms / need review terms…
Google Translate
After Translation
Enjoy using your favorite OpenERP application with Google Translation.
You can get these modules on launchpad in trunk-extra-addon
Name of the module
1. Google_translate
Thanks,
OpenERP Team.
vendredi 22 mai 2009
Html Reports Using Mako Templates
Now you can create your HTML reports using Mako Templates for faster and formatted output.Open ERP has added new type of report called mako2html.
Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. This enables end user to make changes in format of report easily and faster as per her need.
Advantages:
1. Fast: simple three-sectioned layout mako template report takes 1.10 ms
2. Control structures constructed from real Python code (i.e. loops, conditionals) Which will allow user to create reports faster.
3. Straight Python blocks, inline or at the module-level
You can format the report as you need using HTML.
Requirements:
Mako 0.2.4 should be installed on your system.
openERP-server : Trunk version
openERP-client : Trunk version
openERP-addons : Trunk version
As an overview lets see a small example,
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<html>
<head>
<%include file=”mako_header.html”/>
</head>
<body>
% for o in objects:
<div style=”white-space: nowrap; float: left;”>
<address>
<p><small><b>Shipping address :</b></small></br></p>
<small>${ o.partner_id.title or ‘ ‘ } ${ o.partner_id.name }</small></br>
<small>${ o.partner_shipping_id.title or ‘ ‘ } ${ o.partner_shipping_id.name }</small></br>
<small>${ o.partner_shipping_id.street }</small></br>
<small>${ o.partner_shipping_id.street2 or ‘ ‘ }</small></br></address>
</div>
% endfor
</body>
<%include file=”mako_footer.html”/>
</html>
for your company header you need to include <%include file=”mako_header.html”/>
for your company footer you need to include <%include file=”mako_footer.html”/>
This files will bring the header and footer that you have defined for your company in the database.
Sale Order
For Complete Example of Sale_order please Refer the module sale_report_html from : https://code.launchpad.net/~openerp-community/openobject-addons/trunk-addons-community
Thanks & regards
Open ERP team
vendredi 15 mai 2009
IRC Community Meeting on 18 May 09
Hello Everybody,
We remind you the next IRC meeting of this Monday May 18 at 3:00 PM (GMT+2), we suggest you to take note of the points which we will approach during this event:
Branch stability
Installation of an integration server
Creation of a forum which talking about the specifics developments
Creation of a virtual machine intended to help the new users to start with open erp
Contribution to edition of data demonstrations
Call to volunteers to enrich the data of openerptv
Road map: Talking about the last and future developments
Here thus the principal points which will be approached, but all new topics of discussions are welcome ( http://openobject.com/forum/topic11012.html)!!
Thanks and Best regards,
R&D: Planning of May
1) Planning Management: the new system will allow you to easily plan the work of employees and see, at the end of the planned period,
- the ratio between the time spent and the time allocated by projects
- the total time planned by tasks
- ...
2) Improve the Server Actions: as we found some lack, like the impossibility of using 'uid' as variable, we plan to make some R&D on this interesting feature to make it more powerful.
3) Implement the search function on osv_memory
4) Speed up timesheets: we realized that they were a little slow, so we decided to check the design and improve the speed.
5) Improve Quality Module
6) in CRM, we plan to add info to connect to existing mail server, like Fetchmail, for people that doesn't want or doesn't have the resource to configure the openerp-mailgateway
7) ETL: we have several people full time on this project
8) Multi-Company: we will add a many2many on res_users to depicts the companies for whom the user is working. And we'll also allow someone to directly change the company used currently easily, without having to log out: directly by going through the user preferences + display it in the status bar
9) Clean Translations Process
10) Integration Server: this point is quite a big project, we will start the development of an integration server that will have for aim (examples):
- Automatic Test at new Commits: Download Code at each commit and try: to install a new DB, to migrate from 4.2
- Base Quality: to benchmark automatically addons modules
- Code Cover at DB Installation: to see that demo data only cover 60% of once module code for example
11) Ergonomic Search + List: This is another big task, since we plan to review the design and ergonomy of search/list because The biggest useability/ergonomy concern on Open ERP are:
- * The menus: too big, too much entry for the same objects -> not clear
- * The search:
- - no easy way to perform complex search (&, |)
- - no way to have smart search:
- - My Department's Timesheets to Validate
- - My Overpassed Pending Tasks
- * The list view:
- - quite ugly: no way to group elements:
- - tasks by projects or
- - by date: Today's Meeting / Tomorrow's Meetings / Others Meetings
- - not useful (no way to perform easy actions on records from list view):
- - mark a task as done
- - replanning a meeting
If we change these few elements, this will increase a lot the usability and
ergonomy of Open ERP. These changes are planned to be done in GTK and Web client.
12) Explain contextual help in configuration wizard at installation of db.
13) Port everything to etree instead of minidom
Remove completely minidom dependencies and replace by etree.
Most important: reports, fields_view_get
14) Report Engine: Test and clean all reports based on work made last month + Add a new report engine to process HTML reports based on mako
15) Document Management: test and put in production with extra modules
16) Wiki: re-test and provide a more complete documentation
Write a chapter in the book about the wiki, write a more complete wiki page
17) Project Module: Set Task Description as a wiki field
18) eTiny
- Bugfix Trunk (nearly ok)
- Speed Improvement (nearly ok)
- Search and List View Ergonomy
- Better Dynamic Menu
- Buttons in wizards in the bottom
- Contextual doc in new window
- Things to clean: view editor: gantt support, new attributes for seach view (see related task)
19) Import / Export from client side, GTK + eTiny
Using "id" and "___:id" for man2one and many2many fields
Add an option to export:
- import compatible: it exports something that can be imported as it:
- don't export function fields
- don't export sub-objects of one2many and many2many
- export many2many as list of arguments
20) Google-Map/Earth : Finnish and clean geo-marketing stuff
21) Finnish and clean l10n_fr: Integrate CERFA declaration
22) Translations: Check that 100% of the software can be translated! Check if google_translate module is a good solution or not. Review manually all translated terms of the french translation.
23) Test Thunderbird plugin
24)Review completly project_gtd module according to new possibilities of
ergonomy of the clients:
Search on timeboxes display as selection box and has two buttons:
Inbox
Daily Timebox (first one)
Context Search:
One button by Context
Add buttons in list view on the right of Timebox field:
> (move on next timebox, ex: from daily to weekly)
< (move on previous timebox) My Inbox is an action 25) Review completly CRM case views according to new possibilities of ergonomy of the clients: Buttons/Icons in list view (like in forms) Search Criteria 1 Day 26) New Design eTiny 27) Module Recorder / Aspirateur To bugfix and to clean the produced XML: it should be more human readable 28) Backport all bugfixes stable -> trunk:
29) Portal: Make the portal module useable 'out-of-the-box'
30) The ORM layer is being ported to SQL Alchemy. We plan to remain the most
compatible possible so that you will not have to rewrite existing modules,·
while using the most possible of SQL Alchemy features. We planned 3 man*months. on this project and expect to finnish this by the end of may / middle of june. The final result will provide:
- being database independant: support for MySQL, Oracle
- use the power of SQLAlchemy in your module's code
- add features provided by SQL Alchemy
- data versioning (time dependant dat in fields)
- better schema migrations/handling
- more powerful orm, supporting expressions like: partnerid.country_id.name == 'Belgium"
- use less memory due to a better connection pool handling
31) Finish training / school management modules.
We are expecting same level of enthusiasm and contribution from Open ERP community as past.
Thank you
Open ERP team
R&D: Feedback of April 09
Well in last month, lots of improvements have been done in the trunk version of Open ERP (server and addons). Here are the most important of it.
Reports:
The Open ERP report engine has been completely rewritten from scratch to speed up and streamline the report generation process. It uses the same technologies than the proceeding engine (RML, ODT) and is API compatible.
Compared to the old engine, a 150 page report for sales orders:
Old report engine: 1 Minute 40 Seconds
New Report Engine: 9 seconds
It also uses much less memory as the XML report is not any more in memory during the rendering process. This allows to generate very big reports without troubles (10.000 pages).
All transitions have been reviewed: odt->rml, rml->pdf, rml->html. We also added a new engine for the generation html->html. This modification is so important that it have been backported to branche/5.
Besides, there is now a new type of report supported: HTML2HTML.
Server:
Since v5 of Open ERP, function fields on objects can be defined as being stored in the database with the store attribute. This has considerably speed up the process, because computations of these fields are done when the user write the record and not any more when it reads the record.
We have now added an extra attribute on store, so that is act like a cache system, and re-evaluate this field, not at each record change but every X minutes. That could be very helpful for stock fields for example that will be automatically updated each hours if they are modified. This allows us to speed up some process (like reading a list of products) by 80% !
Example:
'amount_total': fields.function(_amount_all, method=True, digits=(16,2), string='Total',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 20, 10),
'account.invoice.tax': (_get_invoice_tax, None, 20, 10),
'account.invoice.line': (_get_invoice_line, None, 20, None),
},
multi='all'),
here amount_total fields will only updated if modified date of account_invoice + given_time(10 hours) <>
eTiny:
Changes made on eTiny:
- speed up (about 7x faster than current stable version)
- replaced kid templates by mako
- removed turbogears dependencies
- use OpenFlashChart 2 -> better graphs
- new widget system
To know more about this, we hereby forward you there
Thanks to Contributor / Partner : ALMACOM
Addons:
Intra-Stat
We now have a better tracability of exported goods, thanks to the module report_intrastat that is reporting detail of intrastat entry base on valid and paid invoices. Besides, we also developped a module named electronic_report_intrastat that provides a new wizard to export intrastat entry data into .SDV file format and a track log detail of exporting data.
Indian Accounting developments
Some progress have been made in the Indian accounting: see l10n_chart_in (module providing the chart of indian accouting), account_invoice_india, account_reports_india (module providing the 3 most Important Reports for the Indian Accounting: Trial Balance, Profit and Loss Account, Balance Sheet)
account_base
Accounting Base Properties is providing the,Basic properties for the Customer / Suppliers for the Accounting i.e. PAN No, TIN No, Sales Tax No, and Exise related Information.(Added wizard which is taking all related detail of partner.)
multi_company_account
Convert all related object into multicompany compatible format.
purchase_number
* add new feature that will create number on confirmation of the purchase order.
* modified Format of purchase order report which show the detail purchase order with supplier required detail which are new fields in partner through account_base module. "
sale_number
* add new feature that will create number on confirmation of the sale order.
* modified Format of sale order report which show the detail sale order with customer required detail which are new fields in partner through account_base module.
Direct Marketing
CRM Improvements
Lots of things have been improved. Let's take in example the rules (crm.case.rule) that now offer you more possibilities: you can now make condition on the name of case, or in the communication history. The new system also allows you to trigger a server action as ruling effect.
We also worked on the ergonomy by defining new wizards and shortcuts to simplify the use, by reviewing the views... the list is too long to post everything here! I encourage you to test and suggest improvemnts through blueprints on launchpad.
Thunderbird plugin
* synchronise all type of attachments.
* added section field in sync mail window so that we can archive mail to crm.case directly with selected sections.
Webstite:
Also, things have been made on websites:
* all modules are available online for download in all versions (see modules list)
* contributors can write comments in the documentation
* contributors can vote on modules
Community Work:
This section will list all modules that have been added by contributors in addons-extra and addons-community. Again, thanks to everyone that improves Open ERP!
1. location: lp:~openerp-commiter/openobject-addons/trunk-extra-addons
multilogin_portal
contributor: La Ferme du Sart
description: Allows xmlrpc queries from partners email+password as:
- Customer standard user
- Provider standard user
Allows xmlrpc queries from computers (IP automatically recognized) as:
- Computer standard user
Standard users are set into res.company.
mrp_bom_customization
contributor: Smile
base_vat_unique
contributor: vitrum Network
description: Check VAT Number is unique
l10n_ch_zip_and_bank
contributor: Camptocamp SA
description: Swiss localisation : Swiss banks and zip codes initialisation
2. location: lp:~openerp-community/openobject-addons/trunk-addons-community
zarafa
contributor: Sednacom
description: New objetcs and views to improve use of OpenERP:
* shortcuts view
* module view
* email object
* Zarafa tools
product_price_update
contributor: Gábor Dukai (http://exploringopenerp.blogspot.com)
description: The aim of this module is to allow the automatic update of the price fields of products.
* added a new pricelist type called 'Internal Pricelist' (currently, we have only 2 pricelist types: Sale and Purchase Pricelist)
* Created a wizard button in the menu Products>Pricelist called 'Update Product Prices' * After filling in the wizard form and clicking on 'Update', it will change the selectedprice field of all products in the categories that we were selected in the wizard.
base_report_unicode
contributor: Gábor Dukai (http://exploringopenerp.blogspot.com)
description: This module replaces the standard PDF Type1 fonts with TrueType fonts that have unicode characters. The module contains the DejaVu fonts v2.29 from http://dejavu-fonts.org/
With this module you can continue to use the old font names in the templates, they will be replaced with the DejaVu font names every time before creating a pdf.
hnm_heofax
contributor: Heonium (http://www.heonium.com/contributions/developpement/envoyer-des-fax-avec-openerptinyerp.html)
description: Add a possibility (wizard) to FAX any documents (PDF/PS/Text) from OpenERP. It get fax number and other informations from OpenERP's partners database. Check the module description for further infos.
stock_period
contributor: Sednacom (http://www.sednacom.fr)
description: manage stocks in time period
alerts
contributor: Sednacom (http://www.sednacom.fr)
description: Add an alert generator on every ressources of the system.
rollmanagement
contributor: Sednacom (http://www.sednacom.fr)
pricing_policy
contributor: Sednacom (http://www.sednacom.fr)
description: Pricing policy module. Install this module to enable a strong link between sale and purchase prices.
ecotaxe
contributor: Sednacom (http://www.sednacom.fr)
description: Eco participation' management This module adds the management of 'Eco participation' in TinyERP. 'Eco participation', mostly known as 'Ecotaxe', is a french specificity; its purpose is to finance recycling of products with a high cost of treatment. Install this module if you need to manage 'Eco participation' in your business.
Module features:
- amount of 'Eco participation' for product by producer
- 'Eco participation' management in sale orders, purchases orders and invoices.
business
contributor: Sednacom (http://www.sednacom.fr)
description: regroup object for a business
supplier_product
contributor: Sednacom (http://www.sednacom.fr)
description: Automatic pricelist for product's supplier
sednacom_extras
contributor: Sednacom (http://www.sednacom.fr)
catalog
contributor: Sednacom (http://www.sednacom.fr)
description: Report for catalog
hr_medical
contributor: Sednacom (http://www.sednacom.fr)
description: Advanced management for Medical Exam
product_loan
contributor: Smile.fr
account_bankimport
contributor: Tiny / Eddy Boer
description: This module can import .asc-files (BRI-layout)
fleet_manager
contributor: Sharoon Thomas
description: The module is a vertical for fleet operations management
sale_simple_pos
contributor: Smile.fr
description: Very Simplified Point Of Sale; if you are not sure about using the official pos module...
product_hardware_revision
contributor: Smile.fr
description: every product can have n revisions and also have a current default revision. Then when receiving a product, in the incoming picking, if a stock.production.lot (eg serial number here) is to be created, then a first line of stock.production.lot.revision is created in the stock.production.lot with values copied from the product default revision. The user can still choose an other revision manually before it gets copied. This is really useful to track the exact hardware of a product with electronic products fro instance.
base_partner_security
contributor: Gábor Dukai (http://exploringopenerp.blogspot.com)
description: Adds a restricted field to partner categories. That field value is copied to the partners and partner addresses belonging to those categories. With this, it is easy to restrict access to some partner categories using record rules. Example domain to use with record rules or views: [('restricted','=',False)]
product_price_decay
contributor: Smile.fr
description: Product Decay the goal of this module, is to estimate the average price of the remaining product stock using the following assertions: - the remaining stock is based on the invoiced products only (from purchases and sales) - everything happen like if we sale first the more expensive remaining products So it's a bit like FIFO (if prices were always falling it would look like FIFO) but it's certainly not a legal way of valuing your stocks. Actually this module only gives you an indicative price that you could base your sale margin upon, so that: - you always ensure a given margin - you make sure your sale price will follow the market, meaning decay hopefully
product_tax_incl
contributor: Smile.fr
description: Product Tax Include Allows to compute the based sale untaxed amount given a taxed amount entry (change the list_price on on_change)
jeudi 14 mai 2009
Business Analysis On Click With Open ERP BI
We have made it very simple for end user, You can enjoy its functionality with just click of mouse and make the analysis of business data in few seconds. Starting with simple drag and drop, end user can make the simple report, which can be refined with the drills to deep levels and making the complex and detail reports based on business data. Filtering of data can be done with one click allowing end user to filter data according to the need. Reports generated can be seen in the form of graphs and charts too. With every step the MDX query is generated, which can be edited to change the output. Output can be saved as query and can be viewed or can be extended later.
Here is an example of sales data analysis using Open ERP Business Intelligence. In this example one can see how end user can easily configure BI cube and analyse sales data for - product category wise total sale, sale of particular product in particular region, date wise product sale, product sale based on number of unit, further end user can increase criteria for analysis as per need.
Cube browser in action
So, enjoy the futuristic BI application with Open ERP application and get the accurate analysis of your data as per your choice.
To get OLAP module go to lp:~openerp-commiter/openobject-addons/trunk-extra-addons
To get Web Client go to lp:~openerp/openobject-bi/client-new-trunk
Please note that these developments are still a prototype developed on trunk version. It’s fully working but not yet fully integrated in the main branch of Open ERP. We plan to integrate new client developments, like BI and Webmail in the new version of the web client, because this new version will integrate a client side plugin system. So, it’s better to wait for a few months before using the BI system, the v5.2 (or v5.4).
Thanks & Regards,
OpenERP Team.
mardi 12 mai 2009
Open ERP Web - What's going on?
All the Kid templates are converted to faster Mako templates, i18n/l18n features have been partially reimplemented using Python Babel, CherryPy2 (TG is built on top of CP2) was replaced with CherryPy3, the latest, much better version of CherryPy Server.
This greatly reduced the pain of getting started with and deploying of Open ERP Web client. Now the number of third party dependencies are reduced to 3-4 pure Python libraries which you can install within the local lib dir with the help of `populate.sh` script, found under the same lib directory. Just get the source from Launchpad, run the populate.sh and launch the web client...
The initial test results are very impressive. We have seen almost 3-5 time speed improvement. Here are the benchmark results of the latest trunk version against the stable 5.0 branch which is running over TurboGears.
The benchmark test was done using Apache Benchmark Tool against relatively bigger Customer Invoice Form view. The command was used like this:
$ ab -C session_id=$session -n 100 "http://localhost:8080/form/edit?model=account.invoice&id=1"
where $session should be replaced with session id (you can use firebug to see the session id).
Here is the comparison between before and after improvements in Open ERP web client
Result of Open ERP Web 5.0 (TurboGears + Kid) | Result of Open ERP Web Trunk (CherryPy3 + Mako) |
This is ApacheBench, Version 2.3 <$Revision: 655654 $> | This is ApacheBench, Version 2.3 <$Revision: 655654 $> |
Concurrency Level: 1 | Concurrency Level: 1 |
Time taken for tests: 166.323 seconds | Time taken for tests: 42.054 seconds |
Complete requests: 100 | Complete requests: 100 |
Failed requests: 0 | Failed requests: 0 |
Write errors: 0 | Write errors: 0 |
Total transferred: 8022000 bytes | Total transferred: 9063400 bytes |
HTML transferred: 7996500 bytes | HTML transferred: 9039400 bytes |
Requests per second: 0.60 [#/sec] (mean) | Requests per second: 2.38 [#/sec] (mean) |
Time per request: 1663.228 [ms] (mean) | Time per request: 420.543 [ms] (mean) |
Time per request: 1663.228 [ms] (mean, across all concurrent requests) | Time per request: 420.543 [ms] (mean, across all concurrent requests) |
Transfer rate: 47.10 [Kbytes/sec] received | Transfer rate: 210.47 [Kbytes/sec] received |
Connection Times (ms) | Connection Times (ms) |
min mean[+/-sd] median max | min mean[+/-sd] median max |
Connect: 0 0 0.0 0 0 | Connect: 0 0 0.0 0 0 |
Processing: 1556 1663 71.3 1663 1856 | Processing: 382 420 27.7 415 523 |
Waiting: 1555 1662 71.3 1662 1855 | Waiting: 381 420 27.7 415 522 |
Total: 1556 1663 71.3 1663 1856 | Total: 382 420 27.7 416 523 |
Percentage of the requests served within a certain time (ms) | Percentage of the requests served within a certain time (ms) |
50% 1663 | 50% 416 |
66% 1681 | 66% 418 |
75% 1695 | 75% 420 |
80% 1715 | 80% 424 |
90% 1775 | 90% 436 |
95% 1801 | 95% 512 |
98% 1829 | 98% 520 |
99% 1856 | 99% 523 |
100% 1856 (longest request) | 100% 523 (longest request) |
Conclusion
You can see significant performance boost in second test result. We observed 3-5 time speedup. There are still room to improve the performance further. Like reducing RPC calls, catching results of some computationally heavy functions. Implementing a way to directly call server methods if web client and server are installed on the same system (completely eliminating TCP layer).
What's next?
Besides this, we also planned to make web client modular implementing plugin system which let you create your own plugins to extend the functionality of the web client. We appreciate your ideas and suggestions in this regards.
Also, we have planned for a better main menu & tabified interface (similar to GTK client) where you always have access to the main menu and all views will be opened in tabs inside the same html page instead of utilising browser tabs. We had discussion about such interface previously, you can search the forum for a very good mockup implementation.
We are also thinking of writing some automated unit tests using CP3 testing API. We already wrote some basic tests to check how to proceed. You can run all tests by launching `run-tests.py` script...
We greatly appreciate you ideas, suggestions in this regards...
Thanks and regards to all contributors
Open ERP Team
Save time/money with Open ERP web client.
mardi 5 mai 2009
Integration of Open ERP with Google Calender and Google Blogger
We have developed a module which synchronize Google-Calender events with Open ERP events. So, now get updates of calender schedules from google calendar in Open ERP and vice-versa. Users can change event schedule form any where, with her google calendar which automatically updates Events in Open ERP.
Another development is integration of Google Blogger and Open ERP Task Management, which exports task to blogger and one can get comments on his / her activity on mentioned tasks. A very useful feature of blogger, that is open discussion will be enhanced the development efforts. This feature helps in managing large projects with many tasks and many users working on different task (simultaneously), with this functionality all users can share their progress for the task with others and give their comments for the same.
Enjoy using your favourite Open ERP application with Google Calender and Google Blogger.
You can get these modules on launchpad in trunk- extra- addons. https://code.launchpad.net/~openerp-commiter/openobject-addons/trunk-extra-addons
Name of the modules
1. Google_calendar
2. Google_blogger
Thanks
Open ERP Team.