OpenERP R&D

11,568 views

Published on

Published in: Technology

OpenERP R&D

  1. 1. OpenERP R&D Projects
  2. 2. IntroductionAntony Lesuisse
  3. 3. Agenda: R&D Projects (part 1)• OpenERP Apps• Release Policy• Packaging• R&D Processes – Bug Reports Lifecycle – R&D Projects Lifecycle – Merge proposals Lifecycle• Web Client v6.1
  4. 4. OpenERP Apps
  5. 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. 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
  7. 7. Release Policy & Packaging Antony Lesuisse
  8. 8. Release Cycle
  9. 9. Packaging• Cleanup setup.py• Nightly Builds• .rpm packages submitted to Fedora/RedHat• .deb packages for Debian-based
  10. 10. R&D / Community Processes Olivier Dony
  11. 11. Daily feedback is huge!
  12. 12. Daily feedback is huge!
  13. 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
  14. 14. Bug Lifecycle
  15. 15. Bug Lifecycle
  16. 16. Bug Lifecycle
  17. 17. Continuous TestingBuildbot Runbot • Auto branch import • Auto branch import • Full test suite • Online live install • Email feedbackbuildbot.openobject.com runbot.openerp.com
  18. 18. Bug Lifecycle
  19. 19. Bug Lifecycle
  20. 20. Monitoring
  21. 21. Full picture OpenERP 2011
  22. 22. R&D Projects Lifecycle• Project organization – Inception: internal, feedback.openerp.com – Projects product backlogs – Project Lead – Sprint review 2 weeks – Project branches • Feature branches (usually one product backlog) • Merged by project lead – Project validation – Merged into trunk
  23. 23. Project Validation Steps• Keep trunk branch stable
  24. 24. Feature & Merge Proposal Lifecycles
  25. 25. Merge Proposal Monitoring
  26. 26. OpenERP Web Client Antony Lesuisse
  27. 27. OpenERP Web Client
  28. 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
  29. 29. OpenERP Web 6.0 vs 6.1
  30. 30. OpenERP Web 6.1 Web 2.0 HTML5• Clean architecture• Fast• Linkable• Embeddable• Modular (chat,mobile,geoviewlist)• Frontend Framework for ERP based applications
  31. 31. OpenERP Web Architecture
  32. 32. OpenERP Web Architecture• WebClient Chrome – Header – Footer – Login – Menu – Loading
  33. 33. OpenERP Web Architecture• ActionController – ViewManager • ListView – ListWidgets • FormView – FormWidgets • GanttView
  34. 34. OpenERP Web Architecture
  35. 35. OpenERP Web Fast
  36. 36. OpenERP Web Fast
  37. 37. OpenERP Web Modularity
  38. 38. OpenERP Web Technical Ecosystem
  39. 39. OpenERP Web addons
  40. 40. OpenERP Web Linkable
  41. 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
  42. 42. OpenERP Web Embeddable
  43. 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. 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. 45. OpenERP Web Mobile• Subclasses the normal controllers• Use JQuery UI mobile widgets
  46. 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
  47. 47. KeynoteOpenERP Vision Fabien Pinckaers
  48. 48. R&D Strategy Antony Lesuisse
  49. 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. 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 – Publishers 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. 51. Projects (part 2)• Projects – Communication and sharing tools: portal, … – Usability – Core improvement: emails, import openerp – Third-party integration – Payroll – Point of Sale
  52. 52. Communication & Sharing Olivier Dony
  53. 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. 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. 55. Next, in communication tools...• Email notifications for business flows• One-click sharing of single documents• Replacing “internal requests” with emails• ...
  56. 56. UsabilityFabien Pinckaers
  57. 57. Core improvements Olivier Dony
  58. 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. 59. Email subsystem: unification• After: – One single model for each concept (mail, server...) – Layered architecture, each feature at the right level
  60. 60. “import openerp”• Promised last year• Now available in trunk:• More cleanup coming
  61. 61. Third-party integration Thibaut François
  62. 62. Vision● First step : develop comprehensive software● Second step : Integration with third party software – Salesforce – Sugarcrm – Quickbook – …..
  63. 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. 64. How ?Connection to Web service Mapping: Create/update field, link Data in openerp Import data file
  65. 65. Enough talk, more demoDemonstration : Sugarcrm
  66. 66. CRM Workshop• Workshop tomorrow in room 3• Share your ideas: http://pad.openerp.com/crm-marketing-plugins
  67. 67. PayrollQuentin de Paoli
  68. 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 its 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. 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. 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. 71. Payroll Project - Objects• Salary Structure – Contains a set a rule – Hierachical• Salary Heads – Groups logically the rules – Hierachical
  72. 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. 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
  74. 74. Point of SaleAntoine Huvelle

×