Search 1.9 billion lines of Odoo code on GitHub

ir_attachment_s3

Author: IT-Projects LLC, Ildar Nasyrov
License: Other OSI approved licence
Branch: 14.0-web_website
Repository: brain-tec/misc-addons
Dependencies: base, base_setup, and ir_attachment_url
Languages: HTML (185, 16.6%), PO File (352, 31.5%), Python (241, 21.6%), XML (135, 12.1%), and reStructuredText (203, 18.2%)
Other branches: 10.0, 10.0-fix-546, 10.0-same-value, 10.0-same_value, 10.0-web_debranding-fix-regexp, 11.0, 11.0-demostrate-error, 11.0-dont-merge, 11.0-fix-nvd3, 11.0-theme_kit-tested-version, 11.0-web_debranding-readme-correct_spelling, 12.0, 12.0-merge-bot2, 12.0-web_multi_attachment_base, 13.0, 13.0-attachment_large_object, 13.0-project_timelog, 13.0-res_partner_country_code, 14.0-ir_attachment_s3, Railia-patch-1, Ramil-Mukhametzyanov11.0-web_debranding-readme-correct_spelling, Ramil-Mukhametzyanov11.0-web_website-docs-spelling, master, and yelizariev-patch-1
Other repositories: 001101/misc-addons, 2FM/misc-addons, ADVALAKI/misc-addons, Abdullah-Alghoul/misc-addons, AlvaroMolano/misc-addons, ArtyomLosev/misc-addons, Axon-System/misc-addons, BTETON/misc-addons, Banetese/misc-addons, ClearCorp/it-projects-misc-addons, CristianHR/misc-addons, DITIntl/misc-addons, Deanzou/misc-addons, Decikingship/misc-addons, Dobtor-it-projects-llc/misc-addons, Englishrain/misc-addons, Enigma228322/misc-addons, GabbasovDinar/misc-addons, Gio666/misc-addons, Gofekra/misc-addons, GrupoAlvamex/misc-addons, HelloXMFJ/misc-addons, Hellyna/misc-addons, HirenDangar/misc-addons, ITPerfectionists/misc-addons, Innoria/misc-addons, Jarongkorn/misc-addons, Jarsa/misc-addons, JazziMc/misc-addons, Jeisonpernia/misc-addons, KolushovAlexandr/misc-addons, KomarovAlea/misc-addons, KonosCL/misc-addons, LevelPrime/misc-addons, MYRCONSULTING/misc-addons, MadsackMediaStore/addons-yelizariev, MediaJockey/misc-addons, MihranThalhath/misc-addons, MjAbuz/misc-addons, NCS-75/misc-addons, NachoRaga/misc-addons, NeatNerdPrime/misc-addons, NigmatullinAN/misc-addons, NilmarShereef/misc-addons, Nucleoos/misc-addons, Numigi/it-projects-llc-misc-addons, ORETEK/misc-addons, Ommo73/misc-addons, Omolajacodec/misc-addons, Posland/misc-addons, PrenorSistemas/misc-addons-1, RL-OtherApps/misc-addons, RafiZz/misc-addons, Ramil-Mukhametzyanov/misc-addons, Raniani-lab/misc-addons, Rusllan/misc-addons, SaidHAMMANI/misc-addons, SeuMarco/misc-addons, TestMergeBot/misc-addons, TurBoss/misc-addons, UnixedIT/misc-addons, Uppley/misc-addons, VasiliyKorobatov/misc-addons, Vauxoo/addons-yelizariev, VitalPet/addons-yelizariev, WalcarDtx/misc-addons, Welltec/misc-addons, WohthaN/misc-addons, YevhenPechurin/misc-addons, YogeshMahera-SerpentCS/misc-addons, aaltinisik/misc-addons, abdelmaaboud/misc-addons, abdiiwan1841/misc-addons, abdo3247/misc-addons, abhi2105/misc-addons, adeel982010/misc-addons, adhoc-dev/misc-addons, agenterp/misc-addons, aitnasser/misc-addons, aka/misc-addons, akhdaniel/misc-addons, alangwansui/misc-addons, alhashash/misc-addons, alinolandry/misc-addons, amarildogolloshi/misc-addons, amendoncabh/misc-addons, andrewdacasto/misc-addons, angeloluidens/misc-addons, ankur1367/misc-addons, antherkiv/misc-addons, arafatx/misc-addons, aryajimbaran/misc-addons, aurestic/it-projects-llc-misc-addons, auyeung112002/misc-addons, avoinsystems/misc-addons, badiatarigan/misc-addons, bduong06/misc-addons, berpweb/misc-addons, bishalgit/misc-addons, brain-tec/sync-addons, brmad175/misc-addons, bunhin/misc-addons, c0debrain/misc-addons, cafonso/misc-addons, ciel-it/misc-addons, cleqo/misc-addons, cloudtrim/misc-addons, cocox/misc-addons, code-pack/misc-addons, consultingerp/misc-addons, corsisa/misc-addons, crbll0/misc-addons, cristinamartinrod/misc-addons, crtmneric/misc-addons, cvinh/misc-addons, dalhyncarrillo/misc-addons, damendieta/misc-addons, daramousk/misc-addons, dchemuser/misc-addons, devcolbj/misc-addons, diagramsoftware/it-projects-llc-misc-addons, diegobgl/misc-addons, dixgrake/misc-addons, don-systems/misc-addons, duyisu/misc-addons, dwtcourses/misc-addons, dynaz/misc-addons, edvillan15/misc-addons, efarias/misc-addons, ehtishamfaisal/misc-addons, ejabu/misc-addons, elmbadr/misc-addons, elperrofarelo/misc-addons, em230418/misc-addons, em230418/sync-addons, eneldoserrata/misc-addons, eng-eslam-a-y/misc-addons, enleth/misc-addons, eqms/misc-addons, eribowo/misc-addons, eslammohamed13/misc-addons, fanguloa/misc-addons, fauzi-tsani/misc-addons, franknsteincorp/misc-addons, fslibre/misc-addons, gameboy199/misc-addons, gandad/misc-addons, gastonfeng/misc-addons, germanponce/misc-addons, gfwalters/misc-addons, gitmehedi/misc-addons, gmlp/misc-addons, gorozcoh/misc-addons, gustotc/misc-addons, harsh3547/misc-addons, haryoran04/misc-addons, hassanfadl/misc-addons, hilarak/misc-addons, hinfo506/misc-addons, hokhyk/misc-addons, holohola/misc-addons, huntergps/misc-addons, iamyeonhan/misc-addons, iledarn/addons-yelizariev, ilmir-k/addons-yelizariev, indexa-git/misc-addons, ingenuitydev/misc-addons, innoving/misc-addons, ismalee/misc-addons, itpp-labs/misc-addons, itpp-labs/sync-addons, jaferrer/misc-addons, jamotion/misc-addons, jason156/misc-addons, jiad/misc-addons, joglomedia/misc-addons, jorgeluiso/misc-addons, joseponzo/misc-addons, kaadevelop/misc-addons, kaadevelopment/misc-addons, kalpanaslices/misc-addons, kevin070982/misc-addons, killvis/misc-addons, kn9/misc-addons, kotchasaan/misc-addons, krocket/misc-addons, l327253678/misc-addons, legalsylvain/misc-addons, leonidasthe300/misc-addons, lewis2000/misc-addons, lgrijalvah/misc-addons, linkitspa/misc-addons, llc-odoo/misc-addons, loftwah/misc-addons, lryain/misc-addons, lslaz1/misc-addons, maartenleijnse/misc-addons, maherjaballi/misc-addons, makeplerc/misc-addons, malakhA/misc-addons, manawi/misc-addons, marcelsavegnago/misc-addons, mardisiaw/misc-addons, marionumza/it-projects-llc-misc-addons, maurolguin1/misc-addons, mehdibenhac/misc-addons, meta-it/misc-addons, mgielissen/misc-addons, mhdsyarif/misc-addons, mikael85/misc-addons, mm82299/misc-addons, mohamedhabibchallouf/misc-addons, monksoftware/misc-addons, msntop/misc-addons, muk-projects/misc-addons, mustafirus/misc-addons, nabiforks/misc-addons, nathchan/misc-addons, nguyenductamlhp/misc-addons, nicolasramos/misc-addons, nimamsv/misc-addons, niulinlnc/misc-addons, niyaspavil/misc-addons, njeudy/misc-addons, novatorapps/misc-addons, nurdiny13/misc-addons, odoo-modules/misc-addons, odoobgorg/ITP-misc-addons, odoocn/misc-addons, odoofans/misc-addons, ogyr/misc-addons, omalbastin/misc-addons, oondeo/misc-addons, open-synergy/misc-addons, openmindltd/misc-addons, ovnicraft/misc-addons, phong-innomizetech/misc-addons, pnajman-modoolar/misc-addons, poehlmann/misc-addons, popcomputadores-desenv/misc-addons, pushnube/misc-addons, pythoner-3k/misc-addons, rainbow-studio-solution/misc-addons, raouf-haddada/misc-addons, rashikkathuria/misc-addons, ratnikov-in/misc-addons, ravishekharco/misc-addons, rezaghanimi/misc-addons, rimaster/misc-addons, rodrig92/misc-addons, royalline1/misc-addons, rudisulistyo/misc-addons, sadeqamin/misc-addons, salvatoretrimarchi/misc-addons, samirGuesmi/misc-addons, savoirfairelinux/misc-addons, sc4you/misc-addons, scbrianti/misc-addons, sergiocorato/misc-addons, sevir/misc-addons, sewisoft/misc-addons, shengyf1/misc-addons, shouyejing/misc-addons, sinandurgut07/misc-addons, sisboca/misc-addons, skmezanul/misc-addons, sm2x/misc-addons, smartapp-ep/misc-addons, soltein-net/misc-addons, songmonit/misc-addons, spacimek/misc-addons, sreejithcybrosys/misc-addons, steingabelgaard/misc-addons, su69ar/misc-addons, suningwz/misc-addons, sunshineLhj/misc-addons, sysadminmatmoz/misc-addons, techspawn/misc-addons, tentandtable/misc-addons, thinkopensolutions/itprojectsllc-misc-addons, thinkwelltwd/misc-addons, toney99/misc-addons, traviswaelbro/misc-addons, trojikman/misc-addons, ufaks/misc-addons, umair-gujjar/misc-addons, valenciaricardos/misc-addons, vcloud9ray/misc-addons, vdedyukhin/misc-addons, vidtsindia/misc-addons, vinaybhawsar/misc-addons, vishalkpatel86/misc-addons, vkuldeep/misc-addons, wahello/misc-addons, waileyco/misc-addons, weddingjuma/misc-addons, westlyou/misc-addons-1, wodeguaiguai/misc-addons, xAlphaOmega/misc-addons, xoe-labs/misc-addons, xtjie/misc-addons, yannickbh/misc-addons, yasmanycastillo/misc-addons, yasserkaddour/misc-addons, yelizariev/addons-yelizariev, yelizariev/sync-addons, youlong723687543/misc-addons, zahedbri/misc-addons, zambee/misc-addons, and zesov/misc-addons

<a class="reference external image-reference" href="https://itpp.dev"><img alt="Tested and maintained by IT Projects Labs" src="https://itpp.dev/images/infinity-readme.png" /></a> <a name="s3-attachment-storage"></a> <h2>S3 Attachment Storage</h2> <ul class="simple"> <li>The module allows to upload the attachments in Amazon S3 automatically without storing them in Odoo database. It will allow to reduce the load on your server. Attachments will be uploaded on S3 depending on the condition you specified in Odoo settings. So you can choose and manage which type of attachments should be uploaded on S3.</li> <li>It is useful in cases where your database was crashed, because you will be able to easily restore all attachments from external storage at any time.</li> <li>The possibility to use one external storage for any number of databases.</li> </ul> <a name="roadmap"></a> <h3>Roadmap</h3> <ul class="simple"> <li>In settings add options:<ul> <li>condition, if object in s3 must be stored as public (as it does now)</li> <li>condition, if object in s3 must be stored as private and think about, how to return it to user, 'cos you cannot use link to that. Possibly read from bucket and return and uncomment this: <a class="reference external" href="https://github.com/it-projects-llc/misc-addons/pull/775/files#r302856876">https://github.com/it-projects-llc/misc-addons/pull/775/files#r302856876</a></li> <li>how to name a file in s3 storage. As for now it is &quot;odoo/{hash}&quot;. Maybe we could add database name to filename</li> </ul> </li> <li>Fix these bugs (possible in ir_attachment_url):<ul> <li>After loading image url to existing product variant, image does not change in backend</li> <li>Set image with url, then upload other image as binary file (s3), backend shows old image. It can be fixed with clearing cache. Reason: there is no 'unique' parameter in image source attribute (&lt;img src)</li> <li>In backend. Set product image as binary file (s3), in product page it shows new image, in product list it shows old image. Reason: there is no 'unique' parameter in image source attribute (&lt;img src)</li> <li>Using <cite>website_sale</cite> addon. Upload main image to product variant. Then<ul> <li>in list of products old image is shown (bug)</li> <li>in product page main image is shown as main, previous main image is extra (maybe not a bug, but don't know how to remove previous main image)</li> </ul> </li> </ul> </li> <li>S3 Condition is ignored in attachment creation</li> </ul> <a name="sandbox"></a> <h3>Sandbox</h3> <p>To install local minio add following specification to your docker-compose.yml:</p> <pre> <code>services: # ... minio: image: minio/minio networks: *public # for doodba ports: - &quot;127.0.0.1:9000:9000&quot; environment: MINIO_ACCESS_KEY: &quot;admin&quot; MINIO_SECRET_KEY: &quot;password&quot; command: server /data volumes: - s3:/data:z volumes: # ... s3:</code> </pre> <p>Add to your <code>/etc/hosts</code> file:</p> <pre> <code>127.0.0.1 minio</code> </pre> <p>Now make minio publicly accessable:</p> <ul> <li><p class="first"><a class="reference external" href="https://docs.min.io/docs/minio-client-complete-guide.html">install minio client</a>, e.g.</p> <pre> <code>wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc</code> </pre> </li> <li><p class="first">create <em>alias</em></p> <pre> <code>./mc alias set local http://minio:9000 admin password</code> </pre> </li> <li><p class="first">create bucket</p> <pre> <code>./mc mb local/mybucket</code> </pre> </li> <li><p class="first">set policy</p> <pre> <code>./mc policy set public local/mybucket</code> </pre> </li> </ul> <p>Then set parameters:</p> <ul class="simple"> <li><code>s3.bucket</code>: <code>mybucket</code></li> <li><code>s3.access_key_id</code>: <code>admin</code></li> <li><code>s3.secret_key</code>: <code>password</code></li> <li><code>s3.endpoint_url</code>: <code>http://minio:9000</code></li> <li><code>s3.obj_url</code>: <code>http://minio:9000/mybucket/</code></li> </ul> <a name="questions"></a> <h3>Questions?</h3> <p>To get an assistance on this module contact us by email :arrow_right: <a class="reference external" href="mailto:help&#64;itpp.dev">help&#64;itpp.dev</a></p> <a name="contributors"></a> <h3>Contributors</h3> <ul class="simple"> <li><cite>Ivan Yelizariev &lt;https://twitter.com/yelizariev&gt;</cite></li> <li><cite>Ildar Nasyrov &lt;https://it-projects.info/team/iledarn&gt;</cite></li> <li><cite>Kolushov Alexandr &lt;https://it-projects.info/team/KolushovAlexandr&gt;</cite></li> <li><cite>Dinar Gabbasov &lt;https://it-projects.info/team/GabbasovDinar&gt;</cite></li> <li><cite>Eugene Molotov &lt;https://it-projects.info/team/em230418&gt;</cite></li> </ul> <hr class="docutils" /> <p>Odoo Apps Store: <a class="reference external" href="https://apps.odoo.com/apps/modules/14.0/ir_attachment_s3/">https://apps.odoo.com/apps/modules/14.0/ir_attachment_s3/</a></p> <p>Tested on <a class="reference external" href="https://github.com/odoo/odoo/commit/120366491f58a802deef68a17ebb26199ef829a2">Odoo 14.0</a></p>