Daily updates from Odoo
Tuesday, February 6, 2024
4 changes · 17.0
Enhancements to existing features
This update significantly speeds up the process of assigning live chat operators to visitors. The system was taking multiple seconds to find available operators on large databases, which caused delays when many visitors were using auto-popup chat. The improvement reduces this time to under 50 milliseconds by optimizing how the system searches through operator availability data.
Original PR description
Since #135113, calls to /im_livechat/get_session can become very expensive on large databases with a long history of livechat sessions. Operators who have thousands of past livechat sessions…
Since #135113, calls to /im_livechat/get_session can become very expensive on large databases with a long history of livechat sessions. Operators who have thousands of past livechat sessions (channels) can cause the SQL query in get_operator() to take multiple seconds. When the livechat is set to auto-popup and there are lots of visitors, this can become very significant. This patch changes two aspects: - introduce a CTE for the RTC session part, in order to avoid a JOIN cardinality explosion between livechat channels and channel_members - we only care about channel membership for a RTC session AFAICT - restrict the selection of livechat channels created **within the last 24h**, considering that we only care about messages sent in the last 30 minutes anyway The second part may change the result ordering in the presence of old channels (>24h) with recent messages - but that is rather unlikely, and an operator will be selected anyway. This change makes a huge difference on a database with 300k livechat channels and 1 million `discuss_channel_member` records, from several seconds to >50ms. The results are identical or extremely similar in most cases, and the database only needs to look at a few hundred records instead of millions.
This update adds database indexes to the analytic plan columns to speed up searches when working with large datasets. This improvement makes operations like deleting accounts faster and more efficient, especially when the system has many analytic items linked together.
Original PR description
The table linked to analytic items can be pretty huge, and searching by account needs to be fast. For instance, this index can be used when deleting an account because of the foreign keys.
This change reorders the website sitemap to list manually created pages before system controllers. Pages are typically more important content that users intentionally create, are updated more frequently, and are fewer in number than controllers. This ordering may help search engines prioritize crawling your most important content, especially if they have limited crawling budgets for large websites.
Original PR description
This shouldn't change anything regarding SEO, but is worth a try. It will also impact the link suggestion when creating a link in the editor, but having pages listed first also have sense there, or…
This shouldn't change anything regarding SEO, but is worth a try. It will also impact the link suggestion when creating a link in the editor, but having pages listed first also have sense there, or at least it won't be worst. The idea for the SEO part is that if the sitemap order (if too long) would have some impact as crawlers might have a limited crawling budget for your website and it will only crawl the first pages it finds. Are those "first pages" impacted by the sitemap order? It's almost sure it's not, as Google definitely knows how to crawl on its own, and is even probably ignoring the sitemap most of the time. Also, pages: - Are probably always important content since you created manually a page to write something, while (some) controllers might just be content you care less about. Pages are probably always important while we can't say that for controllers. - Should be fewer in number than controllers most of the time - Have a lastmod set, as opposed to controllers For all those reasons, this commit reverse the pages vs controllers order in the sitemap. This is coming from our prod where some pages are yet not indexed while they have been published months ago.
This update adds and improves Latvian language translations across multiple Odoo modules including accounting, expenses, purchasing, sales, and reporting dashboards. Users in Latvia will now see more complete and accurate translations throughout the system, improving usability for Latvian-speaking organizations.
Original PR description
\*: account, hr_expense, purchase, sale, spreadsheet_dashboard_purchase, spreadsheet_dashboard_purchase_stock, spreadsheet_dashboard_sale, web Enterprise: https://github.com/odoo/enterprise/pull/53921 opw-3667913 Forward-Port-Of: odoo/odoo#152692 Forward-Port-Of: odoo/odoo#148658