From c7113ba995323017d3832254c716c37c041d9933 Mon Sep 17 00:00:00 2001 From: mcsi-odoo Date: Tue, 26 Aug 2025 15:39:18 +0000 Subject: [PATCH] [ADD] dashboards: consult, build, customize, configure dashboards task-4969391 X-original-commit: f0aa642f4962435999ea849de6ef2a49dec2bfcb --- 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 -> 62683 bytes .../applications/productivity/spreadsheet.rst | 58 ++-- .../spreadsheet/global_filters.rst | 2 + 10 files changed, 618 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/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..693defac45 --- /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, available via the search bar above 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, at minimum +for the Documents app, `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: @@ -126,16 +130,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: @@ -202,3 +199,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 1b675a28e4..734ebfbcba 100644 --- a/content/applications/productivity/spreadsheet/global_filters.rst +++ b/content/applications/productivity/spreadsheet/global_filters.rst @@ -270,6 +270,8 @@ With the :guilabel:`Filter properties` pane open: .. image:: global_filters/field-matching-checkbox.png :alt: A yes/no filter with the Active field set as matching field +.. _spreadsheet/global-filters/manage: + Manage and use global filters =============================