About Cloud Storage Solutions


Cloud Storage Solutions is an Odoo app to organize attachments, manage folders' trees, and synchronize Odoo with the cloud storage solution(s) of your choice. The app introduces automatic algorithms to prepare directories for documents and integrate those with workflows of  Google Drive, OneDrive/SharePoint,  Nextcloud/ownCloud, and  DropBox.

Decide which Odoo document types should have their own folder trees. Flexibly create folder rules. Any Odoo model can be chosen.

Manage folders and attachments from a single view. Conveniently navigate through them. Search and download files one by one or in a batch.

Organize files of any Odoo object in a set of subfolders. Instantly access folders and files in the attachments box and in synced cloud interfaces.

Share files, directories, and tags with particular partners or with an access URL. Let users download whole shares and separate items, upload attachments, and add folders or tags.

The module allows preparing directories and sending them to the cloud client of your choice (Google Drive, OneDrive/SharePoint,  Nextcloud/ownCloud, and  DropBox). Have as many connections as you need. A separate add-on for each client is required.

Rely on auto-synchronization between Odoo and cloud solutions based on scheduled jobs. No manual interaction is required.  

Control sync logs right in Odoo. Export and share those in case of any issues. Be notified of any client disconnections. 

Set up rules to prepare folders based on Odoo Enterprise workspaces (). All features, including sharing, downloading, and signing, would work even after sync.

Files manager interface

Automatic regular bilateral sync

Multi synchronization

Files and folders portal sharing

 
 




Concepts and Terms


Here you can find terms and add-ons icons that were used throughout all documentation.

Odoo model – is a document type in Odoo (for example, Sale Order, Project, Contact).

Odoo object – is an Odoo record within an Odoo model (for example, S00032, Project XYZ, Abigail Peterson).

Folder - a key object in cloud storage solutions that represents a virtual location for the attachments and other sub-folders.

Folder rules – are the configurations, based on which the module generates folders by checking the settings and fields of models and objects.

Model-related rule – a folder rule based on an Odoo model (for example, Sale Order, Purchase Order, Project, Contacts, Leads/Opportunities). The model-related folder rules state from what model the information should be extracted.

Workspace-related rule () - a folder rule used to sync the files from the module Documents, which generates folders according to the workspace structure.

Single View Interface – the functional interface for internal users to manage folders and files.

Automatic folder – is a rule-based folder generated regularly, based on the scheduled job 'Prepare Cloud Folders'.

Manual folder – a folder, which was created by a user. Unlike automatic folders settings for each folder should be set manually. Usually serve as subfolders to automatic folders.

Tag - a special object to categorize attachments, make them easily searchable, and provide a colorful visual mark for a file quick identification.

(Portal) Share - is a special Odoo object to combine attachments and share those with specific portal users or publically through the access URL.

Attachment – is a special Odoo object, which serves for organizing and storing files in Odoo.

Attachments box – the standard Odoo interface for Odoo object form views, where attachments are displayed (available for downloading and uploading).

Default folder – manual folders with or without default attachments that would be auto-generated for a specific Odoo object folder, as soon as an object-related folder is created for the first time. Further folder refreshing will not result in generating default folders with default attachments.

Cloud client - is external software, which might be used to organize cloud storage. For example, Google Drive,  OneDrive/SharePoint, ownCloud/Nextcloud, or DropBox.

Direct sync - is the sync from Odoo to the cloud client. For example, when you add files to an attachments box of an object or its folder, it is the direct sync, that sends them to the cloud.

Backward sync – is the sync from the cloud client to Odoo. For example, when you add files to one of the synced object’s folders in the cloud client, it is the backward sync that fetches them and adds them to the related folders in Odoo.

Reverse sync – is the sync, that assumes getting back all items to Odoo and deleting the files from the cloud client. It takes place when a folder isn't anymore synced when you want to change the cloud client of previously synced files and folders, or when the sync is fully stopped (cloud is reset).

Sync logs - records, which provide useful information on the type of operations that were processed or completed. They help to detect an error, if any, and investigate the reasons for it.

Add-ons icons

Features introduced by add-ons are marked by these signs.

Google Drive Odoo Integration

The connector, to synchronize Odoo folders and attachments with Google Drive.

ownCloud/Nextcloud Odoo Integration

The connector, to synchronize Odoo folders and attachments with Nextcloud or/and ownCloud.

OneDrive/SharePoint Odoo Integration

The connector, to synchronize Odoo folders and attachments with OneDrive or/and SharePoint.

DropBox Odoo Integration

The connector, to synchronize Odoo folders and attachments with DropBox.

Cloud Sync for Enterprise Documents

An optional add-on to prepare workspace-related folders and to sync Odoo documents (introduced by the enterprise app 'Documents') with clouds.



Folders in Cloud Storage Solutions


A folder is a key object in cloud storage solutions, which represents a virtual location for the attachments and other sub-folders.

Folders serve for convenient file storing and organization as they support hierarchy and may contain subfolders. Creating an efficient folder structure may greatly simplify the navigation between attachments. For example, you can add subfolders 'Invoices' and 'Projects' to the Odoo document 'Contacts' and then easily find all person's invoices and attachments related to his/her projects.

With the help of folders, you can conveniently navigate through files, create easily-reachable structures, restrict rights for a particular folder, create personal storage, and even sync some/all of the folders to one or several cloud clients (for example, Google Drive, OneDrive). You can read more about the folder’s features in articles: Folders in Cloud Storage Solutions, Folder Rules, Hierarchy of Folders, Synchronization Principles, and Access Rights.

Folders are connected to the Odoo objects. You can add links between them, by creating a folder rule, which will generate folders automatically as a matching object appears (see Folder Rules). For example, select the model 'Task' to make Odoo add a folder for each project's task (Tasks > Task 1, Task 2, ...). Automatically created directories would contain all attachments their linked objects have. Folders are updated regularly based on the scheduled job (see Hierarchy Rules)

The folder rules allow the creation of a particular structure of folders, which is preserved while syncing with a cloud client of your choice. After creating a rule, no further actions are required, however, you can always change the rule. In this case, the folders will be recalculated.

Not only you can create a rule, that generates folders, but also you can create a folder or a subfolder manually. Manual folders and subfolders can be added from the Files Manager interface, and object's attachments box, and may even be synced from the cloud (see Files Manager Interface, Synchronization Principles). 

Manually created folders are particularly useful when you need a particular folder, that cannot be extracted from an Odoo database. They can serve as personal storage. Specify the users who might access it, place it anywhere on the folder’s tree, and add any files to it. For example, configure the folder, so a user can access 'Office design', but not 'Office design/Commercial contracts' (see Access Rights). 

Automatic and manual folders may contain attachments. Odoo attachment is a way of organizing and storing files in Odoo. Attachments can be added through the attachments box of a particular Odoo object, its messages thread, or to the related object’s folder in the Files Manager. As the automatic folders are generated, the related attachments are also added to them, so you can access them both from the Files Manager interface and the attachments box (see Attachments Box).

Both automatic folders and manual folders, their attachments, and manually uploaded files can be synced with cloud clients. Read more about their sync in the articles: Folder Rules, Files Manager Interface, and Attachments Box.

You can assign a particular cloud client to each automatic and manual folder. For example, you have a manual folder 'Important documents', and an automatic folder related to the sale order 'S0003'. You can sync the folder 'Important documents' with OneDrive and the folder 'S0003' to Google Drive. Thus, in OneDrive you will see the structure Odoo > Sale Orders >Important Documents, and in Google Drive the structure Odoo > Sale Orders > S0003. To assign a cloud client to an automatic folder, specify the cloud client in folder rules. To assign it to a manually created folder, start editing the folder from the single-view interface.

You can sync a child folder and not sync the parent one. For example, sync the folder 'Tasks' and don’t sync its parent folder 'Project'. However, keep in mind, that a child and a parent folder cannot have different cloud clients assigned. Even if originally a folder rule had another cloud client assigned, as you choose a parent folder rule, the child's cloud client is changed to the parent’s. For example, you have the parent folder 'Project' and the child folder 'Tasks'. You have assigned Google Drive as a cloud client for the folder rule 'Project' and OneDrive for the folder rule 'Tasks'. Both folders will be synced to Google Drive regardless of the child's settings.



Files Manager Interface


The module introduces a special menu, from where you can see and manage the folder's structure. For that, the single-view interface was introduced.

The single-view interface is divided into three parts: the main part with attachments in the middle and two functional parts with sets of control elements on the sides.

The left navigation panel provides you with the opportunity to select folders, tags, and portal shares to quickly find the related attachments.

As you create some folder rules, with the next scheduled job, the related folders appear in the Files Manager interface. The order of the folders is set according to the folder rules sequence. The smaller the sequence, the higher the folder.

As you select one, or several folders, the related attachments are shown in the main part of the interface. This way, you can see the attachments of one or several folders simultaneously. For example, if you select folders 'Azure Interior' and 'Deco Addict' by checking the related box, then the attachments related to these folders will be shown.

To see all available attachments, remove the choice of folders by clicking on the button 'Reset' by the line 'Folders'. As the choice is removed, the attachments from all folders are shown. At the same time, the attachments still may be limited by the selected tags, shares, and by the applied filters and search parameters.

You can see and manage folders in the left navigation menu. From there you will be able to: search for a particular folder; open a linked object of a folder, if any; see the configuration of a folder; create a new manual folder or subfolder, edit it, and change the order by drag and drop.

If you have a lot of folders, then there might be a necessity to use search, to easily find the one you need. For that, use the navigation input 'Search folder' on the left side of the single-view interface.

If a child folder is selected, its parents will be hierarchically highlighted by the border of dots around the name of the element. Thus, it is always clear that a child folder is chosen (even if the structure itself is closed).

You can remove the folders selection, by clicking on the 'Reset' icon by the title 'Folders'. This is especially useful when you want to search for particular attachments in all available folders.

Even if none of the folders is selected, there is always a folder, that is selected by default, which is highlighted by the color. This way, even if none of the folders is selected, you still will be able to upload the attachments to that folder through the dynamic button 'Upload to...' (see below).

As you right-click on an automatically created folder, you see the following actions:

1. Download as Archive

2. Create Subfolder

3. Open the linked object

4. Settings

As you click 'Download as Archive', the downloading of the folder's attachments starts automatically. For example, you have a folder structure Contacts > Azure Interior > Sale Order 1, with attachments in each of those folders. If you click on the folder 'Azure Interior' and choose the option 'Download as Archive', then the attachments of this particular folder will be downloaded. If you want to download the attachments from various folders, just select them and use the mass action 'Download' (read below). 

If you click 'Create a subfolder' then the child folder will appear on the folder's tree. Type the folder's name to finish creating the subfolder. You can create a subfolder for any folder. A subfolder cannot be a parent folder of an automatic folder. For example, you have a folder structure Contacts > Azure Interior > Sale Order 1. You can add a subfolder to each level of this structure: Contacts > Azure Interior, Jake Ruth > Sale Order 1, Sale Order 567 > For documents. In this example, 'Jake Ruth' is a subfolder of the folder 'Contacts', 'Sale Order 567' is a subfolder of 'Azure Interior', and 'For documents' is a subfolder of Sale Order 1.

Automatically generated folders are the folders, which are created based on Odoo objects. Thus, it is possible to open a linked object in a folder. To open the related object, choose the option 'Open linked object'. For example, you have a folder structure Contacts > Azure Interior > Sale Order 1. If you right-click on the option 'Azure Interior' and choose 'Open linked folder', then the contact's card of Azure Interior will be opened in the pop-up window. Click Open the linked folder' by 'Sale Order 1' and the linked sale order will be opened in the pop-up window.

To see the automatic folder's settings, right-click on the folder and choose the option 'Settings'. Automatic folders rules hierarchy and settings cannot be changed from the single view menu. To change the rule's settings go to Configuration > Folder Rules.


From the single-view interface, you can also create and manage manual folders. To add a root folder manually click on the button '...create new folder' below the folder's list and write its title.

To add a subfolder:

1. Right-click on any folder

2. Choose the option 'Create subfolder'

3. Write the title

It is possible to change the hierarchy of a manual folder by drag and drop. However, it isn't possible to assign a manual folder as a parent to the automatic one. Also, you can't drag and drop automatic folders. Their hierarchy should be changed in the related folder rules, if necessary.

As you click on a manually created folder, you see the following actions:

1. Download as Archive - allows downloading the attachments of a particular manual folder

2. Create Subfolder - allows creating a subfolder to the manually created folder. You can create as many subfolders as you need

3. Rename - allows changing the name of a particular folder

4. Edit Settings - change properties of the manual folder, including name, parent folder, assign cloud client, limit access to a user or user groups, add some notes

5. Archive - allows removing a folder from the folders tree. It is possible to restore the folder later.


In the left part of the interface, you can also see the tags section, if enabled. A tag is a special object, that typically represents a keyword or phrase, that is added to attachments to categorize them, make them easily searchable, and provide a colorful visual mark for quick identification. For example, you can create a tag 'Important' and assign it to the most important attachments. 

To create and manage tags the option 'Tags' in the module's settings should be enabled. After that, the tree of tags will appear in the files manager Interface and the separate Tags menu will appear as you click on the Configurations option in the systray.

There are two ways to create tags: in the files manager interface, and under the separate menu.

To create a tag in the files manager interface, just click on the button '...add' in the section 'Tags' in the left part of the interface.

To create a tag through the separate menu:

1. Go to Configuration > Tags 

2. Click 'New'

3. Type the tag's name

4. Choose the parent tag, if any

5. Optionally, add some notes in the tab 'Notes'.

Each attachment can have multiple tags. For example, you can assign the tags 'Important', 'Document', and 'For clients' to the same attachment 'Contract 2134'. This way, as you filter/search the attachments by tags, the attachment related to any of the chosen tags will be shown.


As you select one, or several tags, the related attachments are shown in the main part of the interface. This way, you can see the attachments of one or several tags simultaneously. For example, if you select tags 'Important' and 'Design' by checking the related box, then the attachments related to either of these tags will be shown.

To see all available attachments, remove the choice of tags by clicking on the button 'Reset' by the line 'Tags'. As the choice is removed, all attachments regardless of the assigned tags are shown. At the same time, the attachments still may be limited by the selected folders, shares, and by the applied filters and search parameters.

You can see and manage tags in the left navigation menu. From there you will be able to: search for a particular tag; create a new tag, or sub-tag, edit it, and change the order by drag and drop.

If you have a lot of tags, then there might be a necessity to use search, to easily find the one you need. For that, use the navigation input 'Search tag' on the left side of the single-view interface.

If a child tag is selected, its parents will be hierarchically highlighted by the border of dots around the name of the element. Thus, it is always clear that a child tag is chosen (even if the structure itself is closed).

You can remove the tags selection, by clicking on the 'Reset' icon by the title 'Tags'. This is especially useful when you want to search for particular attachments, with and without tags assigned.

As you right-click on a tag, you see the following actions:

1. Download as Archive

2. Create

3. Rename

4. Edit

5. Archive

As you click 'Download as Archive', the downloading of the attachments with this tag assigned starts automatically. For example, you have tags 'Important', 'Design', and 'HR'. If you click on the tag 'HR' and choose the option 'Download as Archive', then the attachments with this tag will be downloaded. If you want to download the attachments from various tags, just select them and use the mass action 'Download' (read below).

If you click 'Create' then a sub-tag will appear on the tags' tree. Type the tag's name to finish creating it. For example, you have tags Important > Design > Images. You can add a sub-tag to each level of this structure: Important > Design, Design > Images.

To change the tags' name and settings, or archive the tag, just right-click on the tag and apply the action. You can always restore the archived tags in the separate menu 'Tags'.

In the left part of the interface, you can also see the portal shares section, if enabled. A share is a special object, which aims to combine attachments and share those with specific portal users, or even with public users through the access URL. For example, you can create a share 'For customers', add separate attachments, or all attachments within one, or several folders and tags, and allow certain clients to access it in the portal. You can find out how to create and manage shares in the article Sharing in Portal.

A single attachment can be added to different portal shares. For example, you can add the attachment 'Room Design' to shares 'For Clients', 'Azure Interior', and 'For Partners'.

As you select one, or several shares, the related attachments are shown in the main part of the interface. This way, you can see the attachments of one or several portal shares simultaneously. For example, if you select shares 'For Clients' and 'For Partners' by checking the related box, then the attachments related to either of these shares will be shown.

To see all available attachments, remove the choice of shares by clicking on the button 'Reset' by the line 'Shares'. As the choice is removed, all attachments regardless of the assigned shares are shown. At the same time, the attachments still may be limited by the selected folders, tags, and by the applied filters and search parameters.

You can see and manage shares in the left navigation menu. From there you will be able to: search for a particular share; create a new share, or sub-share, edit it, and change the order by drag and drop.

If you have a lot of portal shares, then there might be a necessity to use search, to easily find the one you need. For that, use the navigation input 'Search share' on the left side of the single-view interface.

If a child share is selected, its parents will be hierarchically highlighted by the border of dots around the name of the element. Thus, it is always clear that a child share is chosen (even if the structure itself is closed).

You can remove the share selection, by clicking on the 'Reset' icon by the title 'Shares'. This is especially useful when you don't want to limit the search by the share and want to see all attachments.

In the files manager interface, as you right-click on a share, you see the list of available actions with the share. You can find out more about possible actions with a share in the article Sharing in Portal.


In the central part of the interface, you can see the attachments list. The attachments are shown according to the selected folders, tags, shares, and applied search and filter parameters.

If several folders/tags/shares are chosen then the attachments that relate to any of them will be shown. For example, if you select the folders 'Customers' and 'Projects', then the attachments from both folders will be shown.

If you choose a folder(s), a tag(s), and a share(s) at the same time, then only the attachments that match ALL the conditions will be shown. For example, if you select the folders 'Customers' and 'Projects', then tick the tag 'Legal', and select the share 'For Customers', then only the attachments from the folders 'Customers' and 'Projects' with the tag 'Legal', and within the share 'For Customers' will be shown.

The attachments can be uploaded to any of the folders manually, through the single-view interface. That is why, there is always a folder, that is selected by default, which is highlighted by the color. When you open the Cloud Storage menu, it is the first folder in the list. When searching for a folder, it is the first visible one. In other cases, the currently selected folder is the last chosen folder. 

To upload attachments, you need to click on the dynamic button 'Upload to ...', or drag and drop the attachments to the main part of the interface. To avoid confusion, the target folder is specified on the button. This way, you can make sure that the attachments will end up in the correct directory. For example, if the currently selected folder is 'Customers', then you will see the following button 'Upload to Customers' above the left functional interface.

To add a file of the URL type through the files manager, click on the icon '' by the button 'Upload to...'. In the pop-up wizard specify the name and the related link. Then, as you confirm the details, the app will create a URL attachment in the currently selected folder.


In the main part of the interface, you can select one or multiple attachments by clicking on the square in the top right corner of it. Click the button 'Select all found attachments' button to choose all found attachments.

To deselect one or several attachments, click on their titles in the third functional interface or on the square in the top right corner of an attachment. To remove the selection click on the button 'Reset' in the right functional panel by the line 'Selected attachments'.

The selection will not be reset as you switch between folders and filters, use the search bar, or apply mass actions.

You can quickly change the folder of all selected attachments, assign a new tag, or share them in the portal by dragging and dropping the attachments to the related object in the left part of the interface. For example, drag&drop the selected attachments to the tag 'Design', and it will be immediately assigned to all of them.

To find the particular attachments quickly, use the search bar above. You can search attachments by name, folder, tags, author (created by), and mime type (in developer mode). For that, just start typing the word, choose one of the options, and click 'Search'. The search takes place taking into consideration the selected folders, tags, and shares in the left functional interface, but you can remove the selection, or choose other options by clicking on them, and previously chosen search criteria will not be removed. To reset the search click on the cross by the searching option.


Click on the three dots in the bottom left corner of an attachment to choose the color to highlight the attachment, or click on the 'Open' button to be redirected to the attachment's card. There you will be able to see and manage the information about the file, for example, change the attachment's name, move it to another folder, change tags, and find out the attachment's extension.

Click on the thumbnail of any attachment in the main functional interface, to preview it. Here, the module relies on the standard Odoo behavior. Therefore, if an attachment can be previewed in Odoo, then it can be previewed in the Cloud Storage interface as well. This way, for example, you can preview the .jpeg and .pdf attachments, but cannot preview the attachments of the .xlsx type.

As you select one, or multiple attachments, the right functional panel appears. In the right functional panel, you will find the list of mass actions, which lets execute actions to all selected attachments at once. The available mass actions are:

1. Download - allows downloading all selected attachments. If there are two or more attachments to download, then they will be downloaded as .zip

2. Update folder - allows moving the attachment to another folder. Start typing the folder's name to find the required one quickly

3. Update tags - allows adding/removing tags of all chosen attachments.

4. Slideshow - allows watching the chosen images in the slideshow. You can pause the slideshow, choose the time step to move between pictures, move to the next, and return to the previous image.

5. Share - allows sharing chosen attachments, related tags, and directories with particular partners or through the access URL.

6. Delete - allows removing an attachment permanently. 


The Slideshow mass action is designed to enhance the user experience by allowing users to conveniently preview selected images one by one. With the help of the slideshow mass action, users can easily navigate through their chosen images for a seamless viewing experience. For that:

1. On the configuration page of the module, add the mass action 'Slideshow' to the left functional interface

2. Select images by clicking on them, ticking the related checkbox, or through the button 'Select all found attachments'

3. In the left functional interface apply the mass action 'Slideshow'.

After that all selected attachments of the image types will be previewed one by one. Click on the number of time step below to change it. This way, you can configure the duration of showing an image.

Use the arrow icons to move between the images manually. Click on the pause icon to stop the slideshow, and on the play icon to launch it again. After reaching the last image, the slideshow proceeds to show images again from the start. Click on the cross icon in the right top corner, or press the Esc button to exit the slideshow mode.


The list of mass actions can be edited. You can select the mass actions to show only the ones that you really need. To add a mass action:

1. Go to Configuration > Configuration

2. Find the section 'Mass actions'

3. Click 'Add a line'

4. Choose mass actions by ticking the box by the action, or tick the box above the action to select all available ones

5. Click 'Select'

6. Click 'Save'.

After saving the changes in settings, the list of mass actions in the right navigation panel will be updated.

To deactivate a mass action you no longer need, click on a bin icon by the action.

On the form of each mass action, both newly added and existing ones, it is possible to choose the security groups that will be able to see and perform it. For that, just click on the mass action in the list of mass actions in configurations, then, go to the tab 'Security', click 'Add a line' and choose the group names.

Keep in mind, that some mass actions have preset security groups. So, make sure, that the users that should see those mass actions are included in those groups, or change the mass actions security settings.


In addition to the available actions, you can also prepare your own mass actions. Batch actions for attachments are based on Odoo Server Actions. It means that you may add custom mass editing operations.

To create a new mass action:

1. Go to configuration and find the section 'Mass Actions'

2. Click 'Add a line'

3. Click 'New'

4. Type the name of the action

5. Choose the model 'Attachment'

6. Specify what should be done in the section 'Action Details'

7. Create an action by clicking 'Add a line' in the tab 'Data to write' and choose the related details

8. Optionally, in the field 'Allowed Groups' choose the security groups that will be able to see and apply the mass action

9. Click 'Save&Close'

10. Click 'Save'.

After that, it will appear in the list of available mass actions, from where it can be added to the right navigation panel. Just choose the attachments, and click on the action to update them. 




Attachments box


As you create some folder rules, after the scheduled folders refresh, the attachment boxes of the related models will change. The attachment box is the standard Odoo interface, where attachments are stored. To open the attachments box, just go to any Odoo object’s form view, find the ‘Clip’ icon, and click on it. Here you would see all object’s attachments, which users can manage.

From the attachments box, you will be able to see the object's folder and its children, if any. Navigate through folders by clicking on the arrow icons to see the subfolders. Click on the folder to select it and see its attachments.

Even if you have a long list of folders, you can easily find the one you need with the help of the search bar. Just start typing the folder's title and click on the button 'Search' on the right side of the field. If there is a match, the result will be marked red. To reset the search, click on the button 'Reset' on the right side of the search bar.


As you right-click a folder, the list of actions appears. The list of actions is slightly different for manual and automatic folders.

The available actions with the automatic folders are:

1. Download as Archive - allows downloading attachments of a chosen automatic folder

2. Create Subfolder - allows creating a subfolder to an automatic folder. The subfolder is added to the folder's tree according to the hierarchy. Type the folder's name to finish creating the subfolder

3. Open in File Manager - allows opening the related folder in the File Manager for quick access to the main folder tree. Above you will see the breadcrumbs to quickly return to the object

4. Settings - allows checking the folder settings. To change the settings of the folder you need to change the settings of the related folder rule. 

The available actions with the manual folders are:

1. Download as Archive - allows downloading the attachments of a particular manual folder

2. Create Subfolder - allows creating a subfolder to the manually created folder. You can create as many subfolders as you need

3. Open in File Manager - allows opening the related folder in the File Manager for quick access to the main folder tree. Above you will see the breadcrumbs to quickly return to the object

4. Rename - allows changing the name of a particular folder

5. Edit Settings - change properties of the manual folder, including name, parent folder, assign cloud client, limit access to a user or user groups, add some notes

6. Archive - allows removing a folder from the folders tree. It is possible to restore the folder later.


You can add files through the attachments box, message thread, or the Files Manager. To add a file through the attachments box, just open the related object, click 'Attach files', and select the file to upload. To add files of the URL type, click on the button 'Add URL' and add the name and related link. Upon confirming, the app creates a URL attachment in the current folder or the object, if no folder is chosen.

It is also possible to add a file to another folder from the list if an object has child folders. For that, select the folder by clicking on it, then click 'Attach files', or 'Add URL'.

Another way to upload files to the attachments box is by drag and drop. Just pull the file to the attachments box and drop it when you see the uploading wizard.

After uploading, you will see the standard Odoo functional buttons on the attachment cards. The buttons allow performing certain actions with the attachments. Depending on the type of file, the buttons, and their placement may be different.

For example, if you upload a picture, you will see its thumbnail. Click on the picture to see its preview. Below the preview window, you will see the buttons 'Print' and 'Download'. Click on an arrow on each side to move between the pictures and other files that have a preview function. To delete a picture, click on the 'Cross' icon in the top right corner of the thumbnail. 

As for other extensions: some attachments have the preview, for example, pdf, and some don't, for example, doc. So, if you upload a document, then the preview will not be available. On the document's card you will find two buttons:

1. Delete - allows deleting the document

2. Download - allows downloading the document.

When a file is added to the message thread of an object, it also gets to the attachments box. The files in the message thread have the same functional buttons. You can also open, download, and delete them, without opening the attachments box.

To add a file through the Files Manager, open the Cloud Storage menu, select the folder by clicking on it, click the button 'Upload file', and choose the file. After that, you will be able to access the file from both the attachments box of the object and Files Manager, as they are interconnected.

Even if the Files Manager is hidden from the user, if he/she has access to an object, he/she will be able to access the related folder from the attachments box. The other folders from the structure will be seen only in case the user has access to them as well (see Access Rights). For example, we have a sales manager Anita Oliver, who doesn't have access to the Files Manager. As she opens a sales order 'S0010', in the attachments box, she sees the folder 'S0010', and the manual folders 'Related Documents' and 'Terms of Agreement' with related attachments. But, she doesn't see the related folder 'Projects', as she doesn't have the project manager's rights.

Synced files and folders will also be accessible from the attachments box. The automatic folders will be marked by the related cloud client icon. The manually created folders will have a ribbon on the folder's icon (see. Synchronization Principles). 

Synced files would have app-related thumbnails instead of standard small previews to avoid excess requests to the cloud client for each form opening. For example, you will not be able to see the picture's preview without clicking on the attachment.

You still will be able to preview the attachments that have the preview function in Odoo by clicking on them. Click on the arrow icons on each side to move between the attachments' previews.

From the attachments box, you can also open the Cloud Folder to see all the synced files and folders related to the object. For that, the cloud icon 'Open in Cloud' is introduced. Click on it and in a new tab you will be redirected to the related folder.

Even after the sync, a user might download attachments locally by clicking on the 'Download' icon on the file. The downloading of the synced files from Odoo doesn't require login into the cloud client.

Odoo standard preview would equally work for standard Odoo attachments and synced attachments. Files, that do not have the preview function in Odoo (for example, .doc), will be opened in the cloud client.

If you click on the remove button, then after submitting your decision in a pop-up window, the link will be removed from the Odoo. After the next sync, the file will be removed from the Cloud Storage as well (see Synchronization Principles).




Adding Existing Attachments to Messages


Sometimes there may be a need to send certain files through the messages. The required files may already exist in the instance, and to send them users would need to download them locally first, which isn't convenient and results in producing duplicates. The module solves this problem by allowing users to choose the existing attachments when composing an email, which simplifies file sharing.

To send the existing attachments, users need to open the full message composer, and find the field 'Existing Attachments', which is located below the button 'Attachments'. This field allows users to add attachments that are available to them right from the email composer.

As a user clicks on the button 'Search more', a pop-up window with various filters appears. Users can filter attachments by folders, tags, names (the search includes indexed content), and mime type. Click on an attachment card to see its details. To add an attachment to the selection, click on the plus icon in the top right corner of an attachment.

Both synced and not synced attachments can be selected. The attachments that were initially added as links cannot be selected. For example, we have added 3 binary files and 2 links to the attachments box. As a user composes a message, in the field 'existing attachments' he can choose the recently added 3 binary files, but cannot choose the 2 attachments of the URL type. With one of the next scheduled jobs, the binary attachments were added to the cloud. As a user composes a message, in the field 'existing attachments' he still can choose those 3 attachments while they represent actual files, even after the sync.

The selected attachments will appear in the tab 'Selected Attachments'. To attach these files to the email, users can click 'Save&Close'. The attachments will be added to the message along with any standard uploaded files, which are added through the button 'Attachments'.


After sending the message, the attachments added through the field 'Existing Attachments' will be shown among the message attachments but will not be automatically added to the attachment box. This prevents duplicates and allows users to send attachments from other objects without adding them to the attachments box. For example, you can add the project attachment as you generate an email from the contact Azure Interior. This attachment will be still linked to the project, and if after sending, you delete it here, in the messages thread of the contact, it will be deleted from the project as well.

Users without access to an attachment will not be able to add it through the field 'Existing Attachments'. They will still see the attachment in the messages thread, but will not be able to download, preview, or delete it. For example, our sales manager Anita Oliver, doesn't have access to the project 'Renovations', so she cannot preview, download, or delete the attachments that were sent in a message by Mitchel in the sale order S0001.




Automatic Folders


Folder rules – are the configurations, based on which the module generates folders by checking the settings and fields of models and objects. The folder rules allow creating a particular structure of folders, which is preserved while syncing with a cloud client of your choice.

Folder rules serve for creating folders for Odoo objects, creating a flexible folder structure, and preparing folders and attachments, if any, for synchronization.

To configure a particular Odoo document type and generate a folder, you should just prepare a new folder rule (Cloud Storage > Configuration > Folder rules). For example, create a folder rule 'Project', by clicking on the button 'New' in the folder rules' menu and choosing 'Project' in the field 'Model to sync'. Automatically created directories would contain all attachments their linked objects have.

As you open the folder rule's menu, you see a list of folder rules. From the columns on the right side, you can find out the information about them, without opening them. Here you see:

1. Folder name

2. Cloud client, if any

3. Parent rule, if any

Workspace-related folder rules, that can be created if the add-on Cloud Sync for Enterprise Documents is installed, are marked by the color (see Workspace-Related Rules).

You can change the order of the folders by changing the order of folder rules. Open the folder rules' menu and drag and drop to change the rules sequence. The lower the sequence, the higher the related document's folder will be. Keep in mind, that the child folder rules, will not be higher than their parents regardless of their sequence. For example, the folder rule 'Customers' is a parent one for the rule 'Invoices'. Thus, even if we drag and drop the rule 'Invoices' above the rule 'Customer', it will not be shown higher in the folder's tree.

From the folder rules menu, you can also archive folder rules. For that open any rule and click on the 'Gear' icon or select several folder rules by ticking the box on the left side of rules and selecting the action by clicking on the 'Gear' icon. If you archive the folder rule, with the next scheduled job the related folders will also be archived.


Folders are updated regularly. As you create an automatic rule, it appears in the Files Manager only after the scheduled job 'Prepare Cloud Folders'. The folder rules are checked and updated every 15 minutes. If there is a large number of objects, some folders might be created/refreshed with one of the next scheduled jobs.

It is possible to trigger the scheduled job manually, by going to the Cloud Storage > Configuration and by clicking on the button 'Launch Folder Update' at the bottom of the page. However, we highly recommend using the button only for testing purposes (see Extra Notes).

To configure automatic folder rules a user should belong to the security group 'Cloud Storage > Administration' (see Access Rights).

If you have the add-on Cloud Sync for Enterprise Documents, then as you create an automatic folder rule, one more field 'Rule Type' appears. The available options are 'Model-Related Rule' and a 'Workspace-Related Rule'. The first one relates to Odoo models (for example, Sale Order, Purchase Order, Lead/Opportunity, Project, Task) (see Model-Related Rules). The second one relates to the module Documents (see Workspace-Related Rules).

A model is an Odoo document type (for example, Sale Orders or Contacts). By choosing the model we tell the module, where to get the information to generate folders.

Model-Related Rule - a folder rule, which is based on an Odoo model. By creating a model-related rule, we define the criteria based on which the folders are created.

To set a model-related automatic folder rule:

1. Go to Cloud Storage > Configuration > Folder Rules

2. Click 'New' 

3. Choose the rule type as 'Model-Related Rule' (If you have the add-on Cloud Sync for Enterprise Documents, otherwise it is applied by default as the only available one) 

4. Choose the folder name. Avoid using the following symbols in folders' and files' names "*, ?, ", ', :, <, >, /, +, %, !, @, \, /," as upon saving the name they will be replaced with '-'. It is done to avoid conflicts with file systems. The name should include less than 100 symbols  

5. If there is at least one cloud client connected, then you may assign it to sync the folders with attachments or leave the field empty if you don't want to sync them (see Synchronization Principles)

6. Choose the related model to sync and optionally set a 'Parent rule' (see Hierarchy Rules)

7. Optionally, limit the folders, which should be synced by applying filters and/or periods (see Filters & Periods)

8. Optionally, introduce expression to extract folder names for directories (see Name Expressions)

9. Optionally, create a default folders structure, which will be added inside the objects-related folders with the first sync (see Default Folders)


The app lets split models into a few folders based on selected filters. Use any document storable field to distinguish a directory. Have a separate folder for individuals and companies, for European and American opportunities, for quotations and confirmed orders, for each project, etc. You can also limit documents by relative periods by using the date fields of linked documents. For example, leads registered in the last 3 months or invoices updated the last week (see Filters & Periods).

Define name expressions to specify titles of documents' cloud client folders. For instance, to include a project name in a task directory (see Name Expressions).

Prepare a hierarchy of default folders and files to be created when a document directory is synced to a cloud client for the first time (see Default Folders).

The folder rules are applied according to the scheduled job 'Prepare Cloud Folders'. They are checked and updated every 15 minutes. (see Folder Rules)

If you change the rule, then with the next cron job, the changes will be applied. The list of folders will change according to the new rule's settings. 

Hierarchy of Rules

When you need to add objects of one model inside the objects of another one, you can specify the parent rule. For that, choose the model in the field 'Parent Rule' and choose a related many2one field. This way, you will be able to reflect your Odoo workflow logic, create a complex folder structure and navigate through folders conveniently. So, it will be easier to find the required attachments. For example, place tasks inside of the related Project and Project inside of the related contacts to get the structure Contacts > Azure > Projects > Software Design > Tasks > Prepare markup.

The models can be linked by the many2one field. For example, if you want to store task folders inside of the related project's folders, then, on the card of the task, there should be a many2one field, which contains the information about the related project.


Let's create and assign a parent rule to the rule 'Tasks':

1. First, create a model-related folder rule, and choose 'Projects' as the 'Model to Sync'.

2. Start creating another model-related folder rule, choose 'Tasks' as the 'Model to Sync', choose the previously created folder rule 'Project' as a parent rule and as the 'Parent Model Field' choose 'Project'.

As you create some folder rules, with the next scheduled job the structure will be reflected in the Files Manager's Interface. For example, in the case above, the following structure will be generated: Project > Project XYZ...> Tasks > Task 1...


You can make an even more complex structure by creating subfolders manually or by adding default folders. For example, you have created folder rules 'Project' and 'Tasks'. Then to the parent folder 'Project' you can add the manual subfolder 'Project managers' to keep the information or the file related to the responsible for Project people. To the folder rule 'Task' you can add a default folder 'Documents to sign' with the file 'Terms of agreement'. The folder will be created in all task folders, so you will be able to share it with the client if necessary (see Default Folders).

The folders' structure is also preserved in the attachments boxes of the objects (see Attachments Box). Here you can see the hierarchy of folders related to the object, switch between them, and add folders manually. Also, you will be able to see, upload and manage attachments.

It isn't necessary to sync the whole structure of folders to a cloud client. You can assign the client to some of the folders. Keep in mind, that the child folder cannot be synced to a different cloud client. Even if it has another one in its settings, it will be synced to the parent folder's client.

Filters & Periods

Create folders for only particular objects of a specific model, and don't create others, for easy access. For example, to have only won opportunities folder, to divide sale orders by the salesperson or particular period. Therefore, the app lets limit objects for which folders are created.

The list of the model's objects to sync can be limited by:

1. Filters

2. Periods

With the help of filters, you can use any document storable field to distinguish a directory. Have a separate folder for individuals and companies, for European and American opportunities, for quotations and confirmed orders, for each project, etc.

To add a filter:

1. Create a new folder rule or start editing an existing one

2. Click on the button 'New '

3. Set up the rule, for example, 'country contains US'

4. If there are any records, that match the filter you will see their number on the right side (click on it to see the records to make sure the filter is correctly set)

5. Optionally click on the '+' button by the filter to add one more rule, so only records, that match 'ALL' or 'ANY' of the rules will be considered for sync


Here are some useful filters' examples by models:

Project

Generate folders for internal projects. For that add a tag 'Internal' to such projects and set up a filter Tags > Name = Internal in the related folder rule.


Contact

Generate folders for contacts of a particular country. For that add a filter Country = US.