Attachment Control - S3
by spre.es https://spre.es/shop/attachment-control-for-odoo-s3-connector-72
Odoo
$ 461.04
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Community Apps Dependencies | Show |
| Lines of code | 6093 |
| Technical Name |
attachment_storage_manager_s3 |
| License | OPL-1 |
| Website | https://spre.es/shop/attachment-control-for-odoo-s3-connector-72 |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Community Apps Dependencies | Show |
| Lines of code | 6093 |
| Technical Name |
attachment_storage_manager_s3 |
| License | OPL-1 |
| Website | https://spre.es/shop/attachment-control-for-odoo-s3-connector-72 |
| Versions | 17.0 18.0 19.0 |
Amazon S3 and S3-compatible connector for Attachment Control
Attachment Control - S3
Add Amazon S3 and S3-compatible object storage to Attachment Control so routing, audit, move, storage archives and restore workflows can work with AWS S3, MinIO, Ceph, Wasabi and similar backends.
AWS S3
S3-Compatible
Routing, Move, Storage, Restore
Optional Connector Add-on
Availability: Odoo Online: not supported | Odoo.sh: supported when `boto3` is available | On Premise: supported
Support: info@spre.es
What this connector adds
- S3 provider in Storage Credentials: create credentials for AWS S3 or S3-compatible services.
- Credential-based backend usage: the core module can use this provider in routing, move, storage archive and restore flows.
- Generic backend operations: read, write, delete, list and connection test through the common backend API.
- Provider isolation: S3-specific dependencies stay outside the core module.
What "S3-compatible" means: this connector works with standard AWS S3 and also with other storage services that expose an S3-compatible API, such as Mega S3, MinIO, Ceph or Wasabi.
Opt-in only: installing this connector does not send data to S3 by itself. External communication only starts after the user creates and validates an S3 credential and explicitly selects it in the corresponding configuration or workflow.
Data sent only after opt-in: attachment binary content, remote path/key, and the technical metadata needed by the selected workflow, such as filename, mimetype, file size or checksum when available.
No data is sent to the developer. Data is sent only to the storage service explicitly configured by the user.
No data is sent to the developer. Data is sent only to the storage service explicitly configured by the user.
Compatibility
- On-premise: supported.
- Odoo.sh: supported if the Python dependency is available in the build/runtime.
- Odoo Online: not supported for this connector because custom Python dependencies are not available.
Why a separate add-on? The core module remains provider-agnostic and easier to install in environments where S3 libraries are not available.
Requirements
- Install the core module Attachment Control.
- Install the Python dependency
boto3in the same Python environment used by Odoo. - Install this connector module
attachment_storage_manager_s3. - Restart Odoo.
Credential fields
Container / Bucket: required remote bucket name.
Region / Location: AWS region or provider region code.
Endpoint URL: optional custom endpoint for S3-compatible providers such as MinIO, Ceph or Wasabi. Leave it empty for standard AWS S3.
Path Prefix: optional prefix inside the bucket.
Access Key / Client ID and Secret Key / Client Secret: provider credentials.
Extra Parameters (JSON): optional advanced client parameters for special configurations.
Important: do not use the AWS console URL as Endpoint URL. That field is for the S3 API endpoint only.
Examples
Example 1: AWS S3
Use this when the bucket is hosted on standard AWS S3.
- Provider: S3 / S3-Compatible
- Name: AWS S3 Production
- Container / Bucket:
my-company-attachments - Region / Location:
eu-west-1 - Endpoint URL: empty
- Path Prefix:
odoo/attachments - Access Key / Client ID:
AKIA... - Secret Key / Client Secret: your AWS secret access key
Example 2: S3-compatible
Use this for providers such as MinIO, Wasabi, Ceph RGW or similar S3-compatible APIs.
- Provider: S3 / S3-Compatible
- Name: MinIO Attachments
- Container / Bucket:
attachments - Region / Location: optional unless the provider requires it
- Endpoint URL:
https://minio.example.com - Path Prefix:
odoo17/attachments - Access Key / Client ID: provider access key
- Secret Key / Client Secret: provider secret key
How it is used
1. Create an S3 credential in Storage Credentials.
2. Validate the credential from Odoo.
3. Select that credential in the corresponding routing or storage configuration of the core module.
4. Use audit and move workflows to place attachments on S3.
5. Use storage and restore workflows from the core module as usual; this connector only provides the backend integration.
Operational notes
- The remote bucket must already exist before running test, move, storage or restore operations.
- Always test the credential before enabling production use.
- For long-running jobs, configure
limit_time_real_cron = 3600inodoo.conf. - Use least-privilege credentials and, in production, prefer a dedicated bucket or prefix.
Operational safety
Important: we recommend carrying out all tests beforehand in a test database and making a complete backup before any intervention. We do not assume responsibility for possible incidents, misuse or data loss that may occur during its use.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module