5. OpenERP Apps
• Origin: Loempia project by stw, chs
• For end users
– User-friendly, easy access to applications
– One Stop Library
• For Community
– Instant mass visibility
– Auto-import of new modules and versions
– Statistics about popularity
– Ownership of code branches
6. OpenERP Apps
• Categories
• Call for contributions!
– update branch layout
• <branch>/<module_name>/__openerp__.py
– update description and screenshots
• Phase out extra-addons
• Future: rating, speed
13. Nobody can handle this alone!
• We defined feedback processes
– Bug reports
– Feedback
– Merge proposals
• We created dedicated Teams
– Qualify the feedback
– Follow-up
• We monitor
– Dashboards
– Continuous Improvements
17. Continuous Testing
Buildbot Runbot
• Auto branch import • Auto branch import
• Full test suite • Online live install
• Email feedback
buildbot.openobject.com runbot.openerp.com
28. OpenERP Client Web 6.0
• New design
• Still a classical web 1.0 application
• HTML generated server side
• GET POST
• Some client side Javascript
– Mix of serverside and client side
– Unclear semantics
41. OpenERP Web Linkable
• Using hash #url
• Controller serialize() part of their state
• domain.com/#menu/12/crm_lead/24/form
• Controller can unserialize() to restore their state
• Add link icon
43. OpenERP Web Embeddable
• Embed button
• <script>generatedcode</script>
• Paste script snippet to paste to any webpage
• No need to interface openerp server.
– Share permission using records rules
– JSONP tranport
44. OpenERP Web Plaform
• Leverage the existing controllers and widget
• Easy access to openerp objects
• Transform existing wizard into web apps
• Example:
– POS
– Contact form
– E-commerce shopping cart
– Survey module
45. OpenERP Web Mobile
• Subclasses the normal controllers
• Use JQuery UI mobile widgets
46. OpenERP Web Roadmap
• Workshop tomorrow in room
– Share your ideas on:
http://pad.openerp.com/webclientimprovements
• Launchpad branch:
– lp:~openerp-dev/openobject-client-web/trunk-proto61
– Contributions welcome!
• Roadmap
– 80% done 1.5 month
– 20% will take 50% of total time
– Estimated 1.5 month more
49. R&D Strategy
• 3 main types of developments
– New features
• Added value for customers
– Usability
• No added value
• Helps new users
– Core improvement
• No visible value for customer
• Long-term productivity
50. R&D Strategy
Community/Partners Publisher
• New features • New features
– Paid by customers
– Only if useful for mass
• Usability
• Usability
– Training cheaper than UI
improvements – Publisher's role
• Core improvements • Core improvements
– Specific development when needed – Major refactoring
• Examples: • Examples:
– Improvement to 1 YAML test – YAML tests for all modules
– Bugfixes – Global refactoring
– Medical – new Web client
– Country-specific payroll – Generic Payroll
51. Projects (part 2)
• Projects
– Communication and sharing tools: portal, …
– Usability
– Core improvement: emails, import openerp
– Third-party integration
– Payroll
– Point of Sale
53. Sharing Module
• Introduced in v6.0
• Improved in trunk/v6.1
• Web add-on
• Read-only / Full access
• Automatically computes
access rights for
appropriate restrictions
54. Portal Module
• (Re)-introduced in trunk / v6.1
• Easier setup via share module
• Maintains settings for a group of users:
– Access rights and filters
– Dedicated menus
– Homepage widgets
• Example:
– New Partner Portal (more on this on Friday!)
55. Next, in communication tools...
• Email notifications for business flows
• One-click sharing of single documents
• Replacing “internal requests” with emails
• ...
58. Email subsystem: unification
• Before: mix and match of email features:
– Core framework (tools.email_send)
– Mail Gateway module (e.g. crm history)
– Email template (marketing campaign)
– Etc..
• Interoperability problem: different models
• No consistency
59. Email subsystem: unification
• After:
– One single model for each concept (mail, server...)
– Layered architecture, each feature at the right
level
62. Vision
● First step : develop comprehensive software
● Second step : Integration with third party
software
– Salesforce
– Sugarcrm
– Quickbook
– …..
63. Easy to use
• Embedded module, no external scripts
• oriented end user
– No complex configuration
– Simple wizard
• Just provide login, or a file to upload
• Import just what you need
64. How ?
Connection to
Web service
Mapping: Create/update
field, link Data in openerp
Import
data file
68. Payroll Project
• Objectives
– Make a generic payroll engine
• Powerfull
• Easy to complete with countries specificities
• Compliant with all payroll concepts possible
• Easy to use
– Proof it's working with « belgian/indian payroll »
modules
• Based on generic payroll
• No need to create specific python code
– Integrate the payroll with the accounting and HR
69. Payroll Project
• Progress 120
– Generic payroll 100
engine
– Reporting on 80
generic payroll Generic Payroll
Engine
60 Reporting on
– Belgian/Indian generic payroll
Belgian payroll
Integration with
payroll accounting
40
– Integration with
accounting 20
0
Progress (%)
70. Payroll Project - Objects
• Salary Rules
– Determines an amount to add/subtract on the
employee payslip
– Determines an amount to be paid to a contribution
register
• Contribution Registers
– Third party to whom the amount have to be
paid/collected
71. Payroll Project - Objects
• Salary Structure
– Contains a set a rule
– Hierachical
• Salary Heads
– Groups logically the rules
– Hierachical
72. Payroll Project - Computing
• Payslip
– Salary can be based on contract wage or worked days/hours
– Connected with holidays
– Multi-contracts
• Rule
– Can be computed using
• Any field on employee/payslip/contract
• Any input in the tab « Worked Days »
• Any rule/head already computed
73. Payroll Project
• Workshop tomorrow in room 2
– Share your knowledge
– Test some of your country specificities
• Give feedback on
http://pad.openerp.com/payroll