Sunday, March 5, 2023
3 changes · master
Enhancements to existing features
Odoo now combines searching for records and loading their requested fields into a single database operation where possible. This should improve responsiveness in common list, search, and reporting flows while preserving existing access checks and business rules.
Original PR description
This fulfills the goal of searching and fetching fields in a single SQL query. We introduce the new method `search_fetch()` for that purpose. We also introduce method `fetch()` to fetch some fields…
This fulfills the goal of searching and fetching fields in a single SQL query. We introduce the new method `search_fetch()` for that purpose. We also introduce method `fetch()` to fetch some fields for a recordset if they are not in cache yet. The call graph of all the searching/reading methods is as follows (new methods are highlighted): ```mermaid flowchart TD search --> search_fetch search_read --> search_fetch search_read --> _read_format read --> fetch read --> _read_format search_count --> _search search_fetch --> _search search_fetch --> _fetch_query fetch --> _search fetch --> _fetch_query style search_fetch fill:#f9f,color:#000 style fetch fill:#f9f,color:#000 style _fetch_query fill:#f9f,color:#000 ``` The methods `_search()` and `_fetch_query()` are usually the ones to override to implement business-specific logic. The method `_search()` returns a `Query` object to retrieve the records that satisfy the given domain and are accessible for reading. The method `_fetch_query()` uses a `Query` object to retrieve fields from the database and store them in cache.
This update brings Odoo's spreadsheet component up to a newer version with several usability and reliability improvements. Users should see better chart and image handling, improved sheet tab drag-and-drop, clearer tooltips, and fixes for display or translation issues.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/eb626ad0 [REL] 16.2.0-alpha.2 https://github.com/odoo/o-spreadsheet/commit/2afe3505 [FIX] chart: Remove forwardport…
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/eb626ad0 [REL] 16.2.0-alpha.2 https://github.com/odoo/o-spreadsheet/commit/2afe3505 [FIX] chart: Remove forwardport comments Task: 3210689 https://github.com/odoo/o-spreadsheet/commit/2048d9ac [IMP] config: GH release follow semantic versions of package https://github.com/odoo/o-spreadsheet/commit/00bd206c [IMP] config: tag npm publications https://github.com/odoo/o-spreadsheet/commit/c66113b3 [FIX] server: server checking the wrong dir to watch for changes https://github.com/odoo/o-spreadsheet/commit/38af1607 [FIX] config: Fix the action version extractor https://github.com/odoo/o-spreadsheet/commit/162451a3 [REL] 16.2.0-alpha.1 https://github.com/odoo/o-spreadsheet/commit/92eaf0f5 [FIX] figures: menu not displayed for small figures positioned left https://github.com/odoo/o-spreadsheet/commit/2855f543 [REL] 16.2.0-alpha.0 https://github.com/odoo/o-spreadsheet/commit/e3653157 [IMP] config: Add Github Action to automatically release and publish on npm https://github.com/odoo/o-spreadsheet/commit/dfc2cf96 [IMP] config,*: Prepare introduction of releases https://github.com/odoo/o-spreadsheet/commit/bf7c536e [IMP] doc: adapt the doc to the new API for arguments https://github.com/odoo/o-spreadsheet/commit/270c02e2 [FIX] figure,chart,image: Prevent destructive creation https://github.com/odoo/o-spreadsheet/commit/34fc5622 [FIX] charts: Fix chart duplicated ids https://github.com/odoo/o-spreadsheet/commit/8f75a4f3 [FIX] chart,image: Prevent destructed charts on duplicated sheet https://github.com/odoo/o-spreadsheet/commit/a815a167 [IMP] functions: translate argument description https://github.com/odoo/o-spreadsheet/commit/c215783e [IMP] helpers: export lazy function https://github.com/odoo/o-spreadsheet/commit/f6dfe33f [REM/IMP] css: remove unused classes and improved a bit the css https://github.com/odoo/o-spreadsheet/commit/fbd86375 [REF] port: run server on 9090 instead of 9000 https://github.com/odoo/o-spreadsheet/commit/8cbfba42 [IMP] top_bar: added and updated tooltips https://github.com/odoo/o-spreadsheet/commit/7421765d [IMP] figure: remove useless chart registry filling https://github.com/odoo/o-spreadsheet/commit/7b31778f [FIX] selection input: dynamic highlights https://github.com/odoo/o-spreadsheet/commit/84ae26f2 [FIX] composer: fix wrong style attribute https://github.com/odoo/o-spreadsheet/commit/58b09153 [FIX] corner: Fix missing background color https://github.com/odoo/o-spreadsheet/commit/155c6af3 [IMP] bottom_bar: Add drag&drop on sheet tab. https://github.com/odoo/o-spreadsheet/commit/d641b2cf [FIX] menus,charts: missing translations https://github.com/odoo/o-spreadsheet/commit/36df3326 [FIX] selection: uncomment test https://github.com/odoo/o-spreadsheet/commit/990c158b [FIX] font_size_editor: add props definition https://github.com/odoo/o-spreadsheet/commit/4dfa6d3e [IMP] autofill: support edge scrolling https://github.com/odoo/o-spreadsheet/commit/a198f5c9 [IMP] Components: extract color picker entry component
This update improves how Odoo searches for and retrieves records by combining related steps into fewer database queries. Business users may see smoother performance in areas such as accounting, documents, helpdesk, HR, projects, stock barcode, and signing, with no intended change to day-to-day workflows.
Original PR description
Companion of https://github.com/odoo/odoo/pull/112126