From 78b4c2a6e88de84ab66ac3b1ff3090355cbbef06 Mon Sep 17 00:00:00 2001 From: mcsi-odoo Date: Thu, 6 Feb 2025 11:33:56 +0100 Subject: [PATCH] [IMP] studio: configure export of customizations Task-4207013 --- content/applications/studio.rst | 2 +- .../studio/models_modules_apps.rst | 89 ++++++++++++++++-- .../models_modules_apps/studio-export.png | Bin 0 -> 5227 bytes 3 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 content/applications/studio/models_modules_apps/studio-export.png diff --git a/content/applications/studio.rst b/content/applications/studio.rst index 48e40d2b9..d48456000 100644 --- a/content/applications/studio.rst +++ b/content/applications/studio.rst @@ -21,7 +21,7 @@ can, in any app, add or modify: - :doc:`Fields ` - :doc:`Views ` - :doc:`Models ` -- :doc:`Automated actions ` +- :doc:`Automation rules ` - :doc:`PDF reports ` - :doc:`Approval rules ` - Security rules diff --git a/content/applications/studio/models_modules_apps.rst b/content/applications/studio/models_modules_apps.rst index 9bf175d4e..ca52e6c67 100644 --- a/content/applications/studio/models_modules_apps.rst +++ b/content/applications/studio/models_modules_apps.rst @@ -212,16 +212,87 @@ Export and import customizations ================================ When you do any customization with Studio, a new module named :guilabel:`Studio customizations` is -added to your database. +added to your database. Exporting customizations from one database and importing them in another can +be useful, for example, when setting up a new module or for training purposes. -To export these customizations, go to :menuselection:`Main dashboard --> Studio --> Customizations ---> Export` to download a ZIP file containing all customizations. +.. note:: -To import and install these customizations in another database, connect to the destination database -and go to :menuselection:`Main dashboard --> Studio --> Customizations --> Import`, then upload -the exported ZIP file before clicking on the :guilabel:`Import` button. + Exporting customizations from Studio is different from the standard Odoo export function, which + allows you to export data as an Excel or csv file. With :guilabel:`Studio Export`, data is + exported as a ZIP file, which corresponds to a module. + + When the module is imported in another database, the data is imported in a logical way, e.g. if + the module contains customers and sales orders, the customers are created first, since these are + required for the sales orders. + +.. _studio/export-import/export: + +Export customizations +--------------------- + +To export customizations, from the main Odoo dashboard click the **Toggle Studio** button, then +:guilabel:`Export`. + +You can download a ZIP file containing all Studio customizations by clicking the :guilabel:`Export` +button. Alternatively, you can choose which data and/or demo data to export by clicking +:guilabel:`Configure data and demo data to export`. + +.. _studio/export-import/export/configure: + +Configure data to export +~~~~~~~~~~~~~~~~~~~~~~~~ + +To select specific models to export, on the :guilabel:`Studio Export` screen click +:guilabel:`New`, then choose the relevant model. + +.. tip:: + + Click :guilabel:`Preset` to see a list of all models in your database with records that have been + modifed using Studio. To configure one of these models for export, click on the model to open it + and make the required changes. + +Tick the following options as relevant: + +- :guilabel:`Demo`: if the exported records should be considered as demo data when imported. +- :guilabel:`Attachments`: if attachments related to exported records should be included in the + exported. +- :guilabel:`Updatable`: if the exported records should be able to updated during a module update. + +To set or change the rules determining which of the model's records should be exported, click the +:icon:`fa-caret-right` icon next to :guilabel:`Domain` then click :guilabel:`Edit domain`. + +After configuring a model for export, click :guilabel:`Studio Export` to return to the main screen. +To download a ZIP file with the customizations for all the listed models, click :guilabel:`Export`. + +.. note:: + + It is not necessary to select one or more models as all listed models will be included in the + export. To remove a model from the export, select it and click + :icon:`fa-cog` :guilabel:`Actions` then :icon:`fa-trash-o` :guilabel:`Delete`. + +Choose whether to only :guilabel:`Include Data` or to also +:guilabel:`Include Demo Data`, then click the :guilabel:`Export` button. + +.. image:: models_modules_apps/studio-export.png + :alt: Choosing to export both data and demo data + +When the download is complete, click the **X** to close the :guilabel:`Studio Export` window. + +.. _studio/export-import/import: + +Import customizations +--------------------- .. warning:: - Before importing, make sure the destination database contains the same apps and modules as the - source database. Studio does not add the underlying modules as dependencies of the exported - module. + Before importing, make sure the destination database is the same Odoo version and contains the + same apps and modules as the source database. Studio does not add the underlying modules as + dependencies of the exported module. + +To import and install Studio customizations in another database, connect to the destination +database, then, from the main Odoo dashboard click the **Toggle Studio** button then +:guilabel:`Import`. + +Upload the exported ZIP file. If demo data should be imported, tick :guilabel:`Load demo data`. +Click the :guilabel:`Install` button to complete the import. + + diff --git a/content/applications/studio/models_modules_apps/studio-export.png b/content/applications/studio/models_modules_apps/studio-export.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac3b408f31aef0950b4e319bdf9962ba3262d36 GIT binary patch literal 5227 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