Search 1.9 billion lines of Odoo code on GitHub

ir_attachment_s3

Author: IT-Projects LLC, Ildar Nasyrov
License: AGPL-3
Branch: 13.0-web_debranding-port
Repository: trojikman/misc-addons
Dependencies: base, base_setup, ir_attachment_url, and web
Languages: HTML (185, 16.1%), PO File (352, 30.6%), Python (382, 33.2%), XML (67, 5.8%), and reStructuredText (164, 14.3%)
Other branches: 10.0, 10.0-inventory_adjustment_barcode, 11.0, 11.0-web_debranding-placeholder, 12.0, 12.0-ir_attachment_url-fix-version, 12.0-pad_crm, 12.0-project_task_subtask-port, 12.0-theme_kit, 13.0, 13.0-fix-typo, 13.0-ir_attachment_s3-port-2020-changed-docs-backup, 13.0-ir_attachment_url-docs, 13.0-ir_attachment_url-update-docs, 13.0-odoo_backup_sh_google_disc, 13.0-update-config, 14.0, 14.0-ir_attachment_s3, and 9.0
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/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, 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

<h1 class="title">S3 Attachment Storage</h1> <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> <h2>Roadmap</h2> <ul class="simple"> <li>Rewrite this module from scratch. Module must include:<ul> <li>Storing s3-related settings: bucket, access key and access password.</li> <li>Methods for reading, writing and deleting objects from s3 bucket. Those methods can be used in other modules</li> <li>Working with s3 objects like binary data, so take away <cite>ir_attachment_url</cite> dependency</li> <li><cite>ir_attachment</cite> model must have <cite>s3_store_fname</cite> field. Non-falsy value means, that attachment is stored in s3</li> </ul> </li> <li>Create new module <cite>ir_attachment_image</cite> and move following classes, methods from this module to new one:<ul> <li>class <cite>BinaryExtended</cite> (excluding s3-related check)</li> <li>class <cite>IrAttachmentResized</cite></li> <li>partially class <cite>IrAttachment</cite>. Leave s3-related methods here and <cite>_inverse_datas</cite></li> <li>method <cite>test_getting_cached_images_url_instead_computing</cite>. Probably this modules's test must override test from <cite>ir_attachment_image</cite></li> <li><cite>ir_attachment_s3</cite> is dependency of <cite>ir_attachment_image</cite></li> </ul> </li> <li>Refactoring:<ul> <li><cite>S3Setting.upload_existing</cite> and <cite>IrAttachment._inverse_datas</cite> look almost equal</li> </ul> </li> <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> </ul> </li> </ul> <a name="credits"></a> <h2>Credits</h2> <a name="contributors"></a> <h3>Contributors</h3> <ul class="simple"> <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> <a name="sponsors"></a> <h3>Sponsors</h3> <ul class="simple"> <li><a class="reference external" href="https://it-projects.info">IT-Projects LLC</a></li> </ul> <a name="maintainers"></a> <h3>Maintainers</h3> <ul> <li><p class="first"><a class="reference external" href="https://it-projects.info">IT-Projects LLC</a></p> <blockquote> <p>To get a guaranteed support you are kindly requested to purchase the module at <a class="reference external" href="https://apps.odoo.com/apps/modules/12.0/ir_attachment_s3/">odoo apps store</a>.</p> <p>Thank you for understanding!</p> <p><a class="reference external" href="https://www.it-projects.info/team">IT-Projects Team</a></p> </blockquote> </li> </ul> <a name="further-information"></a> <h2>Further information</h2> <p>HTML Description: <a class="reference external" href="https://apps.odoo.com/apps/modules/12.0/ir_attachment_s3/">https://apps.odoo.com/apps/modules/12.0/ir_attachment_s3/</a></p> <p>Usage instructions: <a class="reference external" href="doc/index.rst">doc/index.rst</a></p> <p>Changelog: <a class="reference external" href="doc/changelog.rst">doc/changelog.rst</a></p> <p>Tested on Odoo 12.0 b535558d23778a8960fcdc494067b70fe9c8ecab</p>