Перейти к содержимому

Cloud Storage Solutions v.18

Инструмент, чтобы раскладывать вложения Odoo по папкам и синхронизировать каталоги с Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box и NAS. Файловый менеджер. DMS

398€

Инструмент не требует дополнительных зависимостей, кроме стандартных приложений Odoo.
Текущая версия: 18.0.1.4.53

Enterprise
Community
Odoo.sh

This tool organizes Odoo attachments in folders' trees and synchronizes those with your choice's cloud storage solution(s). The app introduces automatic algorithms to prepare directories for documents and integrate those with workflows of Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon/MinIO S3, Box, and NAS/WebDAV (Synology, QNAP, TrueNAS, etc.).

 
 

Automatic Folders

Decide which Odoo document types should have their folder trees. Directories are regularly updated based on flexible rules and existing Odoo objects

Sync with Cloud Storage Solutions

Synchronize chosen folders and files with specific cloud storage: Google Drive, OneDrive, SharePoint, Nextcloud, Dropbox, Amazon, Box, MinIO S3, NAS/WebDAV (Synology, QNAP, TrueNAS, etc.), and ownCloud. Have as many connections as you need

File Manager Interface

Manage folders and attachments from a single view. Comfortably navigate by directories and tags. Search and download files one by one or in a batch. Upload and move attachments

Enhanced Attachment Box

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

Portal Sharing

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

Enterprise documents compatible

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

Automatic Regular Sync

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

Bilateral Sync

Odoo sends attachments to cloud storage solutions and retrieves files from there. Binary content is kept in clouds, while Odoo provides direct access to synced items

Works well with SharePoint. Supportive team

We've been using this with SharePoint and it's been working great. One of the best things is having everything, including logs right in Odoo's interface, so you can actually see what's going on. It's also super convenient that you can view or download synced files from the attachment box without having to leave the page or even log in to Sharepoint.

Setup was pretty smooth for us. When we had a few questions about setting up the folder hierarchy and priorities, the developer team got back to us in just a couple of hours and helped us figure it out. Great support and great extension!

— nino.khale@outlook.com в Odoo Apps Store

Tricky setup, but works perfectly now

Really solid module. We managed to get a very flexible folder structure (sorted by clients) and synced all our sales orders, invoices and tasks by projects to Google Drive.

Initial setup was a bit of a pain and kinda tricky to configure everything at first, but now it's running smoothly and works perfectly. The faotools team helped a lot. Def worth it if u need to keep your docs organized in Odoo and Google Drive.

Recommended!

— denis@bdecloud.com в Odoo Apps Store

Great support, assistance and very good connector!

We are very happy with the support we received when configuring the Sharepoint - Odoo connector. The connector has great functionalities.
All our questions were answered very fast (within one day).
FaOtools helped us optimising our connector and assisted us with future improvements.
We really recommend this connector.

— Max Vandeputte в Odoo Apps Store

Great module and Great Support!

The module works great! and the support is phenomenal!
A must-buy if it suits your requirements!

— Hieu Nguyen в Odoo Apps Store

very professional app, excellen t customer service

This app is very well programmed and does its job very well. But the best is the excellent customer service who also helps when the problem lies somewhere else. You receive a lot for your money.

— Florian Quis в Odoo Apps Store

Excellent !!!

Great App and great Service from faOtools.

— Carlos A. Villarreal C. в Odoo Apps Store

An impressive app and world-class support

I have been very impressed by the way the OneDrive / SharePoint Odoo Integration module synchronises content in both directions and allows me to share documents in Odoo with my SharePoint site. Above all the technical support is top-notch, which greatly increases the value of this product. I highly recommend this product for anyone considering synchronising Odoo with SharePoint/OneDrive.

— Amir Hassan в Odoo Apps Store

Very good product

A perfect solution to integrate Owncloud with Odoo. We sync a high volume of objects across multiple Odoo models, which works seamless and stable. For us it is the perfect solution to have an external DMS instead of the Odoo native attachment handling, which also enables us to interchange files between systems in our best-of-breed setup.
The team behind this module is extremely professional and responsive. They helped us on a few occasions and provided clear answers and prompt support when required, and they even went out of their way to assist us with another requirement we had. Cannot recommend the product and team highly enough, try this if you're in the market to connect Odoo with an external document solution.

— Frank Vogler в Odoo Apps Store

Works fine, good support

The first experience with the module is excellent. I had some trouble to configure things right on the Microsoft-side, but the team provided quick and good support.

— Marc в Odoo Apps Store

Best module for integration with google drive

The module performs its function correctly and faOtools responds quickly to any problem and, in case of detecting any bug, quickly apply the changes. Its support is 10 stars.

— sistemas@deza-sa.com в Odoo Apps Store

Works according to specs

I have used this app with Odoo 12 and Nextcloud 16 and it works as specified. Odoo Tools offers very responsive support which is really helpful. Of course 5 stars...!

— NXD-Audio в Odoo Apps Store

This is Awesome

I have used Cloud Sync on Next/Own Cloud and works really great.

— Humberto в Odoo Apps Store

Интерфейс Файловый менеджер в Odoo

  • Navigate by folders: select a directory to show its attachments. Expand and hide folders' layers in a click. Add subfolders to any directory (right mouse click > Create subfolder)
  • Open any synced folder in its cloud client (right mouse click > Open in clouds). Show a folder peer Odoo object if there is such a connection (right mouse click > Open linked object). Change settings of manually created folders, including granting access rights (right mouse click > Edit Settings)
  • Navigate by attachment tags. Create and edit tags right from the navigation panel
  • Search and highlight tags and folders in seconds even if there are thousands of items
  • Drag and drop to re-structure folders (relates only to manually created directories; for automatic folders change rules instead) and tags
  • Download any folder or any tag with all its attachments as a single zip archive (right mouse click > Download as archive)
  • Upload attachments to the current folder. Use the top header button 'Upload file' or drag and drop files
  • Instantly open any synced attachment in a linked cloud client (push the link in the middle of attachment cards)
  • Download any attachment to your local computer disregarding whether it is synced or not (push the icon 'cloud' or 'download' in the footer right corner)
  • Consequentially select attachments and download them as a single zip archive
  • Move any files to any folder, including re-attaching items between Odoo objects (e.g. from a sale order SO-001 to another quotation or its customer folder). Use the mass action for that end or just drop an attachment to a required directory. Update attachments' tags by dragging those to the left navigation panel or by executing the mass action. Delete attachments in a batch
  • Apply standard attachments search to find required files.
Odoo attachments: DMS
Интерфейс файлов и массовые действия
Быстрый поиск и выбор папок
Перетаскивание вложений

Enhanced Attachment Box

  • Any Odoo object might be linked to its folder. See Automatic folders' structure
  • Flexibly define subfolders to organize the structure you need (right mouse click > Create subfolder)
  • Drag and drop to re-structure subfolders
  • Select a folder to see its attachments. By default, files of the object root directory are shown
  • Download any folder with all attachments as a single zip archive (right mouse click > Download as archive)
  • Open the already synced folder in its cloud client (right mouse click > Open in clouds)
  • Upload attachment to a chosen folder (use the button 'Add attachments' or drag files to the attachment box area)
  • Instantly open any synced attachment in a linked cloud client (push the icon 'clouds')
  • Download any attachment to your local computer disregarding whether it is synced or not (push the icon 'download')
  • Use standard Odoo preview for both synced and local files (click on a file thumbnail)
  • Delete attachments as usual
  • All actions are equally applicable to object attachments and attachments related to messages.
Attachment box: folder tree and files
Дерево папок: выбранные файлы

Синхронизация Cloud Storage

Multi synchronization

  • Use optional add-ons to synchronize the document management system with the cloud client(s) of your choice: Google Drive, OneDrive, SharePoint, Nextcloud, Dropbox, Amazon, Box, MinIO S3, NAS/WebDAV (Synology, QNAP, TrueNAS, etc.), and ownCloud. Have as many connections as you need
  • Establish multiple connections to different cloud clients simultaneously. For example, sync sales-related folders to Google Drive; tasks and projects - to SharePoint or OneDrive; HR documents - to Nextcloud/ownCloud; manufacturing specifications - to Dropbox. Take into account that a specific folder might be synced to only a single cloud storage solution. Its children would be synced to the same client
  • For each cloud client, the app lets set up a few instances. For example, for Google Drive, you may share some folders to your personal drive, others - to one of your team drives, and the rest - to your teammate's drive
  • To establish a connection with particular cloud storage, follow the instructions that are specific for client types. See the tab Configuration for details
  • Any connection might be paused manually if it is needed. It might be also auto-stopped if there are critical issues during the sync. Then, you should re-connect to a target cloud client

Cloud clients

  • Synchronization for all cloud clients is based on the same principles and on the same queue. Simultaneously, there might be differences in sync results due to different features of various cloud storage solutions
  • Establishing connections for different types of cloud clients assumes installing optional add-ons, different approaches for Odoo, and external API configuration. Follow the instructions on the tab 'Guidelines'
  • Google Drive Odoo Integration allows establishing a connection with any personal or team drive
  • OneDrive / SharePoint Odoo Integration assumes synchronization with any drive of personal/business/SharePoint tariffs
  • ownCloud/Nextcloud Odoo Integration et integrate Odoo with any instances of ownCloud and Nextcloud. In comparison to other clients, the app allows setting the type of attachment links. By default, Odoo links are internal: only authorized users may access them. Optionally make links public (the setting 'Use Public URLs'). See details on the guidelines tab
  • Dropbox Odoo Integration works for all DropBox tariffs, including Personal DropBox (Basic, Plus, Family) and business DropBox (Professional, Standard, Advanced). In comparison to other clients, the app allows choosing whether cloud items would be shared or internal. See details on the guidelines tab
  • Amazon S3 Odoo Integration (amazon_s3_odoo) synchronizes Odoo folders and attachments with Amazon S3 buckets
  • NAS/WebDAV Odoo Integration (nas_odoo) connects Odoo documents with NAS and WebDAV-compatible storage, including Synology, QNAP, and TrueNAS
  • Box Odoo Integration (box_odoo) synchronizes Odoo folders and attachments with Box cloud storage

Automatic two-sided sync

  • Integration is based on scheduled jobs and is fully automatized. The app regularly checks changes in systems and runs sync operations
  • Synchronization is bilateral. Updates in Odoo are reflected in cloud clients (direct sync); changes in cloud clients modify Odoo folders and attachments (backward sync)
  • Отключите синхронизацию из хранилища у клиента, чтобы синхронизация шла только в одну сторону. Изменения в Odoo по-прежнему отправляются в облачное хранилище, но файлы и папки, созданные, переименованные или удаленные там, не отражаются в Odoo. Если снова выключить этот параметр, накопленные изменения, включая удаления, применяются при следующей синхронизации
  • Any cloud connection might be reset. In this way, the app assumes getting back all items back to Odoo (reverse sync)
  • Odoo folders and attachments might be re-attached to a new cloud client. Hence, items will be first taken back to Odoo (reverse sync) and then put will be put to the new cloud storage (direct sync)

Queue-based synchronization

  • Once in 15 minutes, the app examines updates in Odoo and cloud storage(s) to prepare a synchronization queue
  • Folders' checks follow the First-In-First-Out (FIFO) principle. So, directories that have not been examined for the longest will be processed first
  • Once in 15 minutes, the sync queue is run by the special scheduled job. Firstly, the most important (blocking) tasks would be done
  • Control planned jobs and their fulfillment in the special Odoo logs interface (Cloud Storage > Configuration > Sync Logs). Subscribe for particular cloud clients notifications
  • If the app faces sync failures, it will re-try operations afterward. Sync queue processing would not be stopped if there are items not blocked by such failures

Odoo attachments for cloud storage: direct sync

  • Direct sync prepares the folders' hierarchy and uploads Odoo attachments for cloud storage
  • Direct sync checks whether attachments are added or deleted for synced directories. If so, they would be created or removed in cloud storage. In particular, it means that any file added to a folder-related Odoo object (e.g. Quotation), would be automatically moved to a linked cloud client
  • Direct sync makes all synced Odoo attachments change their type to a link (URL), while binary content is removed with one of the next Odoo cleaners. So, no actual files would be stored on your Odoo server
  • Direct sync checks whether a new folder is added. Disregarding whether it is done manually or automatically, the app would generate a peer directory in a cloud storage
  • Direct sync checks whether there are any updates in folders. If so, such changes are reflected in a cloud client

Cloud storage files and folders for Odoo: backward sync

  • Backward sync checks whether any files or subfolders are added to cloud storage folders. If so, the app would create URL attachments/subdirectories inside linked Odoo directories (and hence Odoo objects if any)
  • Backward sync checks whether there are any updates in folders or attachments. Such updates would be then reflected in Odoo
  • Backward sync checks whether any files are deleted/moved in a cloud document folder. If so, a linked Odoo attachment would be also unlinked or moved
  • If you deleted a cloud storage folder related to a folder rule / Odoo object, their child files would be deleted as well. Thus, Odoo would remove related attachments. The folders, however, will be recovered with a direct sync
  • In case of conflicts, direct sync changes are in general considered more important than backward updates.

Resetting or changing cloud client: reverse sync

  • In case you decided to reset the connection with a specific cloud client, files would be moved back to Odoo
  • Отключите обратную синхронизацию у клиента, когда копия в облачном хранилище должна остаться единственной или когда соединение нарушено. Отключение, сброс или деактивация такого клиента тогда не скачивает файлы обратно и ничего не удаляет в облачном хранилище. Связь между объектами Odoo и их элементами в облаке разрывается. Сохраненные ссылки по-прежнему открывают файлы в облачном хранилище, но Odoo больше не может скачивать, просматривать или открывать эти папки и файлы. Эту связь нельзя восстановить
  • In case you decided to change the cloud client of a folder rule or a folder, files would be first taken back to Odoo, and then direct sync for a new client would be done
  • Reverse sync operations are prioritized to direct and backward sync operations
  • Not all items can be correctly reversed to Odoo due to cloud client peculiarities. For example, there are documents that may exist only in cloud storage environments (e.g. Google Sheets). The app would try to convert such documents, but in some cases, it would require manual interactions.
Очередь синхронизации и журналы
Cloud sync for Odoo attachments
Синхронизация OneDrive/SharePoint
Синхронизация Odoo с Google Drive
Синхронизация Odoo с Nextcloud/ownCloud
Синхронизация Odoo с Dropbox
Odoo DMS: синхронизация с облаками

Automatic Folder Structure

Rules for automatic folders

  • The app allows preparing its own folder for any Odoo object
  • To configure a particular Odoo document type to generate a folder, you should just prepare a new folder rule (Cloud Storage > Configuration > Folder rules). For example, select the model 'Task' to make Odoo add a folder for each project task, so 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

Multi directories for each model

  • Each Odoo model might have a few linked folders
  • Apply any model storable field to filter Odoo objects and, in this way, split objects into a few super directories. For example, have own folders for individuals and companies, for European and American opportunities, for quotations and confirmed orders, for each project
  • Filter Odoo objects by relative periods by applying date fields of linked documents. For example, leads registered in the last 3 months or invoices updated in the last week
  • As a result, the app lets have paths like 'Odoo > Quotations Europe > SO-001' or ' Odoo > the last year posted invoices (America) > SO-001'

Flexible folders' tree

  • It is possible to set up a hierarchy of folder rules to prepare a more flexible directories structure
  • To that goal define a parent rule for a required folder configuration. For example, use a project-related rule as a parent for a task-related rule, a customer-related rule - for invoices-related rules
  • In order for folder relations to work correctly, it is also needed to enter a parent model field. So, it is the field that links models between each other (many2one relation). For example, 'Project' of a task, 'Customer' of a sales order, or 'Sales Team' of an opportunity
  • As a result, the tool allows reflecting your Odoo workflow logic and have paths like 'Odoo > Customers > Azure Interior > Projects > Software Design > Prepare Specification' and 'Odoo > Customers > Azure Interior > Quotations > SO-001'

Subfolders, default folders, and default files

  • The app lets add an unlimited number of manual subfolders for each folder. In particular, you may have a directories tree right in each object attachment box
  • For the first generation, it is possible to define default folders, so subdirectories would be auto-generated for a specific Odoo object folder. Afterward, you may add delete/edit those or add new ones
  • The same mechanics are applied to prepare default files. For example, to have contract/personal card templates which then are assumed to be filled with real data

Configurable folder titles

  • Each folder rule assumes to generate a directory. Names for such directories are assigned right on a rule form. For example, introduce 'Jobs' for a task-related rule or 'HR' for employees' folders. By default, the Odoo model name would be used
  • For object-related folders, the names are generated based on the Odoo standard display names. So, if not defined the opposite, it would be the same title as you see in the Odoo form view header
  • The app lets define complex name expressions for object-related folders (the tab 'Name Expression' on a folder rule form). To that goal, apply the syntax used in Odoo email templates. For example, {{ object.project_id.name }}, {{ object.name }} to reflect a project name in tasks folders
  • Avoid the following symbols in folders' and files' names: *, ?, ", ', :, <, >, /, +, %, !, @, \, /,. Direct sync will replace such symbols with '-'. It is done to avoid conflicts with file systems. Avoid also too long names: e.g. more than 100 symbols

Enterprise Documents

  • The app allows generating folders for workspaces introduced by the Odoo Enterprise apps 'Documents'
  • To force Odoo to prepare workspace-related directories, define folder rule(s) of the type 'Workspace-Related rule'. The tool would automatically create linked folders and sync those for chosen cloud storage with one of the next jobs
  • It is not obligatory to reflect the whole DMS structure. Thus, it is possible to filter workspaces by any storable field. For example, to add a folder only for workspaces that contain the keyword 'Internal'. Take into account: if a workspace was synced, all its child workspaces would be also synced
  • If you generated a subfolder for any workspace-related folder, the app would also create such a Documents workspace

Typical use cases

  • Customers: add all partner files in a single super directory. Optionally distinguish companies and individuals. For example, Odoo > Customers > Azure Interior > Contacts > John Brown
  • Sales orders and invoices: keep all sale-related printings and contracts in your own quotation directories for each customer. For example, Odoo > Customers > Azure Interior > Orders > SO-001 and Odoo > Customers > Azure Interior > Invoices > INV-00001
  • Opportunities: store all specifications, requirements, and any files which would let you make a good offer carefully structured by each sales team and case. For example, Odoo > Sale teams > Europe > Leads > Interest in 50 chairs
  • Project and tasks: prepare a folder for each customer project and task. For example, Odoo > Customers > Azure Interior > Projects > Software design > Tasks > Specification
  • Human resources: gather all files by each employee in a single folder: photos, document scans, contracts. Structure employees by department. For example, Odoo > Departments > Accounting department > Employees > Anita Olivier.
Настройка папок на основе объектов Odoo
Связи правил родитель–потомок
Automatic generation of subfolders' tree

Общий доступ к файлам и папкам

  • Share particular attachments, whole directories, or even all files of specific tags
  • Grant access to chosen Odoo contacts. Send an invitation to any Odoo portal users at any moment
  • Generate a special access link for public use (even without a user). Change it to make the previous one outdated
  • Make shares for temporary use or available constantly until archived
  • Create an unlimited number of shares with any setups and attachments involved. Portal users might access those through the special entry "Shares" in the Odoo's portal
  • For single-view purposes, shares support hierarchy so as to make comfortable navigation by those
  • Share users can download any shared file, a whole share, a particular directory, or a tag as a ZIP archive
  • Optionally let upload files to the selected or default folder. Files drag and drop is supported
  • Users are always allowed to search attachments by title, linked folder, and tags
  • Optionally allow navigation by folders and/or tags. Shared tags/folders, their children, and ones linked to shared attachments will be available
  • Let users add tags and folders by themselves. Show/hide searching items in tags/folders navigation trees
  • Turn on/off a chat per each share.
Portal and public shares
Публикация: права и вид

Права на документы и синхронизацию

  • Access for each Odoo automatic folder is regulated based on a linked object. If such an Odoo object is available for a specific user, its directory would be also available for her/him. For example, if Anita Olivier is the task manager of 'Prepare specification', then she may access the folder 'Tasks' and 'Tasks > Prepare Specification'
  • Access to Odoo manual folders is regulated based on its user groups and users stated in those folders' settings. If nobody is specified, a manually created folder is available for everyone. For example, if Anita Oliver is a sales manager, she may access the quotation-related folder 'Odoo > Orders > SO-001'
  • To access any folder, a user should be able to access all its parents. For example, if Anita Oliver has rights for employees but does not have for departments, then she might not read 'Odoo > Departments > Administration > Employees > Mitchel Admin'. However, if the folder 'Employees' becomes a stand-alone folder without a parent, then Anita would be able to access 'Odoo > Employees > Mitchel Admin'
  • The app does not regulate access levels for cloud clients and their items. The tool regulates rights only for Odoo objects and synchronizes those to required storage. After the sync, if necessary, you should apply the settings for a target cloud client, folders, and files
  • To observe the menu 'Cloud Storage' and the app file manager, a user should belong to the security group 'Cloud Storage > File Manager Access'
  • To configure automatic folder rules, establish connections with various cloud clients, control sync logs, and apply the app settings, a user should belong to the security group 'Cloud Storage > Administration'.
Группы безопасности и пользователи папок
Odoo attachments: user access levels

Замечания по использованию

  • The app assumes automatic regular synchronization with various cloud clients. Please take into account that synchronization is not real-time but is based on tasks queue and scheduled jobs. Depending on the number of folders and attachments, it might take time for the app to check all directories and do the jobs. That's why, until the sync is done, Odoo attachment interfaces work as in standard Odoo.
  • Cloud connections rely upon the API of the related cloud clients. Such communication between systems is risky by concept due to possible disconnections, API updates, and unsolvable conflicts. The app is designed to cope with such risks by carefully processing failures and checking cloud client states. Simultaneously, make sure that you have configured a proper backup strategy for both Odoo and cloud clients.
  • The special factors of risks are sync scope and reverse operations. The higher the sync scope is, the more it would take Odoo to finish integrations. Hence, more space for errors exists. Try to decrease sync scope logically by choosing only required folders. Reverse operations might be risky since assume reflecting cloud clients' features which might be absent in Odoo. For example, Google Sheets cannot be opened outside Google Docs. The app would try to solve the scenarios by applying similar features (e.g. by converting a file to simple electronic tables). However, that is not always possible, and in this way, manual interactions would be required.

Советы по настройке и установке для Cloud Storage Solutions Odoo v.18

Конфигурация сервера Odoo

Чтобы синхронизация работала корректно, задайте достаточные таймауты в файле конфигурации Odoo: LIMIT_TIME_CPU, LIMIT_TIME_REAL, LIMIT_TIME_REAL_CRON должны быть больше 900 секунд.

Для Odoo.sh этого делать не нужно: таймауты заданы заранее и не настраиваются.

Не меняйте частоту cron, заложенную приложением: '[Cloud Storage] Prepare Cloud Folders', '[Cloud Storage] Run / Prepare sync queue'. Задания запускаются каждые 15 минут, и эта частота используется в алгоритмах, чтобы не было обрывов и потери данных. Если нужно временно остановить синхронизацию, ставьте на паузу отдельные облачные клиенты.

Общая зависимость Python

Приложение зависит от внешней библиотеки 'sortedcontainers'. Установите её на сервер Odoo командой:

pip3 install sortedcontainers

Настройка интеграции OneDrive и/или SharePoint

Зависимость Python

Приложение зависит от внешней библиотеки 'microsoftgraph'. Установите её на сервер Odoo командой:

pip3 install microsoftgraph-python

Настройка и вход

  1. Включите опцию 'OneDrive / SharePoint Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение OneDrive / SharePoint Odoo Integration
  2. Убедитесь, что пользователь Microsoft имеет полные права администратора для OneDrive / SharePoint, который подключаете к Odoo. Он нужен только чтобы выдать разрешения: данные пользователя в Odoo не сохраняются и дальше не используются. Также проверьте, что у используемого Microsoft email нет переадресации (часто так бывает, если настроен свой домен, а основной адрес всё ещё @outlook.com, @office365 и т.п.)
  3. Откройте Azure Portal: https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade Приложение нужно зарегистрировать внутри каталога (tenant). Microsoft больше не позволяет создать новое приложение вне каталога.
    • Если у вас уже есть корпоративный каталог Microsoft 365 / Azure, переключите портал (справа сверху) на него и продолжите.
    • Если у вас только личная учётная запись (@outlook.com, @hotmail.com, @live.com) и видно «these applications are associated with the account ... but are not contained within any directory», каталога ещё нет. Зарегистрируйте бесплатную учётную запись Azure с тем же аккаунтом Microsoft: https://azure.microsoft.com/free/ - Попробуйте Azure бесплатно. Это создаст Default Directory без оплаты.
      • Microsoft запрашивает карту только для проверки личности; временная блокировка около 1 USD ставится и снимается. За каталог и регистрацию приложения платы нет.
      • Каталог (Microsoft Entra ID Free) и любое приложение в нём продолжают работать независимо от 30-дневного кредита Azure на $200. Этот кредит — для платных ресурсов Azure, которые здесь не используются. Для нашего приложения оплата не требуется.
      • Если весь каталог долго полностью не используется (порог Microsoft — около 200 дней без активности), Microsoft может прислать предупреждение и затем закрыть его. Поскольку Odoo вызывает это приложение при каждой синхронизации, активное подключение держит каталог активным — это важно, только если вы полностью прекратите синхронизацию на месяцы.
    • Когда вы в настоящем каталоге (не «Microsoft Services»), откройте там App registrations.
  4. Нажмите 'New registration'
  5. Introduce a new name for the application and assign the redirect URI as [YOURODOOSITENAME]/one_drive_token (e.g. https://odootools.com/one_drive_token). As the supported account types choose 'Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)'.
  6. Перейдите в Certificates & secrets — нажмите 'New Client Secret'. Сохраните значение секрета
  7. В Odoo откройте Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
    • В справочном названии укажите имя, понятное всем пользователям
    • В облачном клиенте выберите 'OneDrive' или 'SharePoint' в зависимости от используемого ПО
    • В имени корневой папки укажите заголовок родительского каталога OneDrive для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
    • Скопируйте 'Application Client ID' в поле 'App client ID'
    • Скопируйте значение секрета в поле 'App client secret'
    • Вставьте ранее созданный redirect URL
    • Если используете SharePoint:
      • Откройте сайт SharePoint и подготовьте библиотеку документов (drive). Можно взять существующую, например 'Documents'. Папка Odoo будет создана там, и перенести её в другую библиотеку будет нельзя
      • URL SharePoint должен быть вида https://[URL]/. Последний '/' обязателен — имя сайта не включайте. Например, https://odootools.sharepoint.com/
      • Сайт SharePoint: либо root (корневой сайт SharePoint), либо my_site_name (тогда это sites/my_site_name), либо sites/my_site_name (вместо 'sites' может быть 'teams' и т.д.). Без '/' в начале и в конце. Например, sites/odootools
      • В Documents Library укажите библиотеку, созданную в SharePoint
  8. Нажмите «Подтвердить». Odoo перенаправит на страницу входа Microsoft. Войдите, примите условия и выдайте все запрошенные разрешения. If Microsoft shows an account already signed in and says it does not exist in tenant 'Microsoft Services' (or any other unrelated tenant), do not click that row. Click 'Use another account' and sign in with the Microsoft account that owns the app's directory
  9. После входа OneDrive вернёт вас в Odoo. Синхронизация OneDrive - Odoo готова к работе
  10. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим экземпляром OneDrive или SharePoint
  11. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Смотрите также видео по настройке

Создайте приложение Azure

Application to connect Odoo and Azure (OneDrive / SharePoint)

Новая веб-платформа OneDrive и URL перенаправления

OneDrive / SharePoint redirect url

Создайте новый секрет для приложения Azure

Odoo new OneDrive / SharePoint secret

Введите ключи конфигурации в Odoo

Configure Odoo for OneDrive / SahrePoint

Настройка интеграции Google Drive

  1. Включите опцию 'Google Drive Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение Google Drive Odoo Integration
  2. Перейдите в Google Cloud Console по URL https://console.cloud.google.com
  3. Выберите или создайте проект
  4. После выбора проекта консоль откроет Google Auth Platform. Нажмите 'Get Started'
  5. Заполните сведения о приложении
    • В имени приложения укажите любое подходящее
    • В качестве email поддержки пользователей укажите свой адрес
    • Нажмите 'Next'
  6. В качестве аудитории выберите 'External' и нажмите 'Next'. Примечание: в любом случае вы будете использовать это приложение только для собственного подключения Odoo
  7. В контактных данных укажите свой адрес Google или Google Workspace и нажмите 'Next'
  8. Согласитесь с Google API Services User Data Policy, нажмите 'Continue', а затем нажмите 'Create'
  9. Откройте 'Clients' и нажмите 'Create client'
    • В качестве типа приложения выберите 'Web application'
    • В качестве имени укажите любое подходящее
    • В качестве authorized redirect URI добавьте ссылку в формате [YOURODOOSITENAME]/google_drive_token (напр. https://odootools.com/google_drive_token).
    • Нажмите 'Create'
    • Скопируйте и надёжно сохраните 'Client ID' и 'Client secret'. Client secret показывается только один раз
  10. Включите Google Drive API для этого проекта: введите 'Google Drive API' в верхней строке поиска, откройте найденный продукт и нажмите 'Enable'
  11. Откройте 'Audience' и добавьте свой адрес электронной почты в тестовые пользователи
  12. Опубликуйте приложение. Иначе приложение останется в состоянии тестирования, а его токен будет истекать каждые 7 дней
    • Откройте 'Branding' и заполните домашнюю страницу приложения и ссылку на политику конфиденциальности (например, ссылки на ваш сайт Odoo). Добавьте домены этих ссылок в authorized domains
    • Откройте 'Audience' и нажмите 'Publish app'
    • Не загружайте логотип приложения. Это запустит долгую и сложную проверку Google, которая вам на самом деле не нужна
  13. В Odoo откройте Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
    • В справочном названии укажите имя, понятное всем пользователям
    • В облачном клиенте выберите 'Google Drive'
    • В имени корневой папки укажите заголовок родительского каталога Google Drive для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
    • Скопируйте 'Client ID' из шага 9 в поле 'App client ID'
    • Скопируйте 'Client secret' из шага 9 в поле 'App client secret'
    • Вставьте redirect URL, который вы указали в шаге 9
    • Если используете team drives, отметьте соответствующий флажок. Убедитесь, что team drives действительно используются. В Google Drive пункт 'Team Drives' должен быть в левой панели. Функция доступна только на тарифах business и enterprise
    • Если опция 'Team Drive' включена, укажите его имя точно так, как оно видно в Google Drive. Убедитесь, что у пользователя полные права на все диски Google (обычно это тот же пользователь, который настраивает командный Google Drive)
  14. Нажмите «Подтвердить». Odoo перенаправит на страницу входа Google. Войдите, примите условия и выдайте все запрошенные разрешения
  15. После входа Google вернёт вас в Odoo. Синхронизация Google Drive - Odoo готова к работе
  16. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим Google Drive
  17. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Смотрите также видео по настройке, Примечание: часть видео о консоли Google устарела — следуйте шагам выше

Откройте Google Auth Platform

Google Auth Platform: кнопка Get Started

Добавьте сведения о приложении

Ввод имени приложения Google и email поддержки

Выберите внешнюю аудиторию

Выбор аудитории External для приложения Google

Добавьте контактные данные

Ввод контактных данных разработчика Google

Согласитесь с политиками и создайте приложение

Принятие Google API Services User Data Policy

Создайте клиент OAuth

Google Auth Platform: страница Clients

Настройте клиент веб-приложения

Ввод типа клиента OAuth, имени и redirect URI

Скопируйте Client ID и Client secret

Учётные данные клиента Google OAuth показываются только один раз

Найдите Google Drive API

Поиск Google Drive API в консоли

Включите Google Drive API

Включение Google Drive API для проекта

Заполните Branding, чтобы опубликовать приложение

Branding приложения Google: домашняя страница, политика конфиденциальности и домены

Введите учётные данные приложения Google в Odoo

Введите учётные данные приложения Google в Odoo

Настройка Amazon S3

  1. Включите опцию 'Amazon S3 Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение Amazon S3 Odoo Integration
  2. Откройте Amazon S3 Console: https://console.aws.amazon.com/s3/
  3. Создайте новый bucket или выберите существующий. Скопируйте точное имя bucket: его нужно вставить в Odoo в поле 'Bucket'
  4. Откройте сведения bucket и скопируйте AWS Region. Вставьте в Odoo в поле 'Region' (например, eu-west-1 или us-east-1)
  5. Откройте AWS IAM Console: https://console.aws.amazon.com/iam/
  6. Создайте пользователя IAM или выберите существующего технического. У него должны быть полные права на список, чтение, создание, запись, копирование и удаление объектов в выбранном bucket. Можно дать полные права администратора или создать политику (см. ниже)
  7. В карточке пользователя IAM откройте вкладку 'Security credentials' и нажмите 'Create access key'
  8. На странице 'Access key best practices & alternatives' выберите Application running outside AWS. Так нужно, если сервер Odoo подключается к S3 по ключу доступа вне AWS, с Odoo.sh, со своего сервера или другого хостинга. Если Odoo стоит на AWS EC2, можно выбрать Application running on an AWS compute service — поля, которые копируются в Odoo, те же
  9. Нажмите 'Next'. На следующем шаге при желании укажите тег описания, например Odoo S3 Sync, затем нажмите 'Create access key'
  10. На финальной странице AWS скопируйте Access key или Access key ID в поле Odoo 'Access Key'
  11. Скопируйте Secret access key в поле Odoo 'Secret Key'. Важно: AWS показывает секретный ключ только один раз — сохраните его до закрытия окна
  12. Если это S3-совместимый провайдер, а не AWS S3, скопируйте endpoint URL из его панели и вставьте в Odoo в поле 'Amazon S3 endpoint URL'. Например, MinIO часто использует https://minio.example.com или http://localhost:9000; LocalStack обычно http://localhost:4566
  13. Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
  14. В справочном названии укажите имя, понятное всем пользователям
  15. В облачном клиенте выберите 'Amazon S3'
  16. В имени корневой папки укажите заголовок родительского префикса S3 для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
  17. Заполните поля 'Bucket', 'Region', 'Access Key', 'Secret Key' и при необходимости 'Amazon S3 endpoint URL' и стиль адресации
  18. Выберите, должен ли Odoo использовать временные presigned URL или публичные URL bucket/CDN. Для закрытых bucket оставьте presigned URL включёнными и задайте срок жизни в секундах
  19. Нажмите «Подтвердить». Odoo проверит доступ к bucket и создаст или проверит префикс корневой папки. Синхронизация Amazon S3 - Odoo готова к работе
  20. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим bucket Amazon S3
  21. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Полезная документация AWS: создание S3 bucket: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html, управление ключами доступа IAM: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html.

Пример политики bucket

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET" }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET/*" } ] }

Создайте нового пользователя AWS IAM

Create a new IAM user in the AWS console to connect Amazon S3 with Odoo

Укажите имя пользователя IAM

Specify the IAM user name in the AWS create user wizard

Назначьте политики доступа напрямую

Set permissions and choose to attach policies directly to the Amazon S3 IAM user

Пример JSON-политики бакета Amazon S3

Example JSON policy granting ListBucket, GetObject, PutObject and DeleteObject on the S3 bucket

Проверьте и назовите политику S3

Review and name the faotools_bucket Amazon S3 policy with list, read and write access

Выберите политику бакета для пользователя

Attach the faotools_bucket policy to the Amazon S3 IAM user

Проверьте и создайте пользователя IAM

Review the IAM user details and permissions before creating the Amazon S3 user

Создайте ключ доступа для пользователя

Open the IAM user and create an access key for the Amazon S3 connection

Выберите сценарий ключа доступа

Select 'Application running outside AWS' as the access key use case for Odoo

Задайте тег описания ключа доступа

Add an 'Odoo Connector' description tag to the Amazon S3 access key

Получите ключ доступа и секрет

Copy or download the Amazon S3 access key and secret access key

Настройте клиент Amazon S3 в Odoo

Configure and confirm the Amazon S3 cloud client in Odoo with bucket, region and keys

Настройка интеграции Nextcloud и/или ownCloud

Настройка и вход

  1. Включите опцию 'onwCloud / Nextcloud Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение ownCloud / Nextcloud Odoo Integration
  2. В Odoo откройте Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
  3. В справочном названии укажите имя, понятное всем пользователям
  4. В облачном клиенте выберите 'Nextcloud' или 'ownCloud' в зависимости от используемого ПО
  5. В имени корневой папки укажите заголовок родительского каталога для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
  6. Введите полный URL ownCloud / Nextcloud
  7. Выберите пользователя ownCloud / Nextcloud с полными правами на чтение, создание, запись и удаление файлов и папок в корневом каталоге
  8. Введите логин и пароль этого пользователя в поля 'Login' и 'Password'
  9. Выберите публичные или внутренние URL (см. ниже)
  10. Нажмите «Подтвердить». Синхронизация Odoo готова к работе
  11. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим экземпляром Nextcloud или ownCloud
  12. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Внутренние и публичные URL

По умолчанию ссылки из Odoo в ownCloud / Nextcloud внутренние: доступ только у авторизованных пользователей. Можно сделать ссылки публичными (настройка 'Use Public URLs'). Тогда URL будут «общими», и к элементам сможет пройти любой по прямой ссылке.

Будьте осторожны с общими (публичными) URL. Внешние пользователи вряд ли узнают ссылки, но они могут случайно стать доступны из-за действий пользователей. Кроме того, генерация ссылок небыстрая и может замедлить синхронизацию.

Смотрите также видео по настройке

Введите учётные данные ownCloud / Nextcloud

ownCloud / Nextcloud Odoo integration

Настройка NAS (Synology, QNAP, TrueNAS и др.)

  1. Включите опцию 'NAS Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение NAS Odoo Integration
  2. Подготовьте WebDAV-endpoint NAS:
    • Synology: установите и включите WebDAV Server в DSM и по возможности используйте HTTPS
    • QNAP: включите WebDAV для целевой общей папки и по возможности используйте HTTPS
    • TrueNAS CORE: включите службу WebDAV; TrueNAS SCALE: установите и настройте приложение WebDAV — в новых выпусках SCALE встроенный WebDAV убран
    • Обычный WebDAV: убедитесь, что доступны PROPFIND, MKCOL, PUT, GET, MOVE и DELETE
  3. Если Odoo размещён вне локальной сети NAS, обеспечьте безопасный доступ к WebDAV-endpoint. Лучше reverse proxy с действительным сертификатом TLS, VPN/туннель вроде WireGuard, Tailscale или Cloudflare Tunnel либо релей производителя: Synology QuickConnect или QNAP myQNAPcloud. Не открывайте интерфейс администратора в Интернет
  4. Создайте отдельного пользователя NAS с полными правами только внутри целевой общей папки: чтение, создание, запись, перенос и удаление. Не используйте учётную запись администратора
  5. Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
  6. В справочном названии укажите имя, понятное всем пользователям
  7. В облачном клиенте выберите 'Synology NAS', 'QNAP NAS', 'TrueNAS' или 'WebDAV NAS'
  8. В имени корневой папки укажите заголовок родительского каталога NAS для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
  9. Введите полный WebDAV URL, логин и пароль. При необходимости укажите базовый путь, если корневая папка Odoo должна быть внутри уже существующего ресурса или каталога
  10. Для публичных HTTPS-endpoint оставьте 'Verify SSL' включённым. Отключайте только для доверенного частного endpoint с самоподписанным сертификатом
  11. При необходимости задайте базовый URL браузера, если файлы NAS нужно открывать через URL файловой станции производителя, а не через сырой WebDAV URL
  12. Нажмите «Подтвердить». Odoo проверит соединение WebDAV и создаст или найдёт корневой каталог. Синхронизация NAS - Odoo готова к работе
  13. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим NAS
  14. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Предварительная настройка NAS

Системы NAS обычно отдают файлы в локальной сети. Если сервер Odoo находится вне этой сети, WebDAV- endpoint должен быть доступен из Odoo по защищённому каналу. Рекомендуются reverse proxy с действительным HTTPS- сертификатом, VPN или туннель вроде WireGuard, Tailscale или Cloudflare Tunnel либо релей производителя: Synology QuickConnect или QNAP myQNAPcloud. Обычный проброс портов возможен, но это наименее предпочтительный вариант.

Используйте отдельного пользователя NAS с минимально нужными правами на одну общую папку: чтение, создание, изменение, перенос и удаление. Не берите учётные записи администратора. Публично доступные endpoint всегда должны использовать HTTPS и действительный сертификат TLS. У коннектора есть опция "Verify SSL" для доверенных самоподписанных сертификатов, но обычно её следует оставлять включённой.

Введите учётные данные QNAP

QNAP Odoo connection

Введите учётные данные Synology

Synology Odoo Connection

Введите учётные данные TrueNAS

TruenNAS Odoo integration

Настройка Box

  1. Включите опцию 'Box Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение Box Odoo Integration
  2. Создайте или откройте аккаунт разработчика Box и перейдите в Box Developer Console: https://app.box.com/developers/console
  3. Создайте Custom App и выберите OAuth 2.0 (Authorization Code Grant) как метод аутентификации
  4. Добавьте redirect URI как [YOURODOOSITENAME]/box_token (например, https://faotools.com/box_token). Нужен действительный SSL-сертификат (https)
  5. Выдайте приложению доступ на чтение и запись файлов и папок. Не назначайте лишние разрешения
  6. Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
    • В справочном названии укажите имя, понятное всем пользователям
    • В облачном клиенте выберите 'Box'
    • В имени корневой папки укажите заголовок родительского каталога Box для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
    • Скопируйте Box Client ID в поле 'Client ID'
    • Скопируйте Box Client Secret в поле 'Client Secret'
    • Вставьте ранее созданный redirect URL
  7. Нажмите «Подтвердить». Odoo перенаправит на страницу входа Box. Войдите, примите условия и выдайте все запрошенные разрешения
  8. После входа Box вернёт вас в Odoo. Синхронизация Box - Odoo готова к работе
  9. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим аккаунтом Box
  10. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Создайте новое приложение разработчика Box

Create a new application in the Box Developer Console for the Odoo integration

Скопируйте учётные данные OAuth Box

Copy the Box OAuth 2.0 client ID and client secret and set the redirect URI for Odoo

Настройте облачный клиент Box в Odoo

Enter the Box client ID, client secret and redirect URL in the Odoo cloud client configuration

Разрешите Odoo доступ к Box

Authorize Odoo in Box to read and write files and folders through the integration

Настройка MinIO

  1. Подготовьте работающий сервер MinIO
  2. Откройте MinIO Console
  3. Создайте новый bucket или выберите существующий. Скопируйте точное имя bucket: его нужно вставить в Odoo в поле 'Bucket'
  4. Создайте учётные данные доступа для Odoo. В MinIO используйте пару access key / secret key или service account с правами на список, чтение, создание, запись, копирование и удаление объектов в выбранном bucket
  5. Скопируйте MinIO Access Key в поле Odoo 'Access Key'
  6. Скопируйте MinIO Secret Key в поле Odoo 'Secret Key'. Важно: сохраните секрет до закрытия страницы MinIO, если MinIO показывает его только один раз
  7. Скопируйте endpoint URL S3 API MinIO в Odoo в поле 'Amazon S3 endpoint URL'. Локальный сервер обычно использует http://localhost:9000, рабочий — https://minio.example.com
  8. Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
  9. В справочном названии укажите имя, понятное всем пользователям
  10. В облачном клиенте выберите 'MinIO'
  11. В имени корневой папки укажите заголовок родительского префикса объектов MinIO для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
  12. Заполните поля 'Bucket', 'Access Key', 'Secret Key' и 'Amazon S3 endpoint URL'. Поле 'Region' для MinIO необязательно; если пусто, Odoo берёт us-east-1 для S3-совместимой подписи
  13. Оставьте стиль адресации Path-style. Так рекомендуется для endpoint MinIO, особенно если хост MinIO не даёт DNS-имён для отдельных bucket
  14. Выберите, должен ли Odoo использовать прямые публичные URL MinIO. Включайте 'Use Public URLs' только если bucket, префикс, reverse proxy или CDN публично читаются. Для закрытых bucket MinIO оставьте выключенным
  15. Нажмите «Подтвердить». Odoo проверит доступ к bucket и создаст или проверит префикс корневой папки. Синхронизация MinIO - Odoo готова к работе
  16. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим bucket MinIO
  17. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

Useful MinIO documentation: https://min.io/docs/minio/linux/administration/identity-access-management.html, https://min.io/docs/minio/linux/reference/minio-server/minio-server.html.

Создайте ключ доступа MinIO

Create an access key in the MinIO Object Store console for the Odoo cloud client

Скопируйте новые учётные данные MinIO

Copy or download the newly created MinIO access key and secret key for Odoo

Настройте облачный клиент MinIO в Odoo

Configure and confirm the MinIO cloud client in Odoo with bucket, region, endpoint and keys

Настройка интеграции Dropbox

Зависимость Python

Приложение зависит от внешней библиотеки 'dropbox'. Установите её на сервер Odoo командой:

pip3 install dropbox

Настройка и вход

  1. Включите опцию 'Dropbox Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение Dropbox Odoo Integration
  2. Follow the URL https://www.dropbox.com/developers/apps/create
  3. Выберите API 'Scoped access'
  4. Тип доступа — 'Full Dropbox'
  5. Укажите любое подходящее имя приложения и нажмите 'Create app'
  6. Добавьте redirect URI как [YOURODOOSITENAME]/dropbox_token (например, https://faotools.com/dropbox_token). Нужен действительный SSL-сертификат (https)
  7. Выдайте приложению разрешения: 'Account Info (Read)', 'Files and folders Metadata (Write)', 'Files Content (Write)', 'Collaboration (Write)'. Для командного DropBox также 'Team Data Members', 'Members (Read)'. Не назначайте другие разрешения.
  8. Submit App
  9. В Odoo откройте Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
    • В справочном названии укажите имя, понятное всем пользователям
    • В облачном клиенте выберите 'Dropbox'
    • В имени корневой папки укажите заголовок родительского каталога Google Drive для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
    • Скопируйте 'App key' в поле 'App key'
    • Скопируйте 'App Secret' в поле 'App secret'
    • Вставьте ранее созданный redirect URL
    • Если используете командные диски Dropbox
      • Отметьте соответствующий флажок
      • Укажите email пользователя Dropbox. В его папке будут создаваться все объекты Odoo и только потом открываться остальным пользователям. От имени этого пользователя файлы и папки создаются, изменяются, перемещаются и удаляются
  10. Нажмите «Подтвердить». Odoo перенаправит на страницу входа Dropbox. Войдите, примите условия и выдайте все запрошенные разрешения
  11. После входа Dropbox вернёт вас в Odoo. Синхронизация Dropbox - Odoo готова к работе
  12. Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим экземпляром Dropbox
  13. Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».

URL Dropbox

У Dropbox особый способ ссылок на существующие файлы и папки. Внутренних или частных URL нет: у элемента Dropbox может быть так называемый shared URL. Такие ссылки либо публичные, либо только для команды. Второй вариант доступен лишь на аккаунте Dropbox business.

Приложение опирается на механику общих ссылок. Значит, ссылка вложения либо публичная (все личные аккаунты Dropbox), либо только для команды (все бизнес-аккаунты Dropbox).

Иногда это считают недостаточно безопасным. Внешние пользователи вряд ли узнают URL, но ссылки могут случайно стать доступны из-за действий пользователей. Генерация общих ссылок не очень быстрая и может замедлить синхронизацию. Поэтому есть возможность отключить sharing URL.

If checked, all Dropbox URLs in Odoo will be of type https://www.dropbox.com/home/Odoo/[PATH]. Such links will not work in many cases. Thus, if you need to open Dropbox files/folders from Odoo, be careful with the setting 'No links to Dropbox from Odoo'.

Смотрите также видео по настройке

Создайте приложение Dropbox

Dropbox API app to connect to Odoo

Настройте приложение Dropbox: URL перенаправления

Dropbox app settings

Права Dropbox для личных аккаунтов

Odoo Dropbox app personal permissions

Права Dropbox для бизнес-аккаунтов

Odoo Dropbox app business permissions

Настройте Odoo для интеграции с Dropbox

Odoo settings for Dropbox

Часто задаваемые вопросы о Cloud Storage Solutions Odoo v.18

Где хранятся синхронизированные файлы? Дублируются ли они в Odoo и в облаках?

Приложение предполагает, что двоичное содержимое вложений хранится в Cloud Client, а не на сервере Odoo. Такие вложения в Odoo становятся типа URL, и к ним можно в любой момент обратиться из блока вложений или из Cloud Client.

После настройки ручные действия не нужны: синхронизация полностью автоматическая. Решите, какие типы документов Odoo синхронизировать, и настройте связанную модель для каждого из них (клиенты, заказы на продажу или закупку, задачи, проекты и т. д.).

Можно ли создать несколько папок для одного типа документов? Например, внутренние проекты и клиентские проекты?

Да, можно. Для этого подготовьте правило для каждой папки и задайте фильтры: например, по типу проекта.

Сделайте фильтры взаимоисключающими, чтобы документ однозначно попадал в одну папку. Например: «клиент, но не поставщик», «поставщик, но не клиент». Иначе папка документа будет перескакивать с одной модели на другую.

Можно ли сделать синхронизацию в реальном времени?

Нет. Есть веские причины не делать синхронизацию в реальном времени:

  • Производительность. При синхронизации в реальном времени каждая загрузка файла приводит к экрану ожидания.

  • Конфликты. Если двое одновременно меняют элемент, ситуация может стать неразрешимой. При регулярных заданиях это можно исправить позже; в реальном времени пришлось бы ставить изменения в очередь, что ещё сильнее запутает пользователей.

  • Функциональность. В частности, переименование и перестройка элементов. Обратная синхронизация строго опирается на логику каталогов, и при каждом запуске проверяется 100% элементов. Если делать это после каждого обновления, будут тысячи запросов в секунду. Если нет — изменения потеряются.

Можно ли изменить имена папок по умолчанию в облаках?

Вы можете задать своё имя каталогам моделей (заказы на продажу, возможности, поставщики и т. д.) для любого типа документа.

Для папок объектов (SO-001, John Smith и т. д.) инструмент использует метод Odoo для отображаемого имени этого типа документа. Это можно изменить выражением имени. Используется тот же синтаксис, что и в шаблонах писем Odoo.

Можно ли изменить частоту заданий синхронизации?

Нет, начиная с версии 15 менять запланированные задания не следует. Они оптимизированы на запуск каждые 15 минут для максимально стабильного и быстрого соединения.

Таймауты сервера Odoo должны быть не меньше 15 минут (900 секунд).

Чтобы временно остановить синхронизацию, сделайте это на форме конкретного облачного клиента.

Можно ли синхронизировать вложения с несколькими облачными клиентами

Да, начиная с версии 15 можно настроить несколько подключений. Так одни папки синхронизируются с одним облачным клиентом, другие — с другим.

Учтите: одну и ту же папку нельзя одновременно синхронизировать с несколькими облачными хранилищами.

Мы используем специальный редактор в облаках (например OnlyOffice, Office 365 и т. д.). Будут ли файлы открываться в этом редакторе?

Да, в зависимости от конфигурации облачного клиента.

Достаточно ли только приложения Cloud Storage Solution?

Начиная с версии 15 приложение можно использовать отдельно, чтобы раскладывать вложения по папкам и давать интерфейс файлового менеджера.

Если же цель — соединение с одним из облачных клиентов, нужно установить хотя бы одно дополнительное приложение клиента.

Что происходит, когда я меняю правило папки?

Когда меняется правило папки, меняется и список папок. Если папка больше не подходит под условия правил, она удаляется. Если файлы уже были синхронизированы, обратная синхронизация возвращает их в Odoo и удаляет из Cloud Client.

Если объект документа не подходит под правило папки, его папка не создаётся. Если позже начнёт подходить, связанная папка будет создана.

Можно ли оставить только прямую синхронизацию или отключить синхронизацию из хранилища?

Да. На облачном клиенте откройте страницу Настройки и включите Отключить синхронизацию из хранилища.

Синхронизация остается односторонней. Изменения в Odoo по-прежнему отправляются в облачное хранилище. Файлы и папки, созданные, переименованные или удаленные в облачном хранилище, не отражаются в Odoo, а удаленные там папки не восстанавливаются.

Выключите параметр снова, чтобы применить накопленные изменения, включая удаления, при следующей синхронизации.

Этот параметр доступен начиная с версии 18. Отключение, сброс или деактивация клиента по-прежнему запускает обратную синхронизацию, если вы не отключите и ее.

Какова политика обновлений ваших инструментов?

По текущим правилам Odoo Apps Store:

  • Модуль, купленный для версии 12.0 и ниже, даёт доступ ко всем версиям до 12.0 включительно.
  • С версии 13.0 каждую версию модуля нужно покупать отдельно.
  • Независимо от версии покупка даёт право на все обновления и исправления в рамках этой мажорной версии.

Команда faOtools эти правила не задаёт. Вопросы направляйте напрямую представителям Odoo Apps Store.

Как установить приложение на Odoo.sh?

Самый прямой способ - встроенный сценарий магазина Odoo:

1. Откройте страницу модуля и нажмите Deploy on odoo.sh

2. Вас перенаправит на GitHub. Войдите в аккаунт и нажмите Create a new repo или выберите существующий. Репозиторий должен быть закрытым: публиковать приложения по лицензии OPL-1 нельзя. При необходимости создайте новый репозиторий для проекта Odoo.sh

3. Затем в odoo.sh нажмите Deploy, подтвердите решение и нажмите Continue. Так запустится установка.

Эти шаги ставят приложение на production-ветку проекта. Для других веток или обновления модуля:

1. Скачайте исходный код из магазина Odoo

2. Закоммитьте модуль в нужный репозиторий GitHub. Ни одна папка или файл приложения не должны попасть в .gitignore. Репозитории, которые создаёт odoo.sh, по умолчанию могут игнорировать важные пути (например /lib). Загрузите все каталоги и файлы модуля без исключений

3. Разверните целевую ветку проекта odoo.sh или дождитесь автоматической сборки, если так настроено.

Как установить приложение на свой сервер?

1. Распакуйте исходный код купленных инструментов в один из каталогов дополнений Odoo;
2. Перезапустите сервер Odoo;
3. Включите режим разработчика (технические настройки);
4. Обновите список приложений (меню приложений);
5. Найдите приложение и нажмите Activate/Install;
6. Следуйте рекомендациям на странице приложения, если они есть.

У приложения есть дополнительные модули. Можно купить их позже?

Да. При этом Odoo сам кладёт все зависимости в корзину: исключите уже купленные инструменты, чтобы не заплатить дважды.

Я развернул приложение на Odoo.sh и вижу предупреждение или ошибку в тестах

Odoo Красное или оранжевое предупреждение не влияет на функции приложения. Иногда наши модули не проходят стандартные автотесты, потому что те ждут поведение, которое противоречит целям приложения. Например, мы меняем расчёт цены, а тесты ядра сравнивают итог со стандартным алгоритмом.

Сначала проверьте саму развёрнутую базу: всё ли работает?

Если всё же считаете, что предупреждение ломает функции, напишите нам и пришлите полные логи установки и полный список установленных модулей (ядро и сторонние).

Можно ли купить приложение напрямую у вас?

Нет, мы распространяем инструменты только через официальный магазин приложений Odoo.

Я хочу получить скидку

К сожалению, у нас нет технической возможности давать индивидуальные цены.

Можно ли поставить приложение на базу Odoo Online (SaaS)?

Нет, сторонние приложения нельзя использовать на Odoo Online. Odoo SaaS это блокирует.

У инструмента есть зависимости. Нужно ли их покупать?

Да, для корректной работы нужны все модули из зависимостей. Цена на странице приложения уже включает необходимые зависимости.

Какова цена модуля в долларах США? Почему она меняется?

Цены на наши модули заданы в евро. Магазин Odoo пересчитывает их в другие валюты по своему внутреннему курсу. Поэтому цена в долларах США может меняться при обновлении курса.

Тексты приложения и веб-сайта на языках, отличных от английского, переведены с помощью ИИ и согласованы с официальными переводами Odoo. Если вы заметили ошибку, отправьте тикет о переводе и мы исправим его.

Демонстрационные базы данных Odoo (предпросмотр)

Для этого приложения мы можем предоставить бесплатную персонализированную демонстрационную базу данных.

Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.

По вашему запросу мы подготовим отдельную демо базу для предпросмотра, где примерно две недели вы сможете проводить любые тесты и проверять свои предположения.

Отправка отчетов об ошибках

Если вы столкнулись с ошибками или непоследовательным поведением, не стесняйтесь обращаться к нам. Мы гарантируем предоставление исправлений в течение 60 дней с момента покупки и очень заинтересованы в улучшении наших инструментов даже по истечении этого периода.

Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.

Укажите в запросе как можно больше сведений: снимки экрана, журналы сервера Odoo, полное описание воспроизведения проблемы и так далее. Обычно подготовка рабочего плана по проблеме (если ошибка подтверждена) или рекомендаций по необходимым действиям (в противном случае) занимает несколько рабочих дней.

Запросы на публичные функции и идей модулей (бесплатная разработка)

Мы очень заинтересованы в улучшении наших инструментов и будем благодарны за любые отзывы. Если ваши требования общедоступны и могут быть эффективно реализованы, команда включит их в наш список дел.

Такой список дел обрабатывается регулярно и не предполагает дополнительных комиссий. Хотя мы не можем обещать сроки и окончательный дизайн, это может быть хорошим способом получить желаемые функции без вложений и рисков.

Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.

18.0.1.4.53
  • Добавлена возможность отключить синхронизацию из хранилища для облачного клиента.
  • Добавлена возможность отключить обратную синхронизацию для облачного клиента.
  • Исправлена ошибка, из-за которой очередь синхронизации оставалась заблокированной после удаления клиента обратной синхронизации.
18.0.1.4.52
  • The issue of folder lookup failing when the document id was a recordset has been fixed.
18.0.1.4.51
  • Optimized folder sync by searching only attachments of updated records instead of all model attachments.
18.0.1.4.50
  • The feature to requeue failed tasks has been added.
18.0.1.4.49
  • Support for Amazon S3, MinIO S3, Synology, QNAP, TrueNAS, other NAS/WebDAB, and BOX has been added.
18.0.1.4.48
  • The feature to control the maximum number of folders per rule has been added.
18.0.1.4.47
  • The issue with attachments linked to documents disappearing from the attachment box has been fixed.
18.0.1.4.46
  • The issue fix text break in folder titles has been fixed.
18.0.1.4.45
  • The issue with the non-synced invoice report has been fixed.
18.0.1.4.44
  • Оптимизирована асинхронная проверка папок.
18.0.1.4.43
  • Исправлен поиск только что выбранной папки.
18.0.1.4.42
  • Дерево папок снова обновляется при переключении между записями.
18.0.1.4.41
  • Исправлено удаление выбранных вложений: больше не нужен двойной щелчок.
18.0.1.4.40
  • Очередь удаления резервных копий стала first-in, first-out.
18.0.1.4.39
  • Приложение приведено к новой логике доменов с динамическими частями.
18.0.1.4.38
  • На страницу настроек добавлена оценка filestore.
  • Синхронизацию облачного клиента можно ограничить именем конкретной базы.
18.0.1.4.37
  • Добавлена блокировка создания резервной копии.
18.0.1.4.36
  • Исправлена проблема непереведенных предупреждений.
18.0.1.4.35
  • Резервную копию базы можно синхронизировать с выбранными облачными клиентами автоматически и вручную. Настройте расписание и срок хранения. Копии — с filestore и манифестом или без них.
18.0.1.4.34
  • Исправлена загрузка библиотек Python при обновлении папок.
18.0.1.4.33
  • В домене можно использовать библиотеки Python: datetime ('date', 'datetime', 'time', 'timedelta', 'timezone', 'tzinfo', 'MAXYEAR', 'MINYEAR'), time ('time', 'strptime', 'strftime'), а также context_today (кратко для datetime.now) и relativedelta.
18.0.1.4.32
  • Совместимость с модулем Email Marketing приведена к обновлениям Odoo 18.
18.0.1.4.31
  • После удаления вложения снимается выделение.
18.0.1.4.30
  • URL синхронизированных вложений можно заранее рассчитать.
18.0.1.4.29
  • Папки, созданные от облачных клиентов, получают больший sequence.
18.0.1.4.28
  • Представления Kanban приведены к XML-принципам Odoo 18.
  • Лента Archived добавлена на формы правил, папок, тегов и доступов.
18.0.1.4.27
  • Интерфейс приведен к изменениям стандартного списка вложений.
18.0.1.4.26
  • Исправлено добавление ссылок на некоторые папки.
18.0.1.4.25
  • Приложение опубликовано для версии 18.
17.0.1.4.25
  • Исправлено создание дочерних папок у родителей, связанных с рабочими пространствами.
17.0.1.4.24
  • Исправлено обновление ранее синхронизированных дочерних папок.
17.0.1.4.23
  • Можно сбрасывать даты блокировки папок, связанных с правилами.
17.0.1.4.22
  • При написании писем Odoo можно выбрать уже существующие вложения, в том числе синхронизированные.
  • В блок вложений и файловый менеджер добавлены вложения-ссылки URL.
17.0.1.4.21
  • Исправлена автопрокрутка после записи заметки.
17.0.1.4.20
  • Журналы можно фильтровать по дате и времени.
  • На странице настроек задаётся, сколько записей журнала выгружать.
17.0.1.4.19
  • Число повторов при сбое настраивается и может отличаться для обычных задач и задач reverse/move.
17.0.1.4.17
  • Блокировка родительских задач оптимизирована: сначала выполняется самая приоритетная.
17.0.1.4.15
  • Уточнен механизм блокировки для операций синхронизации при переносе элементов.
17.0.1.4.13
  • Доступ к промежуточной папке правила берётся не из модели правила, а из доступа родительской папки.
17.0.1.4.12
  • Максимальная длина URL увеличена до 4096.
17.0.1.4.11
  • Обратная синхронизация ускорена. Зависшие задачи из-за взаимной блокировки убраны.
17.0.1.4.10
  • Исправлены сбои одновременной обратной и встречной синхронизации.
17.0.1.4.9
  • Оптимизирована обработка переставленных и перенесенных папок.
17.0.1.4.8
  • Исправлено создание тегов и папок через портал.
17.0.1.4.7
  • Исправлен поиск по названию тега или папки в портальном доступе.
17.0.1.4.6
  • Добавлено массовое действие "Slideshow": слайд-шоу выбранных изображений в бэкенде.
  • В настройках доступа добавлен параметр "Allow slideshow": пользователи портала и публичные могут запустить слайд-шоу найденных изображений.
  • Оптимизирован алгоритм обратной синхронизации.
17.0.1.4.5
  • Добавлены проверки зависших задач до сбоя. Если задача полностью останавливает cron (например, из-за лимита памяти), следующий cron берет другую задачу.
17.0.1.4.4
  • На карточке вложения в файловом менеджере стандартный просмотр Odoo. В Kanban превью открывается кликом по миниатюре. Типы файлов и поведение как в блоке вложений.
  • Форму вложения можно открыть из меню трех точек Kanban и там же сменить цвет.
  • Уровни записей журнала синхронизации окрашены по уровню сообщений.
  • Журнал фиксирует сообщения даже если задание падает и полностью останавливает поток.
17.0.1.4.3
  • Исправлена неверная папка при первой загрузке файлового менеджера.
17.0.1.4.2
  • Папки можно приоритизировать по частоте синхронизации правил.
17.0.1.4.1
  • Структура модуля обновлена под новый файловый менеджер, перетаскивание и обмен на портале
17.0.1.3.14
  • Исправлено копирование вложений с явно переданными res_model и res_id (совместимость с HR Expenses).
17.0.1.3.13
  • В файловом менеджере можно выбрать несколько папок сразу.
  • Текущая папка загрузки показана в подписи кнопки "Upload".
  • Добавлен обмен вложениями и папками. Делитесь файлами, каталогами или тегами с партнёрами портала или публично. По желанию разрешите загрузку, навигацию по дереву и создание тегов и папок.
  • Можно скачать все вложения выбранного тега. Навигация по тегам стала необязательной.
17.0.1.3.12
  • Добавлена загрузка файлов с компьютера перетаскиванием.
  • Папку и теги можно обновить, перетащив вложения на левую панель навигации.
17.0.1.3.11
  • Исправлены ошибки массового обновления тегов.
  • Исправлена неверная папка для новых записей.
  • Исправлено создание папки в панели навигации, когда других папок еще нет.
  • Журнал синхронизации показывает HTML содержимого полученных ответов.
17.0.1.3.10
  • Покрыт редкий случай: первичная настройка папки упала 8 раз, но папку все равно нужно синхронизировать.
Вам также могут понравиться эти приложения
Password Manager

The tool to safely keep passwords in Odoo for shared use. Shared vaults

198€
KnowSystem: Knowledge Base System

The tool to build a deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions.

398€
KPI Balanced Scorecard

The tool to set up KPI targets and control their fulfillment by periods. KPI dashboards. Dashboard designer. KPI charts

198€
Universal Appointments and Time Reservations

The tool for time-based service management from booking appointments to sales and reviews

398€
MCP Server. AI Chats and LLM Odoo Integration

The tool to manage your Odoo from your favorite AI chats through MCP. Claude. Any MCP-supporting AI.

198€
OneDrive / SharePoint Odoo Integration

The tool to automatically synchronize Odoo attachments with OneDrive files in both ways

487€
Google Drive Odoo Integration

The tool to automatically synchronize Odoo attachments with Google Drive files in both ways

487€
ownCloud / Nextcloud Odoo Integration

The tool to automatically synchronize Odoo attachments with ownCloud/Nextcloud files in both ways

487€
Dropbox Odoo Integration

The tool to automatically synchronize Odoo attachments with DropBox files in both ways

487€