- 
                            
    Opening Keynote - Unveiling Odoo 18
    Fabien PinckaersHotovo
- 
                            
    User Friendly URLs: a Technical Overview
    Jorge Pinna PuissantHotovo
- 
                            
    How to Integrate Odoo through JSON-RPC Services?
    Emanuele MaruzziHotovo
- 
                            
    Manage your Logistics Operations with RPC
    Pawel FertykHotovo
- 
                            
    Learn the JS Framework
    Géry DebongnieHotovo
- 
                            
    Odoo Load Testing
    Nicolas SeinletHotovo
- 
                            
    Writing High-Performance Code: Patterns to Avoid and Tips to Succeed
    Victor PirynsHotovo
- 
                            
    Synchronize Data Using Webhooks
    Quentin CoussementHotovo
- 
                            
    The Right Way to Contribute to Odoo's Code Base
    Arnaud JosetHotovo
- 
                            
    Unveiling Most Common Security Issues
    Denis Ledoux & Florian VranckxHotovo
Raphael joined Odoo in 2011, when it was still called "OpenERP". He quickly moved to the "Framework" team, where he designed and implemented the "new API" of Python models. When the team grew, he became the team's leader, mostly because of the lack of other candidates. He kept contributing many optimizations and bug fixes in the framework. He regularly gives talks to Odoo Experience, and happily chats with every developer coming with nasty questions or bright ideas. And he also writes down his own Odoo biography, when asked to do so.
We present the various changes made to Odoo's Python framewok for version 18. Some changes aim at making the developer's life easier, like using "list" for list views, making invisible fields optional in views, detecting group restriction inconsistencies in views, and adding Python typing to the framework. We also introduced performance improvements, like grouping SQL UPDATE queries, enabling to order by, group by and aggregate non-stored related fields, and improving database workload by using read-only mirrors.
