From afe536c850c8ee615d8acb6104d322a9f028ed0c Mon Sep 17 00:00:00 2001 From: mcsi-odoo Date: Tue, 26 Aug 2025 17:39:18 +0200 Subject: [PATCH] [ADD] dashboards: consult, build, customize, configure dashboards task-4969391 --- .../general/users/access_rights.rst | 2 + content/applications/productivity.rst | 1 + .../applications/productivity/dashboards.rst | 281 ++++++++++++++++++ .../build_and_customize_dashboards.rst | 223 ++++++++++++++ .../list-deleted.png | Bin 0 -> 10908 bytes .../productivity/dashboards/my_dashboard.rst | 70 +++++ .../dashboards/my_dashboard/add-view.png | Bin 0 -> 17836 bytes .../dashboards/my_dashboard/column-limits.png | Bin 0 -> 928 bytes .../dashboards/sales-dashboard.png | Bin 0 -> 64647 bytes .../applications/productivity/spreadsheet.rst | 58 ++-- .../spreadsheet/global_filters.rst | 2 + 11 files changed, 620 insertions(+), 17 deletions(-) create mode 100644 content/applications/productivity/dashboards.rst create mode 100644 content/applications/productivity/dashboards/build_and_customize_dashboards.rst create mode 100644 content/applications/productivity/dashboards/build_and_customize_dashboards/list-deleted.png create mode 100644 content/applications/productivity/dashboards/my_dashboard.rst create mode 100644 content/applications/productivity/dashboards/my_dashboard/add-view.png create mode 100644 content/applications/productivity/dashboards/my_dashboard/column-limits.png create mode 100644 content/applications/productivity/dashboards/sales-dashboard.png diff --git a/content/applications/general/users/access_rights.rst b/content/applications/general/users/access_rights.rst index 29ca8ca681..8ba58b97d6 100644 --- a/content/applications/general/users/access_rights.rst +++ b/content/applications/general/users/access_rights.rst @@ -28,6 +28,8 @@ should not have access to. Once complete, click :guilabel:`Save` to save the changes, and implement the user as an administrator. +.. _access-rights/users: + Users ===== diff --git a/content/applications/productivity.rst b/content/applications/productivity.rst index c93354bc84..60c9e3d682 100644 --- a/content/applications/productivity.rst +++ b/content/applications/productivity.rst @@ -10,6 +10,7 @@ Productivity productivity/documents productivity/sign productivity/spreadsheet + productivity/dashboards productivity/knowledge productivity/calendar productivity/appointments diff --git a/content/applications/productivity/dashboards.rst b/content/applications/productivity/dashboards.rst new file mode 100644 index 0000000000..3287a9d455 --- /dev/null +++ b/content/applications/productivity/dashboards.rst @@ -0,0 +1,281 @@ +:show-content: + +========== +Dashboards +========== + +.. toctree:: + :titlesonly: + + dashboards/build_and_customize_dashboards + dashboards/my_dashboard + +**Odoo Dashboards** allows you to consult, customize, and build interactive dashboards that display +real-time data from your Odoo database in an easy-to-understand way. By centralizing data from +various Odoo sources in a single location, dashboards provide an overview of key business metrics +that can help you monitor business performance and make informed decisions. + +:doc:`Odoo spreadsheets <../../applications/productivity/spreadsheet>` serve as the foundation for +dashboards, with tables and charts used to structure and visualize dynamic Odoo data. :ref:`Data +sources ` connect a dashboard's underlying spreadsheet to your +database, ensuring the most recent data is retrieved every time the dashboard is opened or +refreshed. + +With Odoo Dashboards, users can, depending on their :ref:`access rights +`: + +- :ref:`consult dashboards `, including :ref:`standard, + pre-configured dashboards ` +- :ref:`interact with dashboards ` using filters and by + accessing underlying data +- :ref:`share a snapshot of a dashboard ` with internal users who do + not have the appropriate access rights or with external users +- :doc:`build custom dashboards + <../../applications/productivity/dashboards/build_and_customize_dashboards>` using Odoo + Spreadsheet +- :ref:`customize dashboards ` to modify what data is + shown, the layout, or the filters available +- :ref:`manage access rights ` to dashboards +- centralize frequently consulted Odoo views on a personal + :doc:`../../applications/productivity/dashboards/my_dashboard` page + +.. tip:: + - Once a spreadsheet has been converted into a dashboard, it can only be accessed via the + Dashboards app. + - Unlike other Odoo dashboards, :guilabel:`My Dashboard` is not based on Odoo Spreadsheet, but + rather on :doc:`Odoo views <../studio/views>`. + +.. _dashboards/consult-dashboards: + +Consult dashboards +================== + +On the main Dashboards page, the left panel lists all :ref:`dashboards a user has access to +`, grouped by section. Clicking on a dashboard name opens that +dashboard in the main part of the page. + +.. tip:: + Clicking the :icon:`fa-angle-double-left` :guilabel:`(double chevron)` icon at the top of the + left panel collapses the panel, maximizing the space available for dashboards. + +.. _dashboards/consult-dashboards/standard: + +Standard dashboards +------------------- + +Depending on which apps are installed, a series of standard dashboards is available by default. + +These pre-configured dashboards have been designed to provide the most relevant insights +for the topic in question. Data on specific aspects of the topic is presented in tables and charts, +while dashboard-specific filters allow users to tailor the view to their needs. + +.. example:: + Within the :guilabel:`Sales` section in the Dashboards app, the :guilabel:`Sales` dashboard gives + an overview of the number of quotations and orders, the revenue, and the average order value, as + well as a chart showing monthly sales. It also includes tables listing top quotations and sales + orders, top-performing products and salespeople, and top countries served. + + A series of pre-configured global filters at the top of the dashboard allows the entire dashboard + to be filtered by, e.g., product or sales team. A default value of `Last 90 days` in the period + filter means data from the previous 90 days is automatically retrieved every time the dashboard + is opened or refreshed. + + .. image:: dashboards/sales-dashboard.png + :alt: Overview of Sales dashboard + +Standard dashboards can be :ref:`customized ` by a user +with the appropriate :ref:`access rights `. +For example, dashboard elements like tables and charts, or global filters can be added, edited, or +removed. + +.. important:: + When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the dashboard + ` and make any changes on the + duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any + customizations on the original version are lost. + +.. _dashboards/use-dashboards/interact: + +Interact with dashboards +------------------------ + +In addition to consulting a dashboard for a high-level overview of key business data, it is also +possible to interact with the dashboard for a more detailed analysis: + +- **Filter data**: Most standard dashboards have one or more :doc:`global filters + `, shown as dropdown menus, at the top of the dashboard. These filters + allow all the data on the dashboard to be filtered at the same time, for example, to show data + only for a specific period of time, or for one or more salespeople or customers. + +- **Open underlying database records**: To access database records referenced by a dashboard, click + on the relevant value in a table or on a data point on a chart. Doing so opens either the + individual record, or, in the case of charts or tables displaying consolidated data, a list of the + referenced records. + +- **Open underlying database views**: To access the view from which the data for a specific chart + or table is retrieved, click on the title of the chart or table. Doing so opens the corresponding + list view, pivot view or graph view. + +.. tip:: + To return to a dashboard after drilling down to underlying records or views, click the + :guilabel:`Dashboards` breadcrumb at the upper left of the page. + +.. _dashboards/configuration: + +Configuration +============= + +.. note:: + Only a user with the appropriate :ref:`access rights ` can configure or + modify settings for dashboards and dashboard sections. + +To manage dashboards and dashboard sections, go to :menuselection:`Configuration --> Dashboards`. +The following actions are possible at the level of dashboard sections: + +- **Change the order of dashboard sections** by using the :icon:`oi-draggable` :guilabel:`(drag + handle)` icon to move a section to a new position. + +- **Duplicate a dashboard section** by selecting the relevant section name, clicking the + :icon:`fa-cog` :guilabel:`Actions` button, and then :icon:`fa-clone` :guilabel:`Duplicate`. The + dashboards within the section are not duplicated. + +- **Delete a dashboard section** by selecting the relevant section name, clicking the :icon:`fa-cog` + :guilabel:`Actions` button then :icon:`fa-trash-o` :guilabel:`Delete`. + + .. tip:: + Standard, pre-installed dashboard sections cannot be deleted; custom dashboard sections, on + the other hand, can be deleted. + +- **Create a new dashboard section** by clicking :guilabel:`New`, then entering the section name. + When creating a new section, it is possible to add a dashboard to the new section + directly by clicking :guilabel:`Add a spreadsheet`. + +Clicking on an individual dashboard section lists all dashboards within that section. The following +actions are possible: + +- **Change the order of a dashboard within its section** by using the :icon:`oi-draggable` + :guilabel:`(drag handle)` icon to move the dashboard to a new position. + +- **Edit the name of a dashboard section or dashboard** by clicking the name and modifying it. + +- **Add or remove user groups** to :ref:`control access to the dashboard + `. + +- **Select a company** if, in a :doc:`multi-company + <../../applications/general/companies/multi_company>` database, the dashboard should only be + visible to users of one company. If this field is left blank, the dashboard is visible to all + users with the appropriate access rights, regardless of which company is currently selected in the + database. + +- **Unpublish a dashboard** by disabling the :guilabel:`Is Published` toggle. + +- **Edit the underlying spreadsheet** of a dashboard by clicking :icon:`fa-pencil` :guilabel:`Edit` + on the line of the relevant dashboard. + + .. important:: + When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the + dashboard ` and make any changes + on the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at + each Odoo version upgrade, meaning any customizations on the original version are lost. + +- **Delete a dashboard** by clicking the :icon:`fa-trash` :guilabel:`(trash)` icon. + + .. tip:: + A standard dashboard that is deleted is reinstalled at the next Odoo version upgrade. + +- **Add a new dashboard to the section** by clicking :guilabel:`Add a spreadsheet`. Two options + exist: + + - To convert an existing spreadsheet into a dashboard and add it to the new section, select the + relevant spreadsheet, then click :guilabel:`Confirm`. Back in the section overview, update the + :guilabel:`Group` and :guilabel:`Company` fields if needed. + + - To start creating a dashboard from scratch, select :guilabel:`Blank spreadsheet`. To return to + the section overview, click the name of the section at the top left of the page. Update the + :guilabel:`Group` and :guilabel:`Company` fields if needed. + + .. note:: + After a spreadsheet has been converted into a dashboard, it can only be :ref:`accessed and + edited via the Dashboards app `. + + .. tip:: + - A newly created dashboard is by default accessible to users belonging to the default internal + :ref:`user group `. Edit this if needed via the configuration page of + the relevant dashboard section. + - It is also possible to :ref:`convert a spreadsheet into a dashboard + ` and add it to a dashboard section + starting from the spreadsheet in the Documents app. + +.. _dashboards/access-and-sharing: + +Access rights and sharing +========================= + +.. _dashboards/access-and-sharing/viewing: + +Consulting dashboards +--------------------- + +The *right to view and interact with a dashboard* is based on :ref:`user groups +`, and is managed in the :ref:`Configuration settings +` of the Dashboards app. Only users who are part +of a group that has been granted access to a specific dashboard see that dashboard in the left-hand +panel on the main Dashboards page. Users with `Dashboard / Admin` access rights can view all +dashboards. + +However, the *visibility of dynamic Odoo data within a dashboard* is handled separately. This is +based on a user's :ref:`access rights ` to the model from which the data has +been retrieved, and takes into account any record rules that may restrict access. + +.. important:: + User permissions are taken into account when a user opens a dashboard, with the dashboard only + being populated with data the user is authorized to see. This means that a user could in theory + be able to view a dashboard but, due to a lack of appropriate permissions, not be able to see the + Odoo data the dashboard's creator intended to be displayed. + + Therefore, it is crucial to take user permissions into consideration when granting dashboard + access to groups. + +.. example:: + Granting the user group `Sales / User: Own Documents Only` access to the :guilabel:`Sales` + dashboard would serve little purpose. While users belonging to that group would be able to view + and interact with the dashboard, they would only see data related to their own sales, rendering + the overall dashboard misleading. + +.. _dashboards/access-and-sharing/manage-view-access: + +Manage access rights to view dashboards +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To manage users' rights to view and interact with a dashboard: + +#. In the Dashboards app, go to :menuselection:`Configuration --> Dashboards`. +#. From the list of dashboard sections, open the relevant section. +#. On the line of the relevant dashboard, in the :guilabel:`Group` column: + + - add a user group by clicking the field until a dropdown with user groups appears, then + selecting the appropriate user group. In the dropdown, click :guilabel:`Search More` to access + the full list of user groups; + - remove a user group by clicking the relevant group name, then clicking :icon:`fa-times` + :guilabel:`(Delete)`. + +.. _dashboards/access-and-sharing/customize-configure-build: + +Building, customizing and configuring dashboards +------------------------------------------------ + +Only users with `Dashboards / Admin` access rights can :ref:`customize dashboards +` or :ref:`configure dashboard settings +`. To :ref:`build a dashboard from scratch +`, a user must have both `Dashboards / Admin` and `Documents +/ User` access rights. + +.. _dashboards/access-and-sharing/sharing: + +Share dashboard snapshot +------------------------ + +To share a frozen version of a dashboard with an internal user who does not have the appropriate +access or with an external party, click :icon:`fa-share-alt` :guilabel:`Share` at the top-right of +the page then click the :icon:`fa-clone` :guilabel:`(copy)` icon to copy a shareable link to your +clipboard. diff --git a/content/applications/productivity/dashboards/build_and_customize_dashboards.rst b/content/applications/productivity/dashboards/build_and_customize_dashboards.rst new file mode 100644 index 0000000000..a8fc987be2 --- /dev/null +++ b/content/applications/productivity/dashboards/build_and_customize_dashboards.rst @@ -0,0 +1,223 @@ +============================== +Build and customize dashboards +============================== + +In addition to consulting :ref:`standard dashboards `, users +with the appropriate :ref:`access rights ` +can :ref:`build custom dashboards from scratch ` or +:ref:`customize existing dashboards ` to respond to +specific business needs. + +.. _build_and_customize_dashboards/build: + +Build a dashboard +================= + +In its most simple terms, building a dashboard involves :doc:`inserting Odoo data into a spreadsheet +<../../../applications/productivity/spreadsheet/insert>` then :ref:`converting that spreadsheet into +a dashboard `. + +However, to build a dashboard that delivers relevant and valuable insights, it is important to +consider the process in terms of three key stages: :ref:`preparation +`, :ref:`data insertion and manipulation +`, and :ref:`data visualization +`. + +.. _build_and_customize_dashboards/build-preparation: + +Preparation +----------- + +This stage involves: + +- defining the purpose of the dashboard, in other words, the business questions it needs to answer, + and deciding what data would answer those questions; +- determining where to find the relevant Odoo data and deciding which :doc:`type of view + <../../../applications/studio/views>` (i.e., list, pivot table, or chart) is most suited for the + data analysis needed; +- preparing the Odoo data by refining the views to focus on the most relevant information, e.g., by + using :doc:`search filters <../../../applications/essentials/search>`, by making only certain list + fields visible, or by deciding which dimensions and measures a pivot table should use; +- sourcing any other information needed to support the dashboard. + +.. _build_and_customize_dashboards/build-insertion-manipulation: + +Data insertion and manipulation +------------------------------- + +This stage involves: + +- :doc:`inserting the prepared lists, pivot tables or charts + <../../../applications/productivity/spreadsheet/insert>` into the spreadsheet you will use to + build your dashboard; +- manipulating the data, if needed, to be able to draw the necessary insights. This may involve + performing calculations or creating custom metrics using :doc:`standard or Odoo-specific functions + and formulas <../../../applications/productivity/spreadsheet/functions>`, referencing data from + various sources within the spreadsheet, or :doc:`converting static pivot tables to dynamic pivot + tables <../../../applications/productivity/spreadsheet/dynamic_pivot_tables>`. + +.. _build_and_customize_dashboards/build-visualization: + +Data visualization +------------------ + +This stage involves: + +- presenting the data on at least the first sheet of your spreadsheet (i.e., the sheet that will + serve as the front end of your dashboard) in a clear, visual, and meaningful way so it is easy to + interpret. Concretely, this means deciding on the layout and order of elements such as tables and + charts, as well as using tools and techniques to guide the user, such as clear and descriptive + headings, text formatting and colors, carefully chosen chart types, and conditional formatting to + highlight specific data visually; +- :ref:`inserting clickable links `, if relevant, to provide + access to Odoo menu items, URLs, or other sheets within the same spreadsheet if these should also + be accessible from the front end of your dashboard; +- :doc:`creating global filters <../../../applications/productivity/spreadsheet/global_filters>` to + allow users to tailor the view to their needs; +- :ref:`converting the spreadsheet into a dashboard + `, determining whether to add the dashboard + to an existing or new dashboard section, and :ref:`managing access rights to the dashboard + `. + +.. tip:: + - Use standard dashboards as inspiration for how to best present and visualize data. For example, + for charts, :ref:`open the underlying spreadsheet + ` of a standard dashboard, hover + over a chart and click the :icon:`fa-bars` :guilabel:`(menu)` icon, then + :icon:`fa-pencil-square-o` :guilabel:`Edit` to see the chart properties on the right side of + the screen. + - The possibility to link to other sheets within the same spreadsheet allows the creation of a + multi-page dashboard, with users able to navigate between pages thanks to clickable links. + Global filters apply across all pages of a dashboard. + +.. seealso:: + `Odoo Tutorial: Dashboard from scratch + `_ + +.. _build_and_customize_dashboards/customize: + +Customize a dashboard +===================== + +Dashboards are customized by editing the dashboard's underlying spreadsheet. + +.. important:: + When customizing a :ref:`standard dashboard `, it is + highly recommended to :ref:`duplicate the dashboard + ` and make any changes on + the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at + each Odoo version upgrade, meaning any customizations on the original version are lost. + +.. _build_and_customize_dashboards/customize/open-spreadsheet: + +Open the underlying spreadsheet +------------------------------- + +To open a dashboard's underlying spreadsheet: + +#. In the Dashboards app, go to :menuselection:`Configuration --> Dashboards`. +#. Open the relevant dashboard section, then, on the line of the relevant dashboard, click + :icon:`fa-pencil` :guilabel:`Edit`. + +.. tip:: + - Users who do not have the appropriate :ref:`access rights + ` to customize a dashboard can still + access a read-only version of the dashboard's underlying spreadsheet. + - To temporarily unpublish a dashboard while you make changes, disable :guilabel:`Is Published` + *before* editing the dashboard, making note to republish it when the customization has been + finalized. + - With :ref:`developer mode ` activated, click on the :icon:`fa-pencil` + :guilabel:`(Edit)` icon beside the name of a dashboard in the left panel to open its underlying + spreadsheet. + +The spreadsheet that opens typically consists of at least two sheets: + +- **The first sheet** always serves as the front end of your dashboard, and contains the tables + and charts used to structure and visualize the data. + +- **The second and any subsequent sheets** typically contain data used for the calculation of key + metrics shown on the first sheet. + +.. note:: + The :ref:`data sources ` that maintain the connection between + the spreadsheet and the relevant models in your database can be viewed by clicking + :menuselection:`Data` on the spreadsheet's menu bar. These data sources are identified by + their respective :icon:`oi-view-pivot` :guilabel:`(pivot table)`, :icon:`oi-view-list` + :guilabel:`(list)` or :icon:`fa-bar-chart` :guilabel:`(chart)` icon, followed by their ID and + name, e.g., :icon:`oi-view-pivot` *(#1) Sales Analysis by Product*. + + For :ref:`standard dashboards `, while the data sources + are still active and visible in the :menuselection:`Data` menu, the corresponding lists and pivot + tables have been removed from the spreadsheet for better performance and a neater appearance. + +.. _build_and_customize_dashboards/customize/duplicate-dashboard: + +Duplicate a dashboard +~~~~~~~~~~~~~~~~~~~~~ + +To duplicate a dashboard: + +#. In the Dashboards app, go to :menuselection:`Configuration --> Dashboards`. +#. Open the relevant dashboard section, then, on the line of the dashboard you want to duplicate, + click :icon:`fa-pencil` :guilabel:`Edit`. +#. In the spreadsheet that opens, click :menuselection:`File -->` :icon:`os-copy-file` + :menuselection:`Make a copy`. +#. Rename the duplicated dashboard by clicking the name of the spreadsheet at the top left of the + screen and editing as needed. + +.. tip:: + - To return to the overview of the dashboard section, click the name of the original dashboard at + the top left of the page, then the name of the dashboard section. + - After duplicating a dashboard, delete the original dashboard by clicking the :icon:`fa-trash` + :guilabel:`(trash)` icon or rename it by clicking on the name then editing it. + +.. _dashboards/customize-dashboard/edit-spreadsheet: + +Add, edit, or remove dashboard elements +--------------------------------------- + +Dashboards can be customized in various ways, such as by: + +- adding new tables and charts based on previously inserted or :ref:`newly inserted Odoo data + `. This requires a similar approach + to :ref:`building a dashboard from scratch `; +- :doc:`adding new global filters <../../../applications/productivity/spreadsheet/global_filters>` + or editing or deleting existing ones; +- :ref:`adding or editing clickable links ` to Odoo menus, URLs, + or to other sheets within the same spreadsheet. + +.. tip:: + Dashboard elements that are no longer needed can be deleted from the spreadsheet. If, after + deleting a dashboard element, a :ref:`data source ` is no longer + being used in the spreadsheet, this is indicated by a :icon:`fa-exclamation-triangle` + :guilabel:`(warning)` icon in the :guilabel:`Data` menu. + + .. image:: build_and_customize_dashboards/list-deleted.png + :alt: Warning to indicate data source no longer used in spreadsheet + +.. _dashboards/customize-dashboard/edit-spreadsheet-new-odoo-data: + +Insert new Odoo data +-------------------- + +Inserting new Odoo data into a dashboard's underlying spreadsheet requires starting from the +relevant Odoo view. To do so: + +#. With the relevant list view, pivot view or graph view open in your database, proceed as follows: + + - For a list view, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the + view, then :guilabel:`Spreadsheet -->` :icon:`oi-view-list` :menuselection:`Insert list in + spreadsheet`. + - For a pivot or graph view, click :guilabel:`Insert in Spreadsheet` at the top left of the view. + +#. In the window that opens, edit the name if needed. For a list, edit the number of records, i.e., + rows to be inserted, if needed. +#. Click the :guilabel:`Dashboards` tab then select in which dashboard the list, pivot table, or + chart should be inserted. + +A list or pivot table is inserted into a new sheet in the dashboard's underlying spreadsheet; a +chart is inserted on the first sheet of the spreadsheet. + +.. seealso:: + :doc:`Inserting Odoo data into a spreadsheet + <../../../applications/productivity/spreadsheet/insert>` diff --git a/content/applications/productivity/dashboards/build_and_customize_dashboards/list-deleted.png b/content/applications/productivity/dashboards/build_and_customize_dashboards/list-deleted.png new file mode 100644 index 0000000000000000000000000000000000000000..95799cbf39ca866e975e68ba203fd11f3a414dd6 GIT binary patch literal 10908 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 you consult +most regularly, making it possible to see critical tasks at a glance without having to first +navigate through multiple apps. Unlike other Odoo dashboards, My Dashboard is not based on **Odoo +Spreadsheet**. + +Views inserted in My Dashboard are fully dynamic and retain many features of the source view, e.g., +sorting of lists, changing the measures used for a pivot table or cohort view, changing the chart +type, or clicking on a value or data point to view the underlying record(s). + +.. tip:: + It is not possible to change the domain, i.e., the filtering or grouping, of a view that has been + added to My Dashboard. To change the domain, make the necessary changes in the original view, + then re-insert the view in My Dashboard and delete the originally inserted view. + +Add views +========= + +Most Odoo views can be added to My Dashboard, including: + +- :ref:`multiple record views ` like list, kanban, and map +- :ref:`timeline views ` like calendar, cohort, and gantt +- :ref:`reporting views ` like pivot and graph + +To add a view to My Dashboard: + +#. With the relevant view open in your database, click the :icon:`fa-cog` :guilabel:`(Actions)` icon + beside the name of the view, then :menuselection:`Dashboard`. +#. Under :guilabel:`Add to my Dashboard`, rename the view if desired, then click :guilabel:`Add`. + + .. image:: my_dashboard/add-view.png + :alt: Adding a view to My Dashboard + :scale: 80% + +#. Refresh the page. + +The added view is now visible as a widget in My Dashboard in the Dashboards app. + +.. tip:: + If added views are not showing in My Dashboard, refresh the browser page. + +Customize layout +================ + +When at least one view has been added to My Dashboard, the page can be customized as follows: + +- **Change the layout of the page**: Click :guilabel:`Change Layout` in the top-right corner and + select the desired layout. + + .. tip:: + For multi-column layouts, the column limits are identified by :icon:`fa-caret-left` + :guilabel:`(left caret)` and :icon:`fa-caret-right` :guilabel:`(right caret)` icons at the + bottom of the page. If needed, scroll to the bottom of the page to see the column limits. + + .. image:: my_dashboard/column-limits.png + :alt: Column limits visible at bottom of page + +- **Collapse and expand widgets**: By default, an inserted widget is shown fully expanded. To + collapse, or minimize, a widget, and show only the title, click the :icon:`fa-window-minimize` + :guilabel:`(minimize)` icon at the top right of the widget. To expand a widget, click the + :icon:`fa-window-maximize` :guilabel:`(maximize)` icon. +- **Move widgets**: Drag and drop widgets to the desired location in the same column or a different + column. +- **Remove widgets**: To remove a widget from the page, click the :icon:`fa-times` + :guilabel:`(remove)` icon. + + diff --git a/content/applications/productivity/dashboards/my_dashboard/add-view.png b/content/applications/productivity/dashboards/my_dashboard/add-view.png new file mode 100644 index 0000000000000000000000000000000000000000..f44e8dfe0ba79517b0999b720c8aa63df2621781 GIT binary patch literal 17836 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. On a dashboard, charts and data tables are used to + display dynamic Odoo data and provide an overview of key business metrics. + + :ref:`Standard, pre-configured dashboards + ` can be :ref:`customized + ` by editing the dashboard's underlying spreadsheet via + Dashboards. :ref:`Custom dashboards + ` can also be created from scratch, starting from an Odoo + spreadsheet; any subsequent :ref:`modifications ` are + performed via Dashboards. .. _spreadsheet/create-new: @@ -125,16 +129,9 @@ spreadsheet via the :guilabel:`File` menu: - :icon:`fa-print` :guilabel:`Print`: prints a copy of the spreadsheet on a connected printer. - :icon:`os-cog` :guilabel:`Settings`: allows you to view and change the :ref:`locale ` of the current spreadsheet. -- :icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: allows you to turn the current - spreadsheet into a new dashboard that is accessible via Odoo Dashboards. The following fields must - be completed: :guilabel:`Dashboard Name`, the :guilabel:`Dashboard Section` in which the new - dashboard will be saved, and :guilabel:`Access Groups` to determine which user groups can access - the dashboard. - - .. note:: - When a spreadsheet is converted into a dashboard, the original spreadsheet is deleted from Odoo - Spreadsheet. However, it is still possible to edit the dashboards's underlying spreadsheet via - Odoo Dashboards. +- :icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: :ref:`converts + ` the current spreadsheet into an Odoo + dashboard. .. _spreadsheet/manage-spreadsheets/version-history: @@ -201,3 +198,30 @@ right of the spreadsheet. To change the locale, select the appropriate locale fr If no :icon:`fa-globe` :guilabel:`(globe)` icon is shown, this means the spreadsheet's locale is the same as that of your user profile. + +.. _spreadsheet/manage-spreadsheets/convert-to-dashboard: + +Convert a spreadsheet into a dashboard +-------------------------------------- + +A user with the appropriate :ref:`access rights ` can convert an Odoo +spreadsheet into a dashboard that is then accessible via +:doc:`Odoo Dashboards <../../../applications/productivity/dashboards>`. To do so: + +#. Click :menuselection:`File -->` :icon:`os-add-to-dashboard` :menuselection:`Add to dashboard` + from the menu bar. +#. Enter the :guilabel:`Dashboard Name`. +#. Select the relevant :guilabel:`Dashboard Section` from the dropdown or, to create a new dashboard + section, type the name of the new section, then click :guilabel:`Create`. +#. If necessary, modify the :guilabel:`Access Groups` to determine which :ref:`user groups + ` can access the dashboard. +#. Click :guilabel:`Create`. + +.. tip:: + - By default, the first tab of the spreadsheet serves as the front end of the dashboard. + - It is also possible to convert a spreadsheet to a dashboard from within the :ref:`Dashboard + configuration settings `, by directly adding the spreadsheet to + an existing or new dashboard section. + - After a spreadsheet has been converted to a dashboard, it is deleted from Odoo Documents. Any + subsequent :ref:`modifications ` need to be made via + Odoo Dashboards. diff --git a/content/applications/productivity/spreadsheet/global_filters.rst b/content/applications/productivity/spreadsheet/global_filters.rst index e2d3969efa..50931569e4 100644 --- a/content/applications/productivity/spreadsheet/global_filters.rst +++ b/content/applications/productivity/spreadsheet/global_filters.rst @@ -252,6 +252,8 @@ With the :guilabel:`Filter properties` pane open: Furthermore, if the values in the range have been retrieved dynamically from the database, as in this case, the text filter is also dynamic, i.e., will reflect changes made to those values. +.. _spreadsheet/global-filters/manage: + Manage and use global filters =============================