SlideShare a Scribd company logo
1 of 17
Download to read offline
OpenChatter Integration
Thibault Delavallée, R&D Engineer
Messaging, OpenChatter
Transversal app
Discuss with customers on
quotations
Feedback on issues
Mailing groups
Discussions on tasks
Subscribe to Newsletters
·
·
·
·
·
ThibaultDelavallée(tde@odoo.com)
Messaging, OpenChatter
Transversal features
OpenChatter
Communication history
Subscribe, Followers
Action counters
Mail gateway
Aliases
·
·
·
·
·
·
ThibaultDelavallée(tde@odoo.com)
Demo
OpenChatter / mail.thread
OpenChatter in your model:
classclass MyClass((Model):):
_inherit == 'mail.thread'
OpenChatter in your view
<div<div class="oe_chatter">>
<field<field name="message_follower_ids" widget="mail_followers"/>/>
<field<field name="message_ids" widget="mail_thread"/>/>
</div></div>
And you are done !
ThibaultDelavallée(tde@odoo.com)
OpenChatter / mail.thread
ThibaultDelavallée(tde@odoo.com)
OpenChatter / mail.thread
What did it do ? new fields, linking messaging models
_columns == {{
'message_ids':: ...... # communication history
'message_follower_ids':: ...... # followers
'message_unread':: ...... # unread messages
}}
MyClasss MailMessage((Model):):
......
classclass MailMail((Model):):
......
classclass MailFollowers((Model):):
......
ThibaultDelavallée(tde@odoo.com)
OpenChatter / mail.thread
What did it do ? new features
defdef message_post((......):):
defdef message_track((......):):
defdef message_subscribe((......):):
defdef message_process((......):):
ThibaultDelavallée(tde@odoo.com)
Subtypes
Subscription customization
Automatic logging
ThibaultDelavallée(tde@odoo.com)
Subtypes
Define subtypes in XML
<record<record id="mt_task_assigned" model="mail.message.subtype">>
<field<field name="name">>Task Assigned</field></field>
<field<field name="res_model">>project.task</field></field>
<field<field name="default" eval="False"/>/>
</record></record>
ThibaultDelavallée(tde@odoo.com)
Subtypes
Bind them to the model
_columns == {{
'user_id':: fields..many2one(('res.users',,
track_visibility=='onchange'),),
}}
_track == {{
'user_id':: {{
'project.mt_task_assigned':: lambdalambda self,, cr,, uid,, obj,, c==None::
obj..user_id andand obj..user_id..id,,
}}
}}
ThibaultDelavallée(tde@odoo.com)
NeedAction
NeedAction in your model:
classclass MyClass((Model):):
_inherit == 'ir.needaction_mixin'
Define a standard message_unread search filter
<filter<filter string="Unread Messagingges"
name="message_unread"
domain="[('message_unread','=',True)]"
help="Unread messages"/>/>
ThibaultDelavallée(tde@odoo.com)
NeedAction
Action counters
Kanban
ThibaultDelavallée(tde@odoo.com)
Email aliases
Add alias management in your model:
classclass MyClass((Model):):
_inherits == {{'mail.alias':: 'alias_id'}}
_columns == {{
'alias_id':: fields..many2one(('mail.alias',, 'Alias'),),
}}
New record -> new alias
ThibaultDelavallée(tde@odoo.com)
Aliases and Mail Gateway
alias_contact -> privacy settings
alias_force_thread_id -> redirect emails to a document's
thread or create a new document
·
·
ThibaultDelavallée(tde@odoo.com)
Summary
Modular approach: inheritance -> features
OpenChatter and Followers -> mail.thread
Needaction -> ir.needaction_mixin
Mail gateway and mail aliases -> mail.alias
Customization through subtypes, tracking
-> inheritance (python)
-> light model decoration
-> a bit of subtypes / aliases (XML)
Play with it !
·
·
·
·
·
·
·
·
·
ThibaultDelavallée(tde@odoo.com)
Thanks for your attention
Questions ? tde@openerp.com

More Related Content

What's hot

Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...Edureka!
 
An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOMMindy McAdams
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep DiveGabriel Walt
 
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Mario Heiderich
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 
Asynchronous JS in Odoo
Asynchronous JS in OdooAsynchronous JS in Odoo
Asynchronous JS in OdooOdoo
 
MongoDB: How it Works
MongoDB: How it WorksMongoDB: How it Works
MongoDB: How it WorksMike Dirolf
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS ArchitectureEyal Vardi
 
Discover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and OdooDiscover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and OdooOdoo
 
odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)Mohamed Magdy
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code HardeningOdoo
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo
 
External dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odooExternal dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odooCeline George
 
Odoo Code Hardening [Odoo Experience 2019]
Odoo Code Hardening [Odoo Experience 2019]Odoo Code Hardening [Odoo Experience 2019]
Odoo Code Hardening [Odoo Experience 2019]Olivier Dony
 

What's hot (20)

Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best Practices
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
 
Nodejs buffers
Nodejs buffersNodejs buffers
Nodejs buffers
 
An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOM
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
 
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
Asynchronous JS in Odoo
Asynchronous JS in OdooAsynchronous JS in Odoo
Asynchronous JS in Odoo
 
MongoDB: How it Works
MongoDB: How it WorksMongoDB: How it Works
MongoDB: How it Works
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS Architecture
 
Discover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and OdooDiscover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and Odoo
 
Mvvm basics
Mvvm basicsMvvm basics
Mvvm basics
 
odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challenges
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
HTML & CSS
HTML & CSSHTML & CSS
HTML & CSS
 
External dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odooExternal dependencies ,pre init hook &amp; post init hook in odoo
External dependencies ,pre init hook &amp; post init hook in odoo
 
Odoo Code Hardening [Odoo Experience 2019]
Odoo Code Hardening [Odoo Experience 2019]Odoo Code Hardening [Odoo Experience 2019]
Odoo Code Hardening [Odoo Experience 2019]
 
Bao cao powerpoint
Bao cao powerpointBao cao powerpoint
Bao cao powerpoint
 

Viewers also liked

OpenERP - OpenChatter & mail integration
OpenERP - OpenChatter & mail integrationOpenERP - OpenChatter & mail integration
OpenERP - OpenChatter & mail integrationOdoo
 
Odoo as your Enterprise Social Network
Odoo as your Enterprise Social NetworkOdoo as your Enterprise Social Network
Odoo as your Enterprise Social NetworkOdoo
 
Odoo - Lead generation and conversion
Odoo - Lead generation and conversionOdoo - Lead generation and conversion
Odoo - Lead generation and conversionOdoo
 
Odoo - Drive engagement with gamification
Odoo - Drive engagement with gamificationOdoo - Drive engagement with gamification
Odoo - Drive engagement with gamificationOdoo
 
Using the pip package manager for Odoo
Using the pip package manager for OdooUsing the pip package manager for Odoo
Using the pip package manager for OdooOdoo
 
Solution for Laboratory and Quality Management
Solution for Laboratory and Quality ManagementSolution for Laboratory and Quality Management
Solution for Laboratory and Quality ManagementOdoo
 
Odoo Warehouse Management
Odoo Warehouse ManagementOdoo Warehouse Management
Odoo Warehouse ManagementOdoo
 
Odoo - Smart buttons
Odoo - Smart buttonsOdoo - Smart buttons
Odoo - Smart buttonsOdoo
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with OdooOdoo
 
Odoo - Service management with Odoo
Odoo - Service management with OdooOdoo - Service management with Odoo
Odoo - Service management with OdooOdoo
 
Odoo - CMS performances optimization
Odoo - CMS performances optimizationOdoo - CMS performances optimization
Odoo - CMS performances optimizationOdoo
 
Odoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo
 
The new way to promote your modules in the Apps platform and Odoo website
The new way to promote your modules in the Apps platform and Odoo websiteThe new way to promote your modules in the Apps platform and Odoo website
The new way to promote your modules in the Apps platform and Odoo websiteOdoo
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSOdoo
 
Odoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talentsOdoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talentsOdoo
 
Odoo Accounting Roadmap
Odoo Accounting RoadmapOdoo Accounting Roadmap
Odoo Accounting RoadmapOdoo
 
Odoo - How to create awesome websites and e-commerce
Odoo - How to create awesome websites and e-commerceOdoo - How to create awesome websites and e-commerce
Odoo - How to create awesome websites and e-commerceOdoo
 
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...Odoo
 
Discover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 minDiscover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 minOdoo
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management systemOdoo
 

Viewers also liked (20)

OpenERP - OpenChatter & mail integration
OpenERP - OpenChatter & mail integrationOpenERP - OpenChatter & mail integration
OpenERP - OpenChatter & mail integration
 
Odoo as your Enterprise Social Network
Odoo as your Enterprise Social NetworkOdoo as your Enterprise Social Network
Odoo as your Enterprise Social Network
 
Odoo - Lead generation and conversion
Odoo - Lead generation and conversionOdoo - Lead generation and conversion
Odoo - Lead generation and conversion
 
Odoo - Drive engagement with gamification
Odoo - Drive engagement with gamificationOdoo - Drive engagement with gamification
Odoo - Drive engagement with gamification
 
Using the pip package manager for Odoo
Using the pip package manager for OdooUsing the pip package manager for Odoo
Using the pip package manager for Odoo
 
Solution for Laboratory and Quality Management
Solution for Laboratory and Quality ManagementSolution for Laboratory and Quality Management
Solution for Laboratory and Quality Management
 
Odoo Warehouse Management
Odoo Warehouse ManagementOdoo Warehouse Management
Odoo Warehouse Management
 
Odoo - Smart buttons
Odoo - Smart buttonsOdoo - Smart buttons
Odoo - Smart buttons
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with Odoo
 
Odoo - Service management with Odoo
Odoo - Service management with OdooOdoo - Service management with Odoo
Odoo - Service management with Odoo
 
Odoo - CMS performances optimization
Odoo - CMS performances optimizationOdoo - CMS performances optimization
Odoo - CMS performances optimization
 
Odoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo disaster recovery with barman
Odoo disaster recovery with barman
 
The new way to promote your modules in the Apps platform and Odoo website
The new way to promote your modules in the Apps platform and Odoo websiteThe new way to promote your modules in the Apps platform and Odoo website
The new way to promote your modules in the Apps platform and Odoo website
 
How to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMSHow to integrate your design in Odoo v8 CMS
How to integrate your design in Odoo v8 CMS
 
Odoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talentsOdoo - Recruiting and managing highly skilled talents
Odoo - Recruiting and managing highly skilled talents
 
Odoo Accounting Roadmap
Odoo Accounting RoadmapOdoo Accounting Roadmap
Odoo Accounting Roadmap
 
Odoo - How to create awesome websites and e-commerce
Odoo - How to create awesome websites and e-commerceOdoo - How to create awesome websites and e-commerce
Odoo - How to create awesome websites and e-commerce
 
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...
Odoo - Easily Reconcile your Invoices & Payments with the Brand New Bank Stat...
 
Discover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 minDiscover Odoo POS in v8: your shop ready to use in 20 min
Discover Odoo POS in v8: your shop ready to use in 20 min
 
The new Odoo warehouse management system
The new Odoo warehouse management systemThe new Odoo warehouse management system
The new Odoo warehouse management system
 

Similar to Odoo - Open chatter integration

GoogleWave presentation from Opensource Days 2010
GoogleWave presentation from Opensource Days 2010GoogleWave presentation from Opensource Days 2010
GoogleWave presentation from Opensource Days 2010Figaf.com
 
Tech campmemphis slides_post_session
Tech campmemphis slides_post_sessionTech campmemphis slides_post_session
Tech campmemphis slides_post_sessionStewart Whaley
 
Corporate+presentation v4.0
Corporate+presentation v4.0Corporate+presentation v4.0
Corporate+presentation v4.0rogerlmk
 
Corporate+Presentation V4.0
Corporate+Presentation V4.0Corporate+Presentation V4.0
Corporate+Presentation V4.0rogerlmk
 
Classification for Everyone
Classification for EveryoneClassification for Everyone
Classification for EveryoneChris Dancy
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with RailsPaul Gallagher
 
Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!TechWell
 
AngularJS: What's the Big Deal?
AngularJS: What's the Big Deal?AngularJS: What's the Big Deal?
AngularJS: What's the Big Deal?Jim Duffy
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringJordi Cabot
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsJordi Cabot
 
An introduction to the OVHcloud Partner Program
 An introduction to the OVHcloud Partner Program An introduction to the OVHcloud Partner Program
An introduction to the OVHcloud Partner ProgramOVHcloud
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical DebtAlexander Serebrenik
 
KronoDesk - On-Premise Help Desk Solution for Regulated Industries
KronoDesk - On-Premise Help Desk Solution for Regulated IndustriesKronoDesk - On-Premise Help Desk Solution for Regulated Industries
KronoDesk - On-Premise Help Desk Solution for Regulated IndustriesInflectra
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)Inflectra
 
Sugar con 2010
Sugar con 2010Sugar con 2010
Sugar con 2010pparvizi
 
KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)Inflectra
 
Overcoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystemOvercoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystemNebulaworks
 

Similar to Odoo - Open chatter integration (20)

GoogleWave presentation from Opensource Days 2010
GoogleWave presentation from Opensource Days 2010GoogleWave presentation from Opensource Days 2010
GoogleWave presentation from Opensource Days 2010
 
Tech campmemphis slides_post_session
Tech campmemphis slides_post_sessionTech campmemphis slides_post_session
Tech campmemphis slides_post_session
 
Corporate+presentation v4.0
Corporate+presentation v4.0Corporate+presentation v4.0
Corporate+presentation v4.0
 
Corporate+Presentation V4.0
Corporate+Presentation V4.0Corporate+Presentation V4.0
Corporate+Presentation V4.0
 
Classification for Everyone
Classification for EveryoneClassification for Everyone
Classification for Everyone
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with Rails
 
Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!Communication and Testing: Why You Have Been Wrong All Along!
Communication and Testing: Why You Have Been Wrong All Along!
 
HTML5
HTML5 HTML5
HTML5
 
AngularJS: What's the Big Deal?
AngularJS: What's the Big Deal?AngularJS: What's the Big Deal?
AngularJS: What's the Big Deal?
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
An introduction to the OVHcloud Partner Program
 An introduction to the OVHcloud Partner Program An introduction to the OVHcloud Partner Program
An introduction to the OVHcloud Partner Program
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical Debt
 
KronoDesk - On-Premise Help Desk Solution for Regulated Industries
KronoDesk - On-Premise Help Desk Solution for Regulated IndustriesKronoDesk - On-Premise Help Desk Solution for Regulated Industries
KronoDesk - On-Premise Help Desk Solution for Regulated Industries
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)
 
The Best Talend Training From myTectra in Bangalore
The Best Talend Training From myTectra in BangaloreThe Best Talend Training From myTectra in Bangalore
The Best Talend Training From myTectra in Bangalore
 
Desk.Com
Desk.ComDesk.Com
Desk.Com
 
Sugar con 2010
Sugar con 2010Sugar con 2010
Sugar con 2010
 
KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)
 
Overcoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystemOvercoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystem
 

More from Odoo

Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Odoo
 
Odoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo
 
Keynote - Vision & Strategy
Keynote - Vision & StrategyKeynote - Vision & Strategy
Keynote - Vision & StrategyOdoo
 
Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Odoo
 
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityExtending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityOdoo
 
Managing Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooManaging Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooOdoo
 
Product Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseProduct Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseOdoo
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Odoo
 
Rock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsRock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsOdoo
 
Transition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationTransition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationOdoo
 
Synchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisSynchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisOdoo
 
Running a University with Odoo
Running a University with OdooRunning a University with Odoo
Running a University with OdooOdoo
 
Down Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooDown Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooOdoo
 
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo
 
Migration from Salesforce to Odoo
Migration from Salesforce to OdooMigration from Salesforce to Odoo
Migration from Salesforce to OdooOdoo
 
Preventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningPreventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningOdoo
 
Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Odoo
 
Instant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelInstant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelOdoo
 
How Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldHow Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldOdoo
 
From Shopify to Odoo
From Shopify to OdooFrom Shopify to Odoo
From Shopify to OdooOdoo
 

More from Odoo (20)

Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
 
Odoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-ViewerOdoo 3D Product View with Google Model-Viewer
Odoo 3D Product View with Google Model-Viewer
 
Keynote - Vision & Strategy
Keynote - Vision & StrategyKeynote - Vision & Strategy
Keynote - Vision & Strategy
 
Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14Opening Keynote - Unveilling Odoo 14
Opening Keynote - Unveilling Odoo 14
 
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting CapabilityExtending Odoo with a Comprehensive Budgeting and Forecasting Capability
Extending Odoo with a Comprehensive Budgeting and Forecasting Capability
 
Managing Multi-channel Selling with Odoo
Managing Multi-channel Selling with OdooManaging Multi-channel Selling with Odoo
Managing Multi-channel Selling with Odoo
 
Product Configurator: Advanced Use Case
Product Configurator: Advanced Use CaseProduct Configurator: Advanced Use Case
Product Configurator: Advanced Use Case
 
Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?Accounting Automation: How Much Money We Saved and How?
Accounting Automation: How Much Money We Saved and How?
 
Rock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced OperationsRock Your Logistics with Advanced Operations
Rock Your Logistics with Advanced Operations
 
Transition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organizationTransition from a cost to a flow-centric organization
Transition from a cost to a flow-centric organization
 
Synchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the CrisisSynchronization: The Supply Chain Response to Overcome the Crisis
Synchronization: The Supply Chain Response to Overcome the Crisis
 
Running a University with Odoo
Running a University with OdooRunning a University with Odoo
Running a University with Odoo
 
Down Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in OdooDown Payments on Purchase Orders in Odoo
Down Payments on Purchase Orders in Odoo
 
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach foodOdoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
Odoo Implementation in Phases - Success Story of a Retail Chain 3Sach food
 
Migration from Salesforce to Odoo
Migration from Salesforce to OdooMigration from Salesforce to Odoo
Migration from Salesforce to Odoo
 
Preventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine LearningPreventing User Mistakes by Using Machine Learning
Preventing User Mistakes by Using Machine Learning
 
Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification Becoming an Odoo Expert: How to Prepare for the Certification
Becoming an Odoo Expert: How to Prepare for the Certification
 
Instant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping LabelInstant Printing of any Odoo Report or Shipping Label
Instant Printing of any Odoo Report or Shipping Label
 
How Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 FoldHow Odoo helped an Organization Grow 3 Fold
How Odoo helped an Organization Grow 3 Fold
 
From Shopify to Odoo
From Shopify to OdooFrom Shopify to Odoo
From Shopify to Odoo
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Odoo - Open chatter integration

  • 2. Messaging, OpenChatter Transversal app Discuss with customers on quotations Feedback on issues Mailing groups Discussions on tasks Subscribe to Newsletters · · · · · ThibaultDelavallée(tde@odoo.com)
  • 3. Messaging, OpenChatter Transversal features OpenChatter Communication history Subscribe, Followers Action counters Mail gateway Aliases · · · · · · ThibaultDelavallée(tde@odoo.com)
  • 5. OpenChatter / mail.thread OpenChatter in your model: classclass MyClass((Model):): _inherit == 'mail.thread' OpenChatter in your view <div<div class="oe_chatter">> <field<field name="message_follower_ids" widget="mail_followers"/>/> <field<field name="message_ids" widget="mail_thread"/>/> </div></div> And you are done ! ThibaultDelavallée(tde@odoo.com)
  • 7. OpenChatter / mail.thread What did it do ? new fields, linking messaging models _columns == {{ 'message_ids':: ...... # communication history 'message_follower_ids':: ...... # followers 'message_unread':: ...... # unread messages }} MyClasss MailMessage((Model):): ...... classclass MailMail((Model):): ...... classclass MailFollowers((Model):): ...... ThibaultDelavallée(tde@odoo.com)
  • 8. OpenChatter / mail.thread What did it do ? new features defdef message_post((......):): defdef message_track((......):): defdef message_subscribe((......):): defdef message_process((......):): ThibaultDelavallée(tde@odoo.com)
  • 10. Subtypes Define subtypes in XML <record<record id="mt_task_assigned" model="mail.message.subtype">> <field<field name="name">>Task Assigned</field></field> <field<field name="res_model">>project.task</field></field> <field<field name="default" eval="False"/>/> </record></record> ThibaultDelavallée(tde@odoo.com)
  • 11. Subtypes Bind them to the model _columns == {{ 'user_id':: fields..many2one(('res.users',, track_visibility=='onchange'),), }} _track == {{ 'user_id':: {{ 'project.mt_task_assigned':: lambdalambda self,, cr,, uid,, obj,, c==None:: obj..user_id andand obj..user_id..id,, }} }} ThibaultDelavallée(tde@odoo.com)
  • 12. NeedAction NeedAction in your model: classclass MyClass((Model):): _inherit == 'ir.needaction_mixin' Define a standard message_unread search filter <filter<filter string="Unread Messagingges" name="message_unread" domain="[('message_unread','=',True)]" help="Unread messages"/>/> ThibaultDelavallée(tde@odoo.com)
  • 14. Email aliases Add alias management in your model: classclass MyClass((Model):): _inherits == {{'mail.alias':: 'alias_id'}} _columns == {{ 'alias_id':: fields..many2one(('mail.alias',, 'Alias'),), }} New record -> new alias ThibaultDelavallée(tde@odoo.com)
  • 15. Aliases and Mail Gateway alias_contact -> privacy settings alias_force_thread_id -> redirect emails to a document's thread or create a new document · · ThibaultDelavallée(tde@odoo.com)
  • 16. Summary Modular approach: inheritance -> features OpenChatter and Followers -> mail.thread Needaction -> ir.needaction_mixin Mail gateway and mail aliases -> mail.alias Customization through subtypes, tracking -> inheritance (python) -> light model decoration -> a bit of subtypes / aliases (XML) Play with it ! · · · · · · · · · ThibaultDelavallée(tde@odoo.com)
  • 17. Thanks for your attention Questions ? tde@openerp.com