Skip to content

Commit 6cbcb2a

Browse files
committed
[ADD] spreadsheet: sharing and collaborating on spreadsheets
task-4943669 closes #15253 X-original-commit: 27a5a22 Signed-off-by: Siobhan McGonigle (mcsi) <mcsi@odoo.com>
1 parent 1d75b4d commit 6cbcb2a

File tree

4 files changed

+334
-10
lines changed

4 files changed

+334
-10
lines changed

content/applications/productivity/spreadsheet.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Spreadsheet
1313
spreadsheet/insert
1414
spreadsheet/work_with_data
1515
spreadsheet/visualize_data
16+
spreadsheet/share_collaborate
1617

1718
**Odoo Spreadsheet** allows you to organize, manipulate, analyze, and visualize data. It offers
1819
similar functionality to other spreadsheet solutions with the added benefit of integrating directly
@@ -28,19 +29,20 @@ With Odoo Spreadsheet, you can:
2829
- :doc:`create and use dynamic pivot tables <spreadsheet/work_with_data/dynamic_pivot_tables>`
2930
- filter data across multiple Odoo data sources using :doc:`global filters
3031
<spreadsheet/work_with_data/global_filters>`
31-
- visualize data using :doc:`charts <spreadsheet/visualize_data/charts>` and formatting
32-
- share files internally and externally
32+
- visualize data using :doc:`charts <spreadsheet/visualize_data/charts>` and :doc:`formatting
33+
<spreadsheet/visualize_data/conditional_formatting>`
34+
- :doc:`share files internally and externally <spreadsheet/share_collaborate>`
3335

3436
The Spreadsheet module is part of **Odoo Documents**.
3537

3638
.. tip::
3739
Within a spreadsheet, opening the command palette, using the :doc:`keyboard shortcut
38-
<../../applications/essentials/keyboard_shortcuts>` `Ctrl` + `K` or `Command` + `K`, allows you
40+
<../essentials/keyboard_shortcuts>` `Ctrl` + `K` or `Command` + `K`, allows you
3941
to browse and execute spreadsheet commands via the keyboard, without having to navigate menus.
4042

4143
.. note::
4244
Odoo spreadsheets serve as the foundation for the :doc:`dashboards available in Odoo Dashboards
43-
<../../applications/productivity/dashboards>`. On a dashboard, charts and data tables are used to
45+
<dashboards>`. On a dashboard, charts and data tables are used to
4446
display dynamic Odoo data and provide an overview of key business metrics.
4547

4648
:ref:`Standard, pre-configured dashboards

content/applications/productivity/spreadsheet/get_started.rst

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,16 @@ spreadsheet via the :guilabel:`File` menu:
135135
- :icon:`os-copy-file` :guilabel:`Make a copy`: creates a duplicate of the current spreadsheet with
136136
the same :ref:`regional settings <spreadsheet/get-started/manage-spreadsheets-locale>` (or
137137
locale).
138-
- :icon:`os-save` :guilabel:`Save as template`: allows the current spreadsheet to be used as a
139-
:ref:`template <spreadsheet/get-started/templates>` for future spreadsheets.
140-
- :icon:`os-download` :guilabel:`Download`: downloads the spreadsheet in `.xlsx` format.
138+
- :icon:`fa-share-alt` :guilabel:`Share`: allows you to configure access rights to the spreadsheet
139+
and :guilabel:`Share` it with specific users or copy a shareable link. For a spreadsheet
140+
containing dynamic Odoo data that needs to be shared with a user who does not have the
141+
appropriate access rights to the data, it is possible to :guilabel:`Freeze and share` the
142+
spreadsheet.
143+
144+
.. seealso::
145+
:ref:`Access and sharing <spreadsheet/collaboration/access-sharing>`
146+
147+
- :icon:`fa-download` :guilabel:`Download`: downloads the spreadsheet in `.xlsx` format.
141148

142149
.. important::
143150
When you download a spreadsheet in `.xlsx` format, any spreadsheet formulas that retrieve Odoo
@@ -148,14 +155,23 @@ spreadsheet via the :guilabel:`File` menu:
148155
.. tip::
149156
Users with :guilabel:`Viewer` rights can also download a spreadsheet in `.xlsx` format.
150157

158+
- :icon:`fa-print` :guilabel:`Print`: prints a copy of the spreadsheet on a connected printer.
159+
- :icon:`os-save` :guilabel:`Save as template`: allows the current spreadsheet to be used as a
160+
:ref:`template <spreadsheet/get-started/templates>` for future spreadsheets.
161+
- :icon:`fa-trash` :guilabel:`Move to trash`: moves the spreadsheet to the trash folder of the
162+
Documents app
163+
164+
.. tip::
165+
Items in the trash folder are permanently deleted after 30 days.
166+
167+
- :icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: :ref:`converts
168+
<spreadsheet/get-started/convert-to-dashboard>` the current spreadsheet into an
169+
:doc:`Odoo dashboard <../dashboards>`.
151170
- :icon:`os-version-history` :guilabel:`See version history`: provides read-only :ref:`access to
152171
previous versions <spreadsheet/get-started/manage-spreadsheets-versioning>` of the current
153172
spreadsheet, which can be named and restored if needed.
154-
- :icon:`fa-print` :guilabel:`Print`: prints a copy of the spreadsheet on a connected printer.
155173
- :icon:`os-cog` :guilabel:`Settings`: allows you to view and change the :ref:`locale
156174
<spreadsheet/get-started/manage-spreadsheets-locale>` of the current spreadsheet.
157-
- :icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: :ref:`converts
158-
<spreadsheet/get-started/convert-to-dashboard>` the current spreadsheet into an Odoo dashboard.
159175

160176
.. _spreadsheet/get-started/manage-spreadsheets-versioning:
161177

-2.04 KB
Loading
Lines changed: 306 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,306 @@
1+
=====================
2+
Share and collaborate
3+
=====================
4+
5+
Odoo Spreadsheet offers various features that allow for efficient real-time collaboration while
6+
ensuring the appropriate level of control and traceability, including:
7+
8+
- :ref:`permission-based sharing <spreadsheet/collaboration/access-sharing>`
9+
- :ref:`version history <spreadsheet/get-started/manage-spreadsheets-versioning>`
10+
- discussions via :ref:`comments and the spreadsheet's chatter thread
11+
<spreadsheet/collaboration/chatter>`
12+
13+
.. _spreadsheet/collaboration/access-sharing:
14+
15+
Access and sharing
16+
==================
17+
18+
In principle, the rights to access Odoo spreadsheets are handled like :ref:`any other file in the
19+
Documents app <documents/access-rights>`. :ref:`Roles and permissions
20+
<spreadsheet/collaboration/roles-permissions>` are either inherited from the folder a spreadsheet is
21+
saved in or controlled at the level of the spreadsheet itself.
22+
23+
However, there are important differences to consider between :ref:`spreadsheets that contain only
24+
static data <spreadsheet/collaboration/static-spreadsheet>` and :ref:`spreadsheets that contain
25+
dynamic Odoo data <spreadsheet/collaboration/dynamic-spreadsheet>`, in terms of both access and data
26+
visibility.
27+
28+
.. tip::
29+
30+
- Access to a folder or spreadsheet can be managed by its owner or any user with
31+
:guilabel:`Editor` rights.
32+
- A user with :guilabel:`Viewer` rights cannot share a spreadsheet with a specific user
33+
directly, but can copy a link to the spreadsheet.
34+
- Any user with access to a spreadsheet can download it as an `.xlsx` file by clicking
35+
:menuselection:`File -->` :icon:`fa-download` :menuselection:`Download` from the menu bar. If
36+
the spreadsheet contained dynamic data, the values are frozen at the moment of download.
37+
38+
.. _spreadsheet/collaboration/roles-permissions:
39+
40+
Roles and permissions
41+
---------------------
42+
43+
Permissions are managed using the following roles:
44+
45+
.. list-table::
46+
:header-rows: 1
47+
:stub-columns: 1
48+
:widths: 5 5 5 5 5 5 5 5 5
49+
50+
* - Role
51+
- View
52+
- Edit
53+
- Delete
54+
- Download .xlsx
55+
- Share
56+
- Manage roles
57+
- Use comments
58+
- Use chatter
59+
* - Owner
60+
- :icon:`fa-check`
61+
- :icon:`fa-check`
62+
- :icon:`fa-check`
63+
- :icon:`fa-check`
64+
- :icon:`fa-check` with specific people or via link
65+
- :icon:`fa-check` including changing owner
66+
- :icon:`fa-check`
67+
- :icon:`fa-check`
68+
* - Editor
69+
- :icon:`fa-check`
70+
- :icon:`fa-check`
71+
- :icon:`fa-check`
72+
- :icon:`fa-check`
73+
- :icon:`fa-check` with specific people or via link
74+
- :icon:`fa-check` but cannot change owner
75+
- :icon:`fa-check`
76+
- :icon:`fa-check`
77+
* - Viewer
78+
- :icon:`fa-check`
79+
- :icon:`oi-close`
80+
- :icon:`oi-close`
81+
- :icon:`fa-check`
82+
- :icon:`fa-check` only via link
83+
- :icon:`oi-close`
84+
- :icon:`oi-close`
85+
- :icon:`fa-check`
86+
87+
.. _spreadsheet/collaboration/static-spreadsheet:
88+
89+
Share a static spreadsheet
90+
--------------------------
91+
92+
Spreadsheets containing only static data can be shared internally or externally by the owner of the
93+
spreadsheet or any user with :guilabel:`Editor` rights.
94+
95+
To do so, click :icon:`fa-share-alt` :guilabel:`Share` in the upper-right corner above the
96+
spreadsheet, then :ref:`configure access as appropriate <documents/access-rights>`.
97+
98+
.. _spreadsheet/collaboration/dynamic-spreadsheet:
99+
100+
Share a dynamic spreadsheet
101+
---------------------------
102+
103+
A spreadsheet is considered a *dynamic spreadsheet* if it contains any of the following:
104+
105+
- formulas that retrieve live data from an Odoo database, e.g., in a :doc:`list or pivot table that
106+
has been inserted into the spreadsheet <insert>`
107+
- a linked :ref:`data source <spreadsheet/insert/data-sources>`, even if the corresponding list or
108+
pivot table has been deleted from the spreadsheet
109+
- links to Odoo menu items
110+
111+
Internal sharing
112+
~~~~~~~~~~~~~~~~
113+
114+
Spreadsheets containing dynamic Odoo data can be shared *with internal users only* by the owner of
115+
the spreadsheet or any user with :guilabel:`Editor` rights.
116+
117+
However, having access to a spreadsheet does not necessarily mean an internal user *sees* all the
118+
data in the original spreadsheet. The visibility of dynamic Odoo data is based on an internal user’s
119+
access rights to the model from which the data has been retrieved, and takes into account any record
120+
rules that may restrict access.
121+
122+
.. important::
123+
Permissions to view data are taken into account when an internal user opens a spreadsheet, with
124+
the spreadsheet only being populated with data the user is authorized to see.
125+
126+
.. example::
127+
A sales manager creates a spreadsheet that includes sales data for all the salespeople in their
128+
team. Users with the permission `Sales / User: Own Documents Only` only see data related to
129+
their own sales.
130+
131+
To share a spreadsheet containing dynamic Odoo data, click :icon:`fa-share-alt` :guilabel:`Share` in
132+
the upper-right corner above the spreadsheet, then :ref:`configure access as appropriate
133+
<documents/access-rights>`.
134+
135+
External sharing
136+
~~~~~~~~~~~~~~~~
137+
138+
Spreadsheets containing dynamic Odoo data *cannot be accessed by external users*.
139+
140+
.. note::
141+
If an external user attempts to access a dynamic spreadsheet via a link, an error message is
142+
shown.
143+
144+
If a spreadsheet containing Odoo data needs to be shared with an external user, the owner of the
145+
spreadsheet or a user with :guilabel:`Editor` rights can create a frozen, read-only version. In this
146+
version, all Odoo formulas are converted to their value at the moment the frozen version is created,
147+
and any links to Odoo menus are removed.
148+
149+
To create a frozen version of a spreadsheet that contains dynamic Odoo data, click
150+
:menuselection:`File --> Share --> Freeze and share` from the menu bar, then :ref:`configure access
151+
as appropriate <documents/access-rights>`.
152+
153+
.. tip::
154+
It is also possible to download a frozen version of a spreadsheet that contains Odoo data as an
155+
`.xlsx` file by clicking :menuselection:`File -->` :icon:`fa-download` :menuselection:`Download`
156+
from the menu bar. The values of any dynamic data are frozen at the moment of download.
157+
158+
.. _spreadsheet/collaboration/comments-chatter:
159+
160+
Comments and chatter
161+
====================
162+
163+
Odoo Spreadsheet offers two ways to communicate with other users who have access to the same
164+
spreadsheet, namely by using:
165+
166+
- :ref:`comments <spreadsheet/collaboration/comments>`
167+
- the spreadsheet's :ref:`chatter thread <spreadsheet/collaboration/chatter>`
168+
169+
.. _spreadsheet/collaboration/comments:
170+
171+
Use comments in a spreadsheet
172+
-----------------------------
173+
174+
Comments, which are added to individual spreadsheet cells, are useful for discussing specific
175+
elements of a spreadsheet. Other collaborators can be notified by typing `@` followed by their
176+
name.
177+
178+
.. important::
179+
Only the spreadsheet's owner or users with :guilabel:`Editor` rights can use comments in a
180+
spreadsheet; both roles can perform the same actions. Comments are not visible to users with
181+
:guilabel:`Viewer` rights.
182+
183+
.. _spreadsheet/collaboration/comments-add-react:
184+
185+
Add or react to comments
186+
~~~~~~~~~~~~~~~~~~~~~~~~
187+
188+
To add or react to a comment:
189+
190+
#. If the comment is:
191+
192+
- the first comment being added to the cell, right-click the cell then click :icon:`os-comments`
193+
:guilabel:`Insert comment` or click :menuselection:`Insert -->` :icon:`os-comments`
194+
:menuselection:`Insert comment` from the menu bar.
195+
- a reaction to an existing comment thread on a cell, click on the relevant cell or on the
196+
comment thread to open the thread.
197+
198+
#. Type a comment in the text box.
199+
200+
.. tip::
201+
202+
- Click the :icon:`fa-plus-circle` icon, then:
203+
204+
- :guilabel:`Add from Documents` to add a file saved in the Documents app
205+
- :icon:`oi-gif-picker` :guilabel:`Add GIFS` to add GIFs (if this is enabled in the
206+
:guilabel:`General Settings`)
207+
208+
- Click :icon:`fa-smile-o` :guilabel:`(Add Emojis)` to add emojis.
209+
- Type `@` followed by a user's name to tag them in the comment.
210+
211+
#. Click the :icon:`fa-send-o` :guilabel:`(Log)` icon or press `Enter` to log the comment.
212+
213+
Click anywhere else in the spreadsheet to close the comment thread.
214+
215+
.. tip::
216+
To react to an individual comment with only an emoji, hover over the comment, click the
217+
:icon:`oi-smile-add` :guilabel:`(Add a Reaction)` icon, then select the desired emoji.
218+
219+
.. _spreadsheet/collaboration/comments-view:
220+
221+
View comments
222+
~~~~~~~~~~~~~
223+
224+
When a comment has been added to a cell, a small yellow triangle appears in the top right corner of
225+
the cell.
226+
227+
To view a comment thread on a single cell, hover over the cell; click the cell or the comment
228+
thread to open the thread to be able to add a comment.
229+
230+
To view all comments on a spreadsheet, click :menuselection:`View -->` :icon:`os-comments`
231+
:menuselection:`All comments` from the menu bar. Alternatively, after opening a comment thread,
232+
click :guilabel:`Open all comments`.
233+
234+
The :guilabel:`Comments` panel opens on the right side of the spreadsheet. By default, comment
235+
threads for :guilabel:`All sheets` of the spreadsheet are shown, grouped by sheet. To see only the
236+
comment threads for the current sheet, select :guilabel:`This sheet` in the :guilabel:`Filter
237+
comments` field.
238+
239+
Click on a comment thread in the :guilabel:`Comments` panel to open it.
240+
241+
.. _spreadsheet/collaboration/comments-edit-delete:
242+
243+
Edit or delete comments
244+
~~~~~~~~~~~~~~~~~~~~~~~
245+
246+
.. note::
247+
A spreadsheet's owner or users with :guilabel:`Editor` rights can edit or delete any comment.
248+
249+
To edit a comment:
250+
251+
#. Hover over the comment, then click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon.
252+
#. Click :icon:`fa-pencil` :guilabel:`Edit`.
253+
#. Make the desired changes, then click :guilabel:`Save` or press `Enter`. To abort the edit, click
254+
:guilabel:`Cancel` or press `Escape`.
255+
256+
.. tip::
257+
A comment that has been modified has *(edited)* added to the end of the text.
258+
259+
To delete a comment:
260+
261+
#. Hover over the comment, then click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon.
262+
#. Click :icon:`fa-trash` :guilabel:`Delete`.
263+
#. Click :guilabel:`Confirm` to confirm the deletion.
264+
265+
.. _spreadsheet/collaboration/comments-resolve:
266+
267+
Resolve comment threads
268+
~~~~~~~~~~~~~~~~~~~~~~~
269+
270+
To resolve a comment thread:
271+
272+
#. Access the :guilabel:`Comments` panel by clicking :menuselection:`View -->` :icon:`os-comments`
273+
:menuselection:`All comments` from the menu bar. Alternatively, with a comment thread open, click
274+
:guilabel:`Open all comments`.
275+
#. Click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon for the relevant comment thread, then
276+
click :guilabel:`Resolve this thread`.
277+
278+
Once resolved, the comment thread is no longer accessible directly on the spreadsheet, but remains
279+
visible in the :guilabel:`Comments` panel; resolved threads are identified by a :icon:`fa-check`
280+
:guilabel:`(check)` icon.
281+
282+
To reopen a resolved comment thread, from the :guilabel:`Comments` panel, click the
283+
:icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon for the relevant comment thread, then click
284+
:guilabel:`Re-open this thread`.
285+
286+
.. _spreadsheet/collaboration/chatter:
287+
288+
Use a spreadsheet's chatter thread
289+
----------------------------------
290+
291+
Whereas :ref:`comments <spreadsheet/collaboration/comments>` on specific spreadsheet cells are
292+
suited for discussions about specific elements of a spreadsheet, a spreadsheet’s :doc:`chatter
293+
thread <../discuss/chatter>` allows for a more general discussion.
294+
295+
To access the chatter thread of a spreadsheet:
296+
297+
#. With the **Documents** app open, navigate to the folder or section where the spreadsheet is
298+
saved.
299+
#. Select the :icon:`oi-view-list` :guilabel:`(List)` view in the upper-right corner.
300+
#. Select the relevant spreadsheet, then click the :icon:`fa-info-circle` :guilabel:`(Info & tags)`
301+
button in the upper-right corner next to the view selector. Alternatively, with the spreadsheet
302+
selected, click the :icon:`fa-cog` :guilabel:`Action` button, then select :icon:`fa-info-circle`
303+
:guilabel:`(Info & tags)`.
304+
305+
The spreadsheet’s chatter thread opens on the right of the screen, below the spreadsheet's
306+
:ref:`details panel <documents/details-panel>`.

0 commit comments

Comments
 (0)