Search 1.9 billion lines of Odoo code on GitHub

structured_external_storage_all

Author: Sunflower IT,Odoo Community Association (OCA)
License: AGPL-3
Branch: 11.0-add-structured_external_storage
Repository: sunflowerit/server-tools
Dependencies: attachment_base_synchronize, base, and external_file_location
Languages: Python (239, 52.0%), XML (174, 37.8%), and reStructuredText (47, 10.2%)
Other branches: 11.0-add-external-sync-modules

<a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.svg"> </a> <a name="structured-external-storage-all-attachments"></a> <h2>Structured External Storage All Attachments</h2> <p>On top of <cite>external_file_location</cite>, this module allows you to define a structured set of syncing rules (eg. a syncing scheme) for ir.attachment records to an external storage service supported by any installed <cite>external_file_location_*</cite> modules.</p> <p>Mix-and-match is possible, as well as domain filtering - so for example it is possible to have the Sale Orders sync to Dropbox, 2018 Sale Orders to Google Drive also, and any invoices to S3.</p> <p>The destination folder location and file name for the attachments can be configured based on the attachment object fields, so for example the Sale Order Name or the Sale Order Year (Python-calculated formula from date). A dressed-down Mako template language can be used for this.</p> <a name="installation"></a> <h3>Installation</h3> <ul class="simple"> <li>Install this module</li> <li>Install any <cite>external_file_location_*</cite> modules for external storage services that you want to use</li> </ul> <a name="configuration"></a> <h3>Configuration</h3> <ul> <li><p class="first">Configure the <cite>external_file_location_*</cite> modules with the correct username and password, and establish a connection (see README of those modules).</p> </li> <li><p class="first">Create the Sync Rules in <em>Settings-&gt;External Backup-&gt;Attachment Sync Rules</em></p> <ul class="simple"> <li>Select the Odoo 'Model' of which you want the attachments to sync</li> <li>Select which 'Sync' to use. These are based on protocols installed through the <cite>external_file_location_*</cite> modules (Google Drive, Dropbox, Amazon S3) and can be set per company</li> <li>Sefine which files to include by 'Domain' and specify how they should be named through 'File Name Format', e.g &quot;${object.name}&quot; for Sale Orders will save the file as SO001.pdf depending on the SO name</li> <li>Save and either 'Sync Now' or 'Queue for Sync'</li> </ul> <img alt="static/description/sync_rules.png" src="static/description/sync_rules.png" style="width: 700px;" /> </li> <li><p class="first">Queue for Sync button creates the metadata from old attachment files for the cron task: Settings &gt; Technical &gt; Database Structure &gt; Meta Data Attachments</p> </li> <li><p class="first">Add more models you want to sync attachments for in &quot;Referenceable Models&quot; <em>Settings-&gt;Technical-&gt; Database Structure -&gt; Referenceable Models</em></p> </li> <li><p class="first">Repeat this process for all desired sync rules. The sequence determines the order of evaluation of the rules.</p> </li> </ul> <a name="credits"></a> <h3>Credits</h3> <a name="contributors"></a> <h4>Contributors</h4> <ul class="simple"> <li>Dan Kiplangat, Sunflower IT &lt;<a class="reference external" href="mailto:dan&#64;sunflowerweb.nl">dan&#64;sunflowerweb.nl</a>&gt;</li> <li>Tom Blauwendraat, Sunflower IT &lt;<a class="reference external" href="mailto:tom&#64;sunflowerweb.nl">tom&#64;sunflowerweb.nl</a>&gt;</li> </ul> <a name="images"></a> <h4>Images</h4> <ul class="simple"> <li>Kisspng: <a class="reference external" href="https://www.kisspng.com/png-directory-structure-computer-icons-mbox-file-syste-616078/">Icon</a>.</li> </ul> <a name="maintainer"></a> <h4>Maintainer</h4> <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <p>This module is maintained by the OCA.</p> <p>OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.</p> <p>To contribute to this module, please visit <a class="reference external" href="https://odoo-community.org">https://odoo-community.org</a>.</p>