@@ -441,38 +441,37 @@ <h1>Filesystem Storage Backend</h1>
441441< ul class ="simple ">
442442< li > < a class ="reference internal " href ="#usage " id ="toc-entry-1 "> Usage</ a > < ul >
443443< li > < a class ="reference internal " href ="#configuration " id ="toc-entry-2 "> Configuration</ a > </ li >
444- < li > < a class ="reference internal " href ="#server-environment " id ="toc-entry-3 "> Server Environment</ a > </ li >
445- < li > < a class ="reference internal " href ="#migration-from-storage-backend " id ="toc-entry-4 "> Migration from storage_backend</ a > </ li >
444+ < li > < a class ="reference internal " href ="#migration-from-storage-backend " id ="toc-entry-3 "> Migration from storage_backend</ a > </ li >
446445</ ul >
447446</ li >
448- < li > < a class ="reference internal " href ="#known-issues-roadmap " id ="toc-entry-5 "> Known issues / Roadmap</ a > </ li >
449- < li > < a class ="reference internal " href ="#changelog " id ="toc-entry-6 "> Changelog</ a > < ul >
450- < li > < a class ="reference internal " href ="#section-1 " id ="toc-entry-7 "> 19.0.1.1.0 (2026-03-18)</ a > < ul >
451- < li > < a class ="reference internal " href ="#features " id ="toc-entry-8 "> Features</ a > </ li >
447+ < li > < a class ="reference internal " href ="#known-issues-roadmap " id ="toc-entry-4 "> Known issues / Roadmap</ a > </ li >
448+ < li > < a class ="reference internal " href ="#changelog " id ="toc-entry-5 "> Changelog</ a > < ul >
449+ < li > < a class ="reference internal " href ="#section-1 " id ="toc-entry-6 "> 19.0.1.1.0 (2026-03-18)</ a > < ul >
450+ < li > < a class ="reference internal " href ="#features " id ="toc-entry-7 "> Features</ a > </ li >
452451</ ul >
453452</ li >
454- < li > < a class ="reference internal " href ="#section-2 " id ="toc-entry-9 "> 18.0.2.1.0 (2025-10-20)</ a > < ul >
455- < li > < a class ="reference internal " href ="#features-1 " id ="toc-entry-10 "> Features</ a > </ li >
453+ < li > < a class ="reference internal " href ="#section-2 " id ="toc-entry-8 "> 18.0.2.1.0 (2025-10-20)</ a > < ul >
454+ < li > < a class ="reference internal " href ="#features-1 " id ="toc-entry-9 "> Features</ a > </ li >
456455</ ul >
457456</ li >
458- < li > < a class ="reference internal " href ="#section-3 " id ="toc-entry-11 "> 18.0.2.0.1 (2025-07-23)</ a > < ul >
459- < li > < a class ="reference internal " href ="#features-2 " id ="toc-entry-12 "> Features</ a > </ li >
457+ < li > < a class ="reference internal " href ="#section-3 " id ="toc-entry-10 "> 18.0.2.0.1 (2025-07-23)</ a > < ul >
458+ < li > < a class ="reference internal " href ="#features-2 " id ="toc-entry-11 "> Features</ a > </ li >
460459</ ul >
461460</ li >
462- < li > < a class ="reference internal " href ="#section-4 " id ="toc-entry-13 "> 18.0.1.0.1 (2024-11-10)</ a > < ul >
463- < li > < a class ="reference internal " href ="#features-3 " id ="toc-entry-14 "> Features</ a > </ li >
461+ < li > < a class ="reference internal " href ="#section-4 " id ="toc-entry-12 "> 18.0.1.0.1 (2024-11-10)</ a > < ul >
462+ < li > < a class ="reference internal " href ="#features-3 " id ="toc-entry-13 "> Features</ a > </ li >
464463</ ul >
465464</ li >
466- < li > < a class ="reference internal " href ="#section-5 " id ="toc-entry-15 "> 16.0.1.1.0 (2023-12-22)</ a > </ li >
467- < li > < a class ="reference internal " href ="#section-6 " id ="toc-entry-16 "> 16.0.1.0.3 (2023-10-17)</ a > </ li >
468- < li > < a class ="reference internal " href ="#section-7 " id ="toc-entry-17 "> 16.0.1.0.2 (2023-10-09)</ a > </ li >
465+ < li > < a class ="reference internal " href ="#section-5 " id ="toc-entry-14 "> 16.0.1.1.0 (2023-12-22)</ a > </ li >
466+ < li > < a class ="reference internal " href ="#section-6 " id ="toc-entry-15 "> 16.0.1.0.3 (2023-10-17)</ a > </ li >
467+ < li > < a class ="reference internal " href ="#section-7 " id ="toc-entry-16 "> 16.0.1.0.2 (2023-10-09)</ a > </ li >
469468</ ul >
470469</ li >
471- < li > < a class ="reference internal " href ="#bug-tracker " id ="toc-entry-18 "> Bug Tracker</ a > </ li >
472- < li > < a class ="reference internal " href ="#credits " id ="toc-entry-19 "> Credits</ a > < ul >
473- < li > < a class ="reference internal " href ="#authors " id ="toc-entry-20 "> Authors</ a > </ li >
474- < li > < a class ="reference internal " href ="#contributors " id ="toc-entry-21 "> Contributors</ a > </ li >
475- < li > < a class ="reference internal " href ="#maintainers " id ="toc-entry-22 "> Maintainers</ a > </ li >
470+ < li > < a class ="reference internal " href ="#bug-tracker " id ="toc-entry-17 "> Bug Tracker</ a > </ li >
471+ < li > < a class ="reference internal " href ="#credits " id ="toc-entry-18 "> Credits</ a > < ul >
472+ < li > < a class ="reference internal " href ="#authors " id ="toc-entry-19 "> Authors</ a > </ li >
473+ < li > < a class ="reference internal " href ="#contributors " id ="toc-entry-20 "> Contributors</ a > </ li >
474+ < li > < a class ="reference internal " href ="#maintainers " id ="toc-entry-21 "> Maintainers</ a > </ li >
476475</ ul >
477476</ li >
478477</ ul >
@@ -497,8 +496,6 @@ <h3><a class="toc-backref" href="#toc-entry-2">Configuration</a></h3>
497496fsspec python package when creating the filesystem. These options
498497depend on the protocol used and are described in the fsspec
499498documentation.</ li >
500- < li > Resolve env vars. This options resolves the protocol options values
501- starting with $ from environment variables</ li >
502499< li > Check Connection Method. If set, Odoo will always check the connection
503500before using a storage and it will remove the fs connection from the
504501cache if the check fails.< ul >
@@ -531,34 +528,8 @@ <h3><a class="toc-backref" href="#toc-entry-2">Configuration</a></h3>
531528< p > In this example, the SimpleCacheFileSystem protocol will be used as a
532529wrapper around the odoofs protocol.</ p >
533530</ div >
534- < div class ="section " id ="server-environment ">
535- < h3 > < a class ="toc-backref " href ="#toc-entry-3 "> Server Environment</ a > </ h3 >
536- < p > To ease the management of the filesystem storages configuration accross
537- the different environments, the configuration of the filesystem storages
538- can be defined in environment files or directly in the main
539- configuration file. For example, the configuration of a filesystem
540- storage with the code fsprod can be provided in the main configuration
541- file as follows:</ p >
542- < pre class ="code ini literal-block ">
543- < span class ="k "> [fs_storage.fsprod]</ span > < span class ="w ">
544- </ span > < span class ="na "> protocol</ span > < span class ="o "> =</ span > < span class ="s "> s3</ span > < span class ="w ">
545- </ span > < span class ="na "> options={"endpoint_url"</ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="s "> "https://my_s3_server/"</ span > < span class ="na "> , "key"</ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="s "> "KEY"</ span > < span class ="na "> , "secret"</ span > < span class ="o "> :</ span > < span class ="w "> </ span > < span class ="s "> "SECRET"</ span > < span class ="na "> }</ span > < span class ="w ">
546- </ span > < span class ="na "> directory_path</ span > < span class ="o "> =</ span > < span class ="s "> my_bucket</ span >
547- </ pre >
548- < p > To work, a storage.backend record must exist with the code fsprod into
549- the database. In your configuration section, you can specify the value
550- for the following fields:</ p >
551- < ul class ="simple ">
552- < li > protocol</ li >
553- < li > options</ li >
554- < li > directory_path</ li >
555- </ ul >
556- < p > When evaluating directory_path, < tt class ="docutils literal "> {db_name}</ tt > is replaced by the
557- database name. This is usefull in multi-tenant with a setup completly
558- controlled by configuration files.</ p >
559- </ div >
560531< div class ="section " id ="migration-from-storage-backend ">
561- < h3 > < a class ="toc-backref " href ="#toc-entry-4 "> Migration from storage_backend</ a > </ h3 >
532+ < h3 > < a class ="toc-backref " href ="#toc-entry-3 "> Migration from storage_backend</ a > </ h3 >
562533< p > The fs_storage addon can be used to replace the storage_backend addon.
563534(It has been designed to be a drop-in replacement for the
564535storage_backend addon). To ease the migration, the fs.storage model
@@ -583,7 +554,7 @@ <h3><a class="toc-backref" href="#toc-entry-4">Migration from storage_backend</a
583554</ div >
584555</ div >
585556< div class ="section " id ="known-issues-roadmap ">
586- < h2 > < a class ="toc-backref " href ="#toc-entry-5 "> Known issues / Roadmap</ a > </ h2 >
557+ < h2 > < a class ="toc-backref " href ="#toc-entry-4 "> Known issues / Roadmap</ a > </ h2 >
587558< ul class ="simple ">
588559< li > Transactions: fsspec comes with a transactional mechanism that once
589560started, gathers all the files created during the transaction, and if
@@ -598,40 +569,40 @@ <h2><a class="toc-backref" href="#toc-entry-5">Known issues / Roadmap</a></h2>
598569</ ul >
599570</ div >
600571< div class ="section " id ="changelog ">
601- < h2 > < a class ="toc-backref " href ="#toc-entry-6 "> Changelog</ a > </ h2 >
572+ < h2 > < a class ="toc-backref " href ="#toc-entry-5 "> Changelog</ a > </ h2 >
602573< div class ="section " id ="section-1 ">
603- < h3 > < a class ="toc-backref " href ="#toc-entry-7 "> 19.0.1.1.0 (2026-03-18)</ a > </ h3 >
574+ < h3 > < a class ="toc-backref " href ="#toc-entry-6 "> 19.0.1.1.0 (2026-03-18)</ a > </ h3 >
604575< div class ="section " id ="features ">
605- < h4 > < a class ="toc-backref " href ="#toc-entry-8 "> Features</ a > </ h4 >
576+ < h4 > < a class ="toc-backref " href ="#toc-entry-7 "> Features</ a > </ h4 >
606577< ul class ="simple ">
607578< li > Replace {db_name} by the database name in directory_path
608579(< a class ="reference external " href ="https://github.com/OCA/storage/issues/db_name "> #db_name</ a > )</ li >
609580</ ul >
610581</ div >
611582</ div >
612583< div class ="section " id ="section-2 ">
613- < h3 > < a class ="toc-backref " href ="#toc-entry-9 "> 18.0.2.1.0 (2025-10-20)</ a > </ h3 >
584+ < h3 > < a class ="toc-backref " href ="#toc-entry-8 "> 18.0.2.1.0 (2025-10-20)</ a > </ h3 >
614585< div class ="section " id ="features-1 ">
615- < h4 > < a class ="toc-backref " href ="#toc-entry-10 "> Features</ a > </ h4 >
586+ < h4 > < a class ="toc-backref " href ="#toc-entry-9 "> Features</ a > </ h4 >
616587< ul class ="simple ">
617588< li > Replace {db_name} by the database name in directory_path
618589(< a class ="reference external " href ="https://github.com/OCA/storage/issues/db_name "> #db_name</ a > )</ li >
619590</ ul >
620591</ div >
621592</ div >
622593< div class ="section " id ="section-3 ">
623- < h3 > < a class ="toc-backref " href ="#toc-entry-11 "> 18.0.2.0.1 (2025-07-23)</ a > </ h3 >
594+ < h3 > < a class ="toc-backref " href ="#toc-entry-10 "> 18.0.2.0.1 (2025-07-23)</ a > </ h3 >
624595< div class ="section " id ="features-2 ">
625- < h4 > < a class ="toc-backref " href ="#toc-entry-12 "> Features</ a > </ h4 >
596+ < h4 > < a class ="toc-backref " href ="#toc-entry-11 "> Features</ a > </ h4 >
626597< ul class ="simple ">
627598< li > Allow setting check_connection_method in configuration file.</ li >
628599</ ul >
629600</ div >
630601</ div >
631602< div class ="section " id ="section-4 ">
632- < h3 > < a class ="toc-backref " href ="#toc-entry-13 "> 18.0.1.0.1 (2024-11-10)</ a > </ h3 >
603+ < h3 > < a class ="toc-backref " href ="#toc-entry-12 "> 18.0.1.0.1 (2024-11-10)</ a > </ h3 >
633604< div class ="section " id ="features-3 ">
634- < h4 > < a class ="toc-backref " href ="#toc-entry-14 "> Features</ a > </ h4 >
605+ < h4 > < a class ="toc-backref " href ="#toc-entry-13 "> Features</ a > </ h4 >
635606< ul class ="simple ">
636607< li > Invalidate FS filesystem object cache when the connection fails,
637608forcing a reconnection.
@@ -640,7 +611,7 @@ <h4><a class="toc-backref" href="#toc-entry-14">Features</a></h4>
640611</ div >
641612</ div >
642613< div class ="section " id ="section-5 ">
643- < h3 > < a class ="toc-backref " href ="#toc-entry-15 "> 16.0.1.1.0 (2023-12-22)</ a > </ h3 >
614+ < h3 > < a class ="toc-backref " href ="#toc-entry-14 "> 16.0.1.1.0 (2023-12-22)</ a > </ h3 >
644615< p > < strong > Features</ strong > </ p >
645616< ul class ="simple ">
646617< li > Add parameter on storage backend to resolve protocol options values
@@ -649,7 +620,7 @@ <h3><a class="toc-backref" href="#toc-entry-15">16.0.1.1.0 (2023-12-22)</a></h3>
649620</ ul >
650621</ div >
651622< div class ="section " id ="section-6 ">
652- < h3 > < a class ="toc-backref " href ="#toc-entry-16 "> 16.0.1.0.3 (2023-10-17)</ a > </ h3 >
623+ < h3 > < a class ="toc-backref " href ="#toc-entry-15 "> 16.0.1.0.3 (2023-10-17)</ a > </ h3 >
653624< p > < strong > Bugfixes</ strong > </ p >
654625< ul class ="simple ">
655626< li > Fix access to technical models to be able to upload attachments for
@@ -658,7 +629,7 @@ <h3><a class="toc-backref" href="#toc-entry-16">16.0.1.0.3 (2023-10-17)</a></h3>
658629</ ul >
659630</ div >
660631< div class ="section " id ="section-7 ">
661- < h3 > < a class ="toc-backref " href ="#toc-entry-17 "> 16.0.1.0.2 (2023-10-09)</ a > </ h3 >
632+ < h3 > < a class ="toc-backref " href ="#toc-entry-16 "> 16.0.1.0.2 (2023-10-09)</ a > </ h3 >
662633< p > < strong > Bugfixes</ strong > </ p >
663634< ul class ="simple ">
664635< li > Avoid config error when using the webdav protocol. The auth option is
@@ -671,23 +642,23 @@ <h3><a class="toc-backref" href="#toc-entry-17">16.0.1.0.2 (2023-10-09)</a></h3>
671642</ div >
672643</ div >
673644< div class ="section " id ="bug-tracker ">
674- < h2 > < a class ="toc-backref " href ="#toc-entry-18 "> Bug Tracker</ a > </ h2 >
645+ < h2 > < a class ="toc-backref " href ="#toc-entry-17 "> Bug Tracker</ a > </ h2 >
675646< p > Bugs are tracked on < a class ="reference external " href ="https://github.com/OCA/storage/issues "> GitHub Issues</ a > .
676647In case of trouble, please check there if your issue has already been reported.
677648If you spotted it first, help us to smash it by providing a detailed and welcomed
678649< a class ="reference external " href ="https://github.com/OCA/storage/issues/new?body=module:%20fs_storage%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior** "> feedback</ a > .</ p >
679650< p > Do not contact contributors directly about support or help with technical issues.</ p >
680651</ div >
681652< div class ="section " id ="credits ">
682- < h2 > < a class ="toc-backref " href ="#toc-entry-19 "> Credits</ a > </ h2 >
653+ < h2 > < a class ="toc-backref " href ="#toc-entry-18 "> Credits</ a > </ h2 >
683654< div class ="section " id ="authors ">
684- < h3 > < a class ="toc-backref " href ="#toc-entry-20 "> Authors</ a > </ h3 >
655+ < h3 > < a class ="toc-backref " href ="#toc-entry-19 "> Authors</ a > </ h3 >
685656< ul class ="simple ">
686657< li > ACSONE SA/NV</ li >
687658</ ul >
688659</ div >
689660< div class ="section " id ="contributors ">
690- < h3 > < a class ="toc-backref " href ="#toc-entry-21 "> Contributors</ a > </ h3 >
661+ < h3 > < a class ="toc-backref " href ="#toc-entry-20 "> Contributors</ a > </ h3 >
691662< ul class ="simple ">
692663< li > Laurent Mignon << a class ="reference external " href ="mailto:laurent.mignon@acsone.eu "> laurent.mignon@acsone.eu</ a > ></ li >
693664< li > Sébastien BEAU << a class ="reference external " href ="mailto:sebastien.beau@akretion.com "> sebastien.beau@akretion.com</ a > ></ li >
@@ -696,7 +667,7 @@ <h3><a class="toc-backref" href="#toc-entry-21">Contributors</a></h3>
696667</ ul >
697668</ div >
698669< div class ="section " id ="maintainers ">
699- < h3 > < a class ="toc-backref " href ="#toc-entry-22 "> Maintainers</ a > </ h3 >
670+ < h3 > < a class ="toc-backref " href ="#toc-entry-21 "> Maintainers</ a > </ h3 >
700671< p > This module is maintained by the OCA.</ p >
701672< a class ="reference external image-reference " href ="https://odoo-community.org ">
702673< img alt ="Odoo Community Association " src ="https://odoo-community.org/logo.png " />
0 commit comments