← Back to team overview

openerp-community team mailing list archive

Re: Image store problem in Odoo

 

Hi all,

I worked on this during the last month and I need your feedback
https://code.launchpad.net/~akretion-team/server-env-tools/server-env-tools

The aim of my first module is to implement new kind of fields

BinaryField
ImageField
ImageResizeField


All of this fields will be store on the file system by default and not in
the
database. If you want to store it on an other support (database, S3, ftp,
SFTP...)
Then you should create your own 'storage class' and use your custom
'storage
class' instead

The default Storage class will store the field on the file system and build
the path like that

 BASE_LOCATION/DB_NAME/MODEL-FIELD/XXX/YYYYY

with

- BASE_LOCATION: the base location configured in ir.config_parameter
- DB_NAME:  your database name
- MODEL-FIELD: the concatenation of the name of the model with the name of
the
field, for example 'product_product-image'
- XXX: the first 3 letter of the file name build with their sha1 hash
- YYYYYY: file name build with their sha1 hash

Here is an example of field declaration

    'binary_test': fields.BinaryField('Test Binary'),
    'image_test': fields.ImageField('Test Image'),
    'image_test_resize': fields.ImageResizeField(
        related_field='image_test',
        string='Test Image small',
        height=64,
        width=64,
        ),



If you want to see to a real implementation take a look here :
http://bazaar.launchpad.net/~akretion-team/openerp-product-attributes/openerp-product-attributes-product-image/view/head:/product_image/product_image.py#L38


You can also try this module to understand better the way it work. (Note
resize field will be recomputed automatically as this field depend of
refernce field)

As you can see I have a custom path based on the model-field. I need this
because I want to serve some image directly from nginx without using
OpenERP/Odoo. If I use the same path for all of the binary/image then I
will be not able to choose what I want to share with nginx.


Hope this can help you.


2014-06-11 12:45 GMT+02:00 Falinwa Hans <hans.yonathan@xxxxxxxxxxx>:

> Hi Tony,
>
>
>
> Wow, I look on the code, and its very beautiful.
>
> Thanks for the solution, I think it will solved the problem for now.
>
> Very appreciated it.
>
> I remember that you developed oe_cn_fonts module too.
>
> It’s a great work.
>
>
>
> Hi Franck Bret,
>
>
>
> Thanks for the information, its nice to see that we have the same problem
> in this topic.
>
>
>
>
>
> Thank You.
>
>
>
> Best Regards,
>
> *Hans Yonathan*
>
> *OpenERP Support*
>
> FALINWA Limited
>
> *Expert in Finance & Business Intelligence*
>
> *OpenERP Partner*
>
> *Website: **www.falinwa.com* <http://www.falinwa.com/>
>
>
>
> On 06/11/2014 06:28 PM, Tony Gu wrote:
>
>
>
> Hi Hans,
>
> You may be interested to have a look at our module here:
> https://github.com/shine-it/product_image_filestore
> The image on product can be save as an attachment of the product and
> display correctly on the product form. If you have product image stored in
> database already, this module will also extract the binary and store it
> back to file store.
>
> Have fun!
>
>
>
>
>
> *From:* Franck Bret [via OpenERP Community] [mailto:[hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645761&i=0>]
> *Sent:* Wednesday, June 11, 2014 6:31 PM
>
> *To:* Falinwa Hans
> *Subject:* Re: [Openerp-community] Image store problem in Odoo
>
>
>
> there is a community call for discussion around this here, hope it helps
>
> https://twitter.com/Seb_Beau/status/474847322887974912
>
> https://code.launchpad.net/~akretion-team/server-env-tools/server-env-tools
>
> Interesting read and module too here :
>
> https://bitbucket.org/anybox/advanced_attachment
> http://docs.anybox.fr/advanced_attachment/current/
>
> Le 11/06/2014 11:48, Falinwa Hans a écrit :
>
> Hi Yannick,
>
>
>
> Thx for your response.
>
> I see the code, and it’s a nice idea. I will keep it on myself.
>
>
>
> It will be nicer if the improvement is made from Odoo framework itself.
>
>
>
> Thank You.
>
>
>
> Best Regards,
>
> *Hans Yonathan*
>
> *OpenERP Support*
>
> FALINWA Limited
>
> *Expert in Finance & Business Intelligence*
>
> *OpenERP Partner*
>
> *Website: **www.falinwa.com* <http://www.falinwa.com/>
>
>
>
> *From:* Yannick Buron-2 [via OpenERP Community] [mailto:[hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645759&i=0>]
> *Sent:* Wednesday, June 11, 2014 5:06 PM
> *To:* Falinwa Hans
> *Subject:* Re: [Openerp-community] Image store problem in Odoo
>
>
>
> +1 I have the same problem with the marketplace module in
> communityTools. We need to have pictures displayed on the announcements,
> and I really don't want to store them in database.
>
> I worked on the problem three month ago, and at this time the problem
> was : There was no way to store the content of binary fields on the
> ir.attachments, and thus store the content in filesystem.
> When you set the ir_location key in system configuration, ir.attachments
> are correctly stored in filesystem, the problem is really the fact that
> there is no link between binary fields and ir.attachments.
>
> I tried to make a workaround in my module, please see
>
> http://bazaar.launchpad.net/~yannick-buron/openerp-communitytools/trunk/view/head:/marketplace/marketplace.py
>
> starting line 173. It almost work, the content is stored in filesystem,
> but unfortunately then it's not displayed back correctly on the form in
> the picture widget. I only spent some hours on this problem, so maybe
> there is little to correct to make it works.
>
> This was an issue three month ago, with the ecommerce module I really
> hope that Odoo SA worked on this because having such limitations on
> binary fields is really a pain. Does someone have some news regarding
> this matter?
>
> Yannick.
>
>
> Le 11/06/2014 10:49, Falinwa Hans a écrit :
>
>
> > Hi Guys,
> >
> > I find that the image in Odoo is stored in database.
> > Did we can change the configuration so it can stored in the file system?
> > I can't find the tutorial anywhere. So I think we cannot.
> >
> > What I know is we can change the configuration when we want to store the
> > attachment, but its different case in image.
> >
> > I think its an important feature for Odoo, importantly Odoo will have an
> > e-commerce and website builder feature which we will have a lot of image
> in
> > Odoo.
> >
> > I find that its very important and there's a problem when the image is
> > stored in database :
> > 1. Odoo not convert the size/resolution of the image. (We must warned
> the
> > end user to only just upload a small size of file, which usually user
> always
> > make a mistake)
> > 2. Its very hard to make an importation on image
> > 3. The database will be very big because of image, and it will be hard
> to
> > make a dump file(backup and restore) in web interface.
> > (which end user always use this feature to make a test database which
> image
> > is not important in here)
> >
> > If we can change the configuration so we can store it in file system and
> > save the database only the name of file. We will have advantage:
> > 1. It will be  easier to make an importation of image.
> > 2. We will not care about file size anymore because it save on file
> system.
> > 3. The database size will reduce greatly.
> >
> > Before I have a problem in attachment, when my database size raise to 2
> GB
> > which impossible to make a dump(backup and restore) in web interface.
> After
> > I change the configuration the database size reduce greatly to only 30
> MB.
> > So I think this problem will occur again if we begin to upload the image
> in
> > Odoo.
> >
> > Is there any solution for this?
> >
> > Thank You.
> >
> >
> >
> >
> > -----
> > Hans Yonathan
> > OpenERP Support
> > FALINWA Limited
> > Expert in Finance & Business Intelligence
> > OpenERP Silver Partner
> > Website: www.falinwa.com
> >
> > --
> > View this message in context:
> http://openerp-community.2306076.n4.nabble.com/Openerp-community-Image-store-problem-in-Odoo-tp4645755.html
> > Sent from the OpenERP Community mailing list archive at Nabble.com.
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~openerp-community
> > Post to     : [hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645757&i=0>
> > Unsubscribe : https://launchpad.net/~openerp-community
> > More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : [hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645757&i=1>
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
> ------------------------------
>
> *If you reply to this email, your message will be added to the discussion
> below:*
>
>
> http://openerp-community.2306076.n4.nabble.com/Openerp-community-Image-store-problem-in-Odoo-tp4645755p4645757.html
>
> To start a new topic under OpenERP Community, email [hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645759&i=1>
> To unsubscribe from OpenERP Community, click here.
> NAML
> <http://openerp-community.2306076.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
> Hans Yonathan
> OpenERP Support
> FALINWA Limited
> Expert in Finance & Business Intelligence
> OpenERP Silver Partner
> Website: www.falinwa.com
>
>
> ------------------------------
>
> View this message in context: RE: [Openerp-community] Image store problem
> in Odoo
> <http://openerp-community.2306076.n4.nabble.com/Openerp-community-Image-store-problem-in-Odoo-tp4645755p4645759.html>
> Sent from the OpenERP Community mailing list archive
> <http://openerp-community.2306076.n4.nabble.com/> at Nabble.com.
>
>
>
> _______________________________________________
>
> Mailing list: https://launchpad.net/~openerp-community
>
> Post to     : [hidden email] <http://user/SendEmail.jtp?type=node&node=4645760&i=0>
>
> Unsubscribe : https://launchpad.net/~openerp-community
>
> More help   : https://help.launchpad.net/ListHelp
>
>
>
>
> --
>
> Franck Bret
>
> ============
>
> Consultant fonctionel OpenErp
>
> ------------
>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4645760&i=1>
>
> Gsm. 0603906598
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : [hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645760&i=2>
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
>
>  ------------------------------
>
> *If you reply to this email, your message will be added to the discussion
> below:*
>
>
> http://openerp-community.2306076.n4.nabble.com/Openerp-community-Image-store-problem-in-Odoo-tp4645755p4645760.html
>
> To start a new topic under OpenERP Community, email [hidden email]
> <http://user/SendEmail.jtp?type=node&node=4645761&i=1>
> To unsubscribe from OpenERP Community, click here.
> NAML
> <http://openerp-community.2306076.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>  Hans Yonathan
> OpenERP Support
> FALINWA Limited
> Expert in Finance & Business Intelligence
> OpenERP Silver Partner
> Website: www.falinwa.com
>
> ------------------------------
> View this message in context: RE: [Openerp-community] Image store problem
> in Odoo
> <http://openerp-community.2306076.n4.nabble.com/Openerp-community-Image-store-problem-in-Odoo-tp4645755p4645761.html>
> Sent from the OpenERP Community mailing list archive
> <http://openerp-community.2306076.n4.nabble.com/> at Nabble.com.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References