From 54c8a8897b02163e8ee3b4faa9360c14afd0d91d Mon Sep 17 00:00:00 2001 From: samueljlieber Date: Wed, 12 Feb 2025 20:01:49 +0000 Subject: [PATCH] [IMP] data cleaning: content improvements X-original-commit: a762cabbb3bacff711a0ba29b1a7992941240435 Co-authored-by: dikd-odoo --- .../productivity/data_cleaning.rst | 198 ++++++++++-------- 1 file changed, 105 insertions(+), 93 deletions(-) diff --git a/content/applications/productivity/data_cleaning.rst b/content/applications/productivity/data_cleaning.rst index c09e7021e..1fd940a8f 100644 --- a/content/applications/productivity/data_cleaning.rst +++ b/content/applications/productivity/data_cleaning.rst @@ -2,99 +2,96 @@ Data Cleaning ============= -The Odoo *Data Cleaning* app keeps the database neat and organized throughout the use of its -provided features: +The Odoo **Data Cleaning** app maintains data integrity and consistency with the following features: - :ref:`Deduplicates `: merges or removes duplicate entries to ensure data is unique. - :ref:`Recycles `: identifies outdated records to either archive or delete them. -- :ref:`Merges `: combines multiple similar entries into one - streamlined record. - :ref:`Formats `: standardizes text data by finding and replacing it according to specified needs. -Through customizable automated rules (or manual praxis), individual records and accompanying text -data in the database will remain up-to-date and consistently formatted, tailored to company -specifications. +Customizable rules ensure text data stays up-to-date, streamlined, consistently formatted, and +aligned with company-specific formatting requirements. .. _data_cleaning/install-modules: Install modules =============== -The *Data Cleaning* application consists of several modules. :ref:`Install ` the +The **Data Cleaning** application consists of several modules. :ref:`Install ` the following to access all available features: .. list-table:: :header-rows: 1 - :widths: 25 25 50 + :widths: 40 60 - * - Name - - Technical name + * - | Name + | `Technical name` - Description - * - :guilabel:`Data Recycle` - - `data_recycle` - - Base module to enable the recycle feature, available on Odoo Community edition. - * - :guilabel:`Data Cleaning` - - `data_cleaning` + * - | :guilabel:`Data Recycle` + | `data_recycle` + - Base module to enable the recycle feature, available on :ref:`Odoo Community edition + `. + * - | :guilabel:`Data Cleaning` + | `data_cleaning` - Enables field cleaning feature to format text data across multiple records, available - **only** on Odoo Enterprise edition. - * - :guilabel:`Data Cleaning (merge)` - - `data_merge` + **only** on :ref:`Odoo Enterprise edition `. + * - | :guilabel:`Data Cleaning (merge)` + | `data_merge` - Enables the deduplication feature to find similar (or duplicate) records, and merge them, - available **only** on Odoo Enterprise edition. + available **only** on :ref:`Odoo Enterprise edition `. .. spoiler:: Additionally, several app-specific modules are available .. list-table:: - :widths: 25 25 50 + :widths: 40 60 - * - :guilabel:`CRM Deduplication` - - `data_merge_crm` - - Enables the deduplication feature on the *CRM* app, and uses the :doc:`CRM default merging - feature <../sales/crm/pipeline/merge_similar>`. - * - :guilabel:`Helpdesk Merge action` - - `data_merge_helpdesk` - - Enables the merge feature for the *Helpdesk* app. - * - :guilabel:`Project Merge action` - - `data_merge_project` - - Enables the merge feature for the *Projects* app. - * - :guilabel:`UTM Deduplication` - - `data_merge_utm` - - Enables the merge feature for the *UTM Tracker* app. - * - :guilabel:`WMS Accounting Merge` - - `data_merge_stock_account` + * - | :guilabel:`CRM Deduplication` + | `data_merge_crm` + - Enables the deduplication feature on the **CRM** app, and uses the :doc:`CRM default + merging feature <../sales/crm/pipeline/merge_similar>`. + * - | :guilabel:`Helpdesk Merge action` + | `data_merge_helpdesk` + - Enables the merge feature for the **Helpdesk** app. + * - | :guilabel:`Project Merge action` + | `data_merge_project` + - Enables the merge feature for the **Projects** app. + * - | :guilabel:`UTM Deduplication` + | `data_merge_utm` + - Enables the merge feature for the **UTM Tracker** app. + * - | :guilabel:`WMS Accounting Merge` + | `data_merge_stock_account` - Creates a warning in cases of products merging that may affect inventory valuation, if the - *Inventory* app is installed. + **Inventory** app is installed. .. _data_cleaning/deduplication: Deduplication ============= -On the :guilabel:`Duplicates` dashboard (:menuselection:`Data Cleaning app --> Deduplication`), Odoo -suggests groups of similar records to be :ref:`merged ` by matching -conditions within the records set by the :ref:`deduplication rules +The *Duplicates* dashboard groups similar records to be :ref:`merged ` +by matching conditions within the records set by the :ref:`deduplication rules `. +Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Deduplication`. + .. image:: data_cleaning/data-cleaning-duplicates.png - :align: center :alt: Deduplication dashboard in the Data Cleaning application. The :guilabel:`RULE` sidebar lists each of the active deduplication rules, and displays the total number of duplicates detected beside each rule. -By default, the :guilabel:`All` rule is selected. Displayed records are grouped by their rule, with -a :guilabel:`Similarity` rating (out of 100%) in the list view, with the following columns: +By default, the :guilabel:`All` rule is selected. Records are grouped by their rule, with a +:guilabel:`Similarity` rating (out of 100%), with the following columns: - :guilabel:`Created On`: the date and time the original record was created. - :guilabel:`Name`: the name or title of the original record. - :guilabel:`Field Values`: the original record's values for the fields used to detect duplicates. - :guilabel:`Used In`: lists other models referencing the original record. - :guilabel:`ID`: the original record's unique ID. -- :guilabel:`Is Master`: the duplicates are merged into the *master* record. There can be **one** - master record in a grouping of similar records. +- :guilabel:`Is Master`: the duplicates are merged into the *master* record. There can only be + **one** master record in a grouping of similar records. Select a specific rule in the :guilabel:`RULE` sidebar to filter the duplicate records. @@ -112,38 +109,36 @@ Next, click the :guilabel:`Merge` button at the top of the similar records group :guilabel:`Ok` to confirm the merge. Once a record is merged, a message is logged in the chatter of the master record, describing the -merge. Certain records, like *Project* tasks, are logged in the chatter with a link to the old -record for a convenient reference. +merge. Certain records, like **Project** tasks, are logged in the chatter with a link to the old +record as a convenient reference of the merge. .. tip:: Discard groupings by clicking the :guilabel:`DISCARD` button. Upon doing so, the grouping is hidden from the list and archived. - View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`Search... - ` bar. + View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`search bar + `. .. _data_cleaning/deduplication-rules: Deduplication rules ------------------- -The :guilabel:`Deduplication Rules` page (:menuselection:`Data Cleaning app --> Configuration --> -Rules: Deduplication`) is where the conditions for records to be detected as duplicates can be set. +The *Deduplication Rules* set the conditions for how records are detected as duplicates. These rules can be configured for each model in the database, and with varying levels of -specificity. +specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> +Deduplication`. .. tip:: - The deduplication rules run once every day, by default, as part of a scheduled action chron + The deduplication rules run once every day, by default, as part of a scheduled action cron (*Data Merge: Find Duplicate Records*). However, each rule can be :ref:`ran manually ` anytime. Modify a deduplication rule ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button, on -the :guilabel:`Deduplication Rules` page (:menuselection:`Data Cleaning app --> Configuration --> -Rules: Deduplication`). +Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button. First, choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model. @@ -178,8 +173,7 @@ clicking :guilabel:`Add a line`, under the :guilabel:`Unique ID Field` column. casing and language-specific accent differences. .. important:: - The rule does **not** capture duplicates without at least one deduplication rule set in the - :guilabel:`Deduplication Rules` field. + At least one :guilabel:`Deduplication Rules` must be set for the rule to capture duplicates. .. tip:: A few more fields are available for an advanced configuration. @@ -199,38 +193,38 @@ Manually run a deduplication rule ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To manually run a specific deduplication rule at any time, navigate to :menuselection:`Data Cleaning -app --> Configuration --> Rules: Deduplication`, and select the rule to run. +app --> Configuration --> Deduplication`, and select the rule to run. Then, on the rule form, select the :guilabel:`Deduplicate` button on the top-left. Upon doing so, the :icon:`fa-clone` :guilabel:`Duplicates` smart button displays the number of duplicates captured. -Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to manage these records. +Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to :ref:`manage these records +`. .. _data_cleaning/recycle: Recycle records =============== -Use the *Recycle Records* feature to rid the database of old and outdated records. +Use the *recycle records* feature to rid the database of old and outdated records. -On the :guilabel:`Field Recycle Records` dashboard (:menuselection:`Data Cleaning app --> Recycle -Records`), Odoo detects records that can be archived or deleted, by matching conditions within the -records set by the :ref:`recycle record's rules `. +The *Field Recycle Records* dashboard displays records that can be archived or deleted, by matching +conditions within the records set by the :ref:`recycle record's rules `. + +Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Recycle Records`. .. image:: data_cleaning/data-cleaning-recycle.png - :align: center :alt: Field Recycle Records dashboard in the Data Cleaning application. -The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules, and displays -the total number of records detected beside each rule. +The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules. -By default, the :guilabel:`All` option is selected. Records are displayed in the list view, with the -following columns: +By default, the :guilabel:`All` option is selected. Records are displayed with the following +columns: - :guilabel:`Record ID`: the ID of the original record. - :guilabel:`Record Name`: the name or title of the original record. -Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the duplicate records. +Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the records. To recycle records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record. @@ -249,16 +243,16 @@ archived or deleted from the database. Recycle record rules -------------------- -The :guilabel:`Recycle Records Rules` page (:menuselection:`Data Cleaning app --> Configuration --> -Rules: Recycle Records`) is where the conditions for records to be recycled can be set. +The *Recycle Records Rules* set the conditions for how records are recycled. These rules can be configured for each model in the database, and with varying levels of -specificity. +specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> +Recycle Records`. .. tip:: - The recycle rules run once a day, by default, as part of a scheduled action chron (*Data - Recycle: Clean Records*). However, each rule can be :ref:`run manually - ` anytime. + Recycle rules run once a day, by default, as part of a scheduled action cron (*Data Recycle: + Clean Records*). However, each rule can be :ref:`run manually ` + anytime. By default, no recycle record rules exist. Click the :guilabel:`New` button to create a new rule. @@ -306,7 +300,6 @@ With the rule's configuration complete, either close the rule form, or :ref:`run - :guilabel:`Include Archived`: :icon:`fa-check-square` .. image:: data_cleaning/data-cleaning-recycle-rule.png - :align: center :alt: Recycle records rule form for a lead/opportunity. .. _data-cleaning/run-recycle-rule: @@ -315,12 +308,13 @@ Manually run a recycle rule ~~~~~~~~~~~~~~~~~~~~~~~~~~~ To manually run a specific recycle rule at any time, navigate to :menuselection:`Data Cleaning app ---> Configuration --> Rules: Recycle Records`, and select the rule to run. +--> Configuration --> Recycle Records`, and select the rule to run. Then, on the rule form, click the :guilabel:`Run Now` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured. -Click the :icon:`fa-bars` :guilabel:`Records` smart button to manage these records. +Click the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records +`. .. _data_cleaning/field-cleaning: @@ -330,17 +324,17 @@ Field cleaning Use the field cleaning feature to maintain consistent formatting of names, phone numbers, IDs and other fields throughout a database. -On the :guilabel:`Field Cleaning Records` dashboard (:menuselection:`Data Cleaning app --> Field -Cleaning`), Odoo suggests formatting changes to data in fields of a record, to follow a convention -set by the field cleaning rules. +The *Field Cleaning Records* dashboard displays formatting changes to data in fields of a record, +to follow a convention set by the field cleaning rules. + +Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Field Cleaning`. .. image:: data_cleaning/data-cleaning-field.png :alt: Field Cleaning Records dashboard in the Data Cleaning application. -The :guilabel:`CLEANING RULES` sidebar lists each of the active cleaning rules, and displays the -total number of records detected beside each rule. +The :guilabel:`CLEANING RULES` sidebar lists each of the active cleaning rules. -By default, the :guilabel:`All` records are listed, with the following columns: +By default, the :guilabel:`All` rule is selected. Records are listed with the following columns: - :guilabel:`Record ID`: the ID of the original record. - :guilabel:`Record Name`: the name or title of the original record. @@ -366,14 +360,14 @@ Upon doing so, the record is formatted and/or cleaned. Field cleaning rules -------------------- -The :guilabel:`Field Cleaning Rules` page (:menuselection:`Data Cleaning app --> Configuration --> -Field Cleaning`) is where the conditions for fields to be cleaned and formatted can be set. +The *Field Cleaning Rules* set the conditions for fields to be cleaned and/or formatted. These rules can be configured for each model in the database, and with varying levels of -specificity. +specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> +Field Cleaning`. .. tip:: - The field cleaning rules run once every day, by default, as part of a scheduled action chron + The field cleaning rules run once every day, by default, as part of a scheduled action cron (*Data Cleaning: Clean Records*). However, each rule can be :ref:`ran manually ` anytime. @@ -459,13 +453,31 @@ Cleaning app --> Configuration --> Field Cleaning`, and select the rule to run. Then, on the rule form, select the :guilabel:`Clean` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured. -Click on the :icon:`fa-bars` :guilabel:`Records` smart button to manage these records. +Click on the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records +`. .. _data_cleaning/merge-action-manager: Merge action manager ==================== -The :guilabel:`Merge Action Manager` (:menuselection:`Data Cleaning app --> Configuration --> Merge -Action Manager`) enables or disables the *Merge* action available in the *Actions* menu for models -in the database. +The *Merge Action Manager* enables or disables the *Merge* action available in the *Actions* menu +for models in the database. + +Enable :ref:`developer-mode` and navigate to :menuselection:`Data Cleaning app --> Configuration --> +Merge Action Manager`. + +Models are listed with the following columns: + +- :guilabel:`Model`: technical name of the model. +- :guilabel:`Model Description`: display name of the model. +- :guilabel:`Type`: whether the model is of the *Base Object* or *Custom Object* type. +- :guilabel:`Transient Model`: the model handles temporary data that does not need to be stored + long-term in the database. +- :guilabel:`Can Be Merged`: enables the *Merge* action for the model. + +To view which models are enabled by default, use the :ref:`search bar ` to filter +models that :guilabel:`Can Be Merged`. + +.. seealso:: + :doc:`../essentials/contacts/merge`