SlideShare a Scribd company logo
Odoo Business Apps
Platform
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
Odoo Business Apps Platform
Agenda
➔ What is Odoo?
➔ Is it fit for me?
➔ How does it work?
➔ Wher can I learn more?
Odoo Business Apps Platform
Agenda
➔ What is Odoo?
➔ Is it fit for me?
➔ How does it work?
➔ Where can I learn more?
Odoo Business Apps Platform
Odoo is a flexible framework to build
Business Applications and Websites
Feature rich
Extensible
Open Source
Rapid Development
Odoo Business Apps Platform
Wide Scope with dozens of apps
provided out of the box
Odoo Business Apps Platform
Wide Scope with hundreds of community
apps and features available, free or paid
Odoo Business Apps Platform
Front-end website features for the public
Odoo Business Apps Platform
Rich backend web client for app users
Odoo Business Apps Platform
Agenda
➔ What is Odoo?
➔ Is it fit for me?
➔ How does it work?
➔ Where can I learn more?
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
Oh no! Not another framework!
Odoo Business Apps Platform
We want lightweight frameworks!
Right?
Odoo Business Apps Platform
Frameworks – the Good, the Bad, and the
UglyProductivity
Total Time Spent
Obstacle
"Honeymoon"
Learning
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
Odoo Business Apps Platform
Learning Odoo – Quality documentation
is avalilable
Odoo Business Apps Platform
Learning Odoo – professional quality
books for beginners and experts
Odoo Business Apps Platform
Company Driven Open Source.
Two Editions: Community and Enterprise.
Odoo Business Apps Platform
Powered by a mature and reliable stack.
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.
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.
Odoo Business Apps Platform
Agenda
➔ What is Odoo?
➔ Is it fit for me?
➔ How does it work?
➔ Where can I learn more?
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
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
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>
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>>
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
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>
Odoo Business Apps Platform
Agenda
➔ What is Odoo?
➔ Is it fit for me?
➔ How does it work?
➔ Where can I learn more?
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
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.
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

More Related Content

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

Impetus
ImpetusImpetus
Impetus
indusoni
 
Impetus12
Impetus12Impetus12
Impetus12
Indu_Soni
 
Odoo community vs enterprise
Odoo community vs enterpriseOdoo community vs enterprise
Odoo community vs enterprise
PlanetOdoo
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneurs
Mans Jug
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
DSCUSICT
 
Jornadas Odoo 2015 - Charla con Odoo S. A.
Jornadas Odoo 2015 - Charla con Odoo S. A.Jornadas Odoo 2015 - Charla con Odoo S. A.
Jornadas Odoo 2015 - Charla con Odoo S. A.
Pedro Manuel Baeza Romero
 
Exoven web-sovellusseminaarin kalvot
Exoven web-sovellusseminaarin kalvotExoven web-sovellusseminaarin kalvot
Exoven web-sovellusseminaarin kalvotExove
 
Share point 2013 new features
Share point 2013 new featuresShare point 2013 new features
Share point 2013 new features
jeanpaulva
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part
Nuxeo
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
arcaneadam
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
Exove
 
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
Graham Smith
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
AustraliaChapterIIBA
 
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
CezzaineZaher1
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
serge luca
 
Sasmita bigdata resume
Sasmita bigdata resumeSasmita bigdata resume
Sasmita bigdata resumeSasmita Swain
 
OpenWorld con2828 Fluid
OpenWorld  con2828 FluidOpenWorld  con2828 Fluid
OpenWorld con2828 Fluid
Graham Smith
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connections Developers
 

Similar to PixelsCamp | Odoo - The Open Source Business Apps Platform for the 21st Century (20)

sd
sdsd
sd
 
Impetus
ImpetusImpetus
Impetus
 
aaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
 
Impetus12
Impetus12Impetus12
Impetus12
 
Odoo community vs enterprise
Odoo community vs enterpriseOdoo community vs enterprise
Odoo community vs enterprise
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneurs
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Jornadas Odoo 2015 - Charla con Odoo S. A.
Jornadas Odoo 2015 - Charla con Odoo S. A.Jornadas Odoo 2015 - Charla con Odoo S. A.
Jornadas Odoo 2015 - Charla con Odoo S. A.
 
Exoven web-sovellusseminaarin kalvot
Exoven web-sovellusseminaarin kalvotExoven web-sovellusseminaarin kalvot
Exoven web-sovellusseminaarin kalvot
 
Share point 2013 new features
Share point 2013 new featuresShare point 2013 new features
Share point 2013 new features
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
 
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
UKOUG APPS 15 - PeopleSoft UI: Fluid, Classic, or Both? A Decision for Every ...
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
Weave GitOps 2023.04 Release: Optimizing Developer Productivity & Experience ...
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
 
Sasmita bigdata resume
Sasmita bigdata resumeSasmita bigdata resume
Sasmita bigdata resume
 
OpenWorld con2828 Fluid
OpenWorld  con2828 FluidOpenWorld  con2828 Fluid
OpenWorld con2828 Fluid
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
 

More from Daniel Reis

Dynamic Business Processes using Automated Actions
Dynamic Business Processes using Automated ActionsDynamic Business Processes using Automated Actions
Dynamic Business Processes using Automated Actions
Daniel Reis
 
Odoo Development Cookbook TOC and preface
Odoo Development Cookbook TOC and prefaceOdoo Development Cookbook TOC and preface
Odoo Development Cookbook TOC and preface
Daniel Reis
 
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Daniel Reis
 
Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
Daniel Reis
 
Q-Day 2013: As Aplicações ao serviço da inovação
Q-Day 2013: As Aplicações ao serviço da inovaçãoQ-Day 2013: As Aplicações ao serviço da inovação
Q-Day 2013: As Aplicações ao serviço da inovação
Daniel Reis
 
OpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war storyOpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war story
Daniel Reis
 
Service Management at Securitas using OpeneERP
Service Management at Securitas using OpeneERPService Management at Securitas using OpeneERP
Service Management at Securitas using OpeneERPDaniel Reis
 

More from Daniel Reis (7)

Dynamic Business Processes using Automated Actions
Dynamic Business Processes using Automated ActionsDynamic Business Processes using Automated Actions
Dynamic Business Processes using Automated Actions
 
Odoo Development Cookbook TOC and preface
Odoo Development Cookbook TOC and prefaceOdoo Development Cookbook TOC and preface
Odoo Development Cookbook TOC and preface
 
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
Using the "pip" package manager for Odoo/OpenERP - Opendays 2014
 
Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
 
Q-Day 2013: As Aplicações ao serviço da inovação
Q-Day 2013: As Aplicações ao serviço da inovaçãoQ-Day 2013: As Aplicações ao serviço da inovação
Q-Day 2013: As Aplicações ao serviço da inovação
 
OpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war storyOpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war story
 
Service Management at Securitas using OpeneERP
Service Management at Securitas using OpeneERPService Management at Securitas using OpeneERP
Service Management at Securitas using OpeneERP
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 

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

  • 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.
  • 25. 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
  • 26. 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>
  • 27. 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>>
  • 28. 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
  • 29. 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>
  • 30. Odoo Business Apps Platform Agenda ➔ What is Odoo? ➔ Is it fit for me? ➔ How does it work? ➔ Where can I learn more?
  • 31. 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
  • 32. 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.
  • 33. 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