8ac81e6cbec851ae1b9e11b7d41533e9c97050fa
PURPOSE Consolidate information on a 'main' website.visitor when using multiple devices / browsers. Which in turn allows a much deeper cleaning of irrelevant and inactive website.visitors instead of archiving them, saving a lot of DB space. SPECS This purpose is reached in 3 steps: ### First step First move the concept of 'parent_id' of website.visitor into the 'website' module. The implementation of 'parent_id' was done in website_event because of stable development requirements but it makes sense to move it to the website module. ### Second step Then enforce the consolidation of all visitors information onto the 'main visitor'. Visitors are linked when we are able to identify a single user through its Odoo account. The browser where the last connection has been made will be linked to the main visitor, other visitor records are linked to it through the parent_id field. When using multiple devices / browsers, we want to consolidate all the relevant information on the main visitor, including: - Created crm.leads - Subscriptions to events - Wishlisted tracks - (Subscriptions to push notifications, done in enterprise counterpart) Once we have clean visitor records containing necessary important information, we can safely go ahead and modify the CRON cleaning inactive visitors to DELETE them instead of archiving them, leading less database space required / improved query performances. ### Third step Clean now unnecessary code for wishlisted tracks. This code was necessary when we had to keep track of all visitors and its children records when there was only one push_token allowed per website.visitor. Now that a website.visitor can have multiple push subscriptions (see enterprise counterpart), this code is no longer necessary, leading to better logic and increased performances. Check underlying commits for detailed information about those 3 steps. LINKS Task-2429652 closes odoo/odoo#65113 Related: odoo/enterprise#16781 Related: odoo/upgrade#2111 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%