<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->External Backup->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 "${object.name}" 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 > Technical > Database Structure > Meta Data Attachments</p>
</li>
<li><p class="first">Add more models you want to sync attachments for in "Referenceable Models"
<em>Settings->Technical-> Database Structure -> 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 <<a class="reference external" href="mailto:dan@sunflowerweb.nl">dan@sunflowerweb.nl</a>></li>
<li>Tom Blauwendraat, Sunflower IT <<a class="reference external" href="mailto:tom@sunflowerweb.nl">tom@sunflowerweb.nl</a>></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>