Anzeige

PixelsCamp | Odoo - The Open Source Business Apps Platform for the 21st Century

IT Applications at Securitas um Securitas Portugal
17. May 2017
Anzeige

Más contenido relacionado

Anzeige

PixelsCamp | Odoo - The Open Source Business Apps Platform for the 21st Century

  1. Odoo Business Apps Platform
  2. Odoo Business Apps Platform Introduction Daniel Reis twitter: @reis_pt email: dgreis(at)sapo.pt github.com/dreispt • IT Applications at Securitas • Board Member at the Odoo Community Association • Partner at ThinkOpen Solutions • Author of a couple of Odoo development books
  3. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Wher can I learn more?
  4. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Where can I learn more?
  5. Odoo Business Apps Platform Odoo is a flexible framework to build Business Applications and Websites Feature rich Extensible Open Source Rapid Development
  6. Odoo Business Apps Platform Wide Scope with dozens of apps provided out of the box
  7. Odoo Business Apps Platform Wide Scope with hundreds of community apps and features available, free or paid
  8. Odoo Business Apps Platform Front-end website features for the public
  9. Odoo Business Apps Platform Rich backend web client for app users
  10. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Where can I learn more?
  11. Odoo Business Apps Platform Is it a good fit for me? Framework Evaluation checklist  Key Selling Points  Tech stack  Licenses  Learning Curve  Project Governance  Community activity and health  Known road blocks and pitfalls
  12. Oh no! Not another framework!
  13. Odoo Business Apps Platform We want lightweight frameworks! Right?
  14. Odoo Business Apps Platform Frameworks – the Good, the Bad, and the UglyProductivity Total Time Spent Obstacle "Honeymoon" Learning
  15. Odoo Business Apps Platform Key Feature: Odoo is Extensible by Design, using extension layers. App behaviour is the composition of all extension layers added by the Modules installed: Models – extend data structures Logic – extend business logic Views – extend backend UI Web Client – extend behaviour, add widgets, view types Web Controllers – extend logic for web rendering Web Templates – extend web HTML templates
  16. Odoo Business Apps Platform Learning Odoo – Quality documentation is avalilable
  17. Odoo Business Apps Platform Learning Odoo – professional quality books for beginners and experts
  18. Odoo Business Apps Platform Company Driven Open Source. Two Editions: Community and Enterprise.
  19. Odoo Business Apps Platform Powered by a mature and reliable stack.
  20. Odoo Business Apps Platform State of the ecosystem ● Driven by a for-profit company. ● Enterprise edition = Community edition + Proprietary advanced features. ● Revenue come form Enterprise contracts, Online SaaS offer, Parternship fees, App store sales. ● Commercial friendly LGPL core, many AGPL and Proprietary community modules. ● Strong community leaded by the non-profit Odoo Community Association.
  21. Odoo Business Apps Platform Pitfalls to be aware of Produt evolution tightly controlled by the editor. Editor does not provide free version migrations … but Community maintains the OpenUpgrade alternative.
  22. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Where can I learn more?
  23. Odoo Business Apps Platform Logical Architecture Overview ORM [Pyhon] Models and Business Logic Templates [XML] HTML Pages &Snippets Views [XML] Menu, List, Form, ... Web Controllers Front End Pages JSON RPC XML RPC Web Client Back End UI Other JSON-RPC Clients XML-RPC Clients
  24. Odoo Business Apps Platform ORM: Adding Models and Business Logic class TodoTask(models.Model): _name = 'todo.task' name = fields.Char('Title', required=True) is_done = fields.Boolean('Done?') @api.multi def do_toggle_done(self): for task in self: task.is_done = not task.is_done return True
  25. Odoo Business Apps Platform Backend Views: Designing Forms and Lists <form> <header> <button name="do_toggle_done" type="object"/> </header> <field name="name"/> <field name="is_done"/> <form> <tree colors="gray: is_done==True"> <field name="name"/> <field name="is_done"/> </tree>
  26. Odoo Business Apps Platform Front End Controllers and Templates: a simple "Hello World" example. class Hello(http.Controller): @http.route('/hello', auth='public') def hello(self): return http.request.render('my_addon.hello') <template id="hello" name="Hello World"> <h1>Hello World!</h1> </template>>
  27. Odoo Business Apps Platform ORM Extensions: adding features to existing Models and Business Logic. class TodoTaskExtend(models.Model): _inherit = 'todo.task' # add or modify fields: is_done = fields.Boolean('Done?') @api.one def do_toggle_done(self): # some code before... res = super(TodoTask, self).do_toggle_done() # some code after... return res
  28. Odoo Business Apps Platform View Extensions: add features to Backend View or Web Template XML <xpath expr="//field['name']='is_done'" position="before"> <field name="date_deadline" /> </xpath>> <field name="is_done" position="before"> <field name="date_deadline" /> </field>
  29. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Where can I learn more?
  30. Odoo Business Apps Platform Learning more about Odoo www.odoo.com – the official website apps.odoo.com – the app store www.odoo.com/documentation – the docs nightly.odoo.com – nightly builds .exe, .deb, .rpm github.com/odoo/odoo – the source code odoo-community.org – the OCA website github.com/oca – the dozens of OCA repos essentials.odoo.com – website for the Odoo Dev Essentials book
  31. Odoo Business Apps Platform Become a community contributor! Code reviews are open to everyone. Proposing code requires signing the OCA CLA. Collaborating is an excellent way to learn from the community experience developers.
  32. Lisboa Miraflores Office Center Avenida das Tulipas, nº6, 13º A/B 1495-161 Algés t: 808 455 255 e: sales@thinkopen.solutions Porto Rua do Espinheiro, nº 641 2,Escritório 2.3 4400-450 Vila Nova de Gaia t: 808 455 255 e: sales@thinkopen.solutions São Paulo Av Paulista 1636, São Paulo, SP t: +55 (11) 957807759 / 50493125 e: info.br@tkobr.com Luanda Rua Dr. António Agostinho Neto 43 Bairro Operário, Luanda Angola t: +244 923 510 491 e: comercial@thinkopensolutions.co.ao Thank you! Questions? Daniel Reis twitter: @reis_pt email: dgreis(at)sapo.pt github.com/dreispt www.thinkopen.solutions
Anzeige