Hello Sebastien,

I was just trying to find a solution for this yet again and I noticed there
is no complete module out there for product images that is accessible to
everyone (you are right about the default_code)

This is an interesting project and I hope to contribute to it if I can,
code, testing etc

Thanks for you efforts and keep us posted


On Wed, May 14, 2014 at 11:44 AM, Markus Schneider <
markus.schnei...@initos.com> wrote:

> Hi Sebastien,
>
> we just looking on your solution to get ideas how to implemented a
> Attachment field with additional meta data. This helps us a lot, thank
> you for sharing your work.
>
> So i just want to share my thoughts about your implementation. So you
> solve two problems in one module. I suggest to split it.
>
> 1) Part: Giving us a new field typ which store more metadata for a file,
> like Imagesize.
>
> 2) Part: Changing the storage behaviour of ir.attachment. So for your
> case, that you can store the files in a separate path in the
> file-system. (I think the reason is to provide them directly with other
> fast web server).
>
> As i know there are some other concepts to extend the storage location
> for ir.attachment like MongoDB or some cloud specific API. So at the end
> it would be great to combine some metadata binary field with some
> storage location module total free.
>
> Kind Regards
>
> Markus
>
> On 01.05.2014 11:55, Sebastien Beau wrote:
> > Hi all,
> >
> > If like me you want to store image and binary in you file system instead
> > of the database this mail can interest you.
> >
> > Since version 6 we make some improvement in the product image module in
> > order to be able to store image in the file system
> > (
> http://bazaar.launchpad.net/~product-core-editors/openerp-product-attributes/7.0/files/head:/product_images/
> )
> > But I am not satisfy by the work done (I did it) because this
> > implementation only support the image of product. More over we use the
> > product default code in the path for storing the image and this make
> > mandatory the default code on product which do not fit with every
> customer.
> >
> > After thinking twice, I think the best solution is to introduce new type
> > of field that will manage the storage for us. Indeed if we implement
> > this with a field, we can use it everythere (product, category, user,
> > company....)
> >
> > Here is my proposal:
> > Adding 3 new fields:
> > - BinaryField
> > - ImageField
> > - ImageResizeField
> >
> >
> > An exemple of how using it will be this :
> >
> >
> >     _columns = {
> >         '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,
> >             ),
> >     }
> >
> > Adding this kind of field will also create this field (on fly):
> >
> > - binary_test_info_id
> > - image_test_info_id
> > - image_test_resize_info_id
> >
> > Why adding this field?
> > The aim is simple, I want to read the metadata of my image (path, size,
> > extension...)
> > For exemple, if you build an external application maybe you want to get
> > the path of the image.
> > In this case you just have to do
> > "product.image_test_info_id.store_fname" and you get the path.
> > Acceding to the image with you external application using the images
> > served by nginx (or apache) is really easy.
> >
> > I know that "Explicit is better than implicit." but I think It will be a
> > paint to add this field manually. I don't see any other solution that
> > make easy (and compatible with the existing API) to access to the image
> > content or to the image metadata (using the context is not a good idea
> > because you may access to the content of a field and the information of
> > an other field at the same time)
> >
> >
> > I start a POC here :
> >
> https://code.launchpad.net/~akretion-team/server-env-tools/server-env-tools
> >
> > How this work
> >
> > First the object "binary.binary"
> > =================================
> >
> > It's just a table that store the metadata of my binary field (image,
> > pdf, video...) and store the path of the binary.
> >
> > I try to reuse the function to create/write/delete of the
> > "ir.attachment" class, because is kind of the same feature.
> >
> >
> > Then the new fields :
> > ========================
> >
> > BinaryField
> > --------------
> >
> > BinaryField is a function field with a "fnct" and a "fnct_inv" already
> > defined. Basically when I add a pdf in this kind of field, the "fnc_inv"
> > will create (or update) the "binary.binary" and store the id of the
> > "binary.binary" in the field "my_field_info_id"
> >
> >
> > ImageField
> > ---------------
> > ImageField inherit of BinaryField. The only difference is that
> > ImageField can have resized Image linked so this class will trigger a
> > refresh of resized image
> >
> >
> > ImageResizeField
> > -----------------
> > ImageResizeField inherit of ImageField. The best way to explain it is to
> > give an exemple. Let's say that we have added the fields "image_test"
> > and "image_test_resize" (like on the top of my email)
> >
> > First setting a image in "image_test"
> > -------------------------------------
> > If you set a image into the field "image_test" then the
> > "image_test_resize" will be refresh.
> > The ImageResizefield like the BinaryField create a "xxx_info_id" field.
> > So in this case the resized image is stored in a "binary.binary" and the
> > id of this binary is stored in "image_test_resize_info_id"
> >
> >
> > First setting a image in "image_test_resize"
> > ---------------------------------------------------
> > Giving the posibility to set the image from the resize field is
> > necessary (OpenERP already do that on product image).
> > So if you set an image in this king of field, the image will be store in
> > the ImageField related, this mean in the "image_test" and then the cache
> > of the ImageResizeField will be refresh.
> >
> >
> > If you need more details, ask me. I will push some change/fix in the
> > branch so be carefull when you update the code when you test it.
> > (creating a new db after pulling the code maybe the best idea)
> >
> >
> > If you are ok with that I will propose a new version of product_image
> > based on it.
> >
> > If you have better naming idea, share it !
> >
> > Thanks for your feedback.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> Dipl.-Comp.-Math. Markus Schneider
> Softwareentwickler
>
> initOS GmbH & Co. KG
> An der Eisenbahn 1
> 21224 Rosengarten
>
> Mobil:   +49 (0)172 2303699
> Phone:   +49 (0)4105 5615613
> Fax:     +49 (0)4105 5615610
>
> Email:   markus.schnei...@initos.com
> Web:     http://www.initos.com
>
> Geschäftsführung:
> Dipl. Wirt.-Inf. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
> Haftende Gesellschafterin: initOS Verwaltungs GmbH
>
> Sitz der Gesellschaft: Rosengarten – Klecken
> Amtsgericht Tostedt, HRA 201840
> USt-IdNr: DE 275698169
> Steuer-Nr: 15/205/21402
>
> --
> Mailing list: https://launchpad.net/~openerp-connector-community
> Post to     : openerp-connector-community@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openerp-connector-community
> More help   : https://help.launchpad.net/ListHelp
>
-- 
Mailing list: https://launchpad.net/~openerp-connector-community
Post to     : openerp-connector-community@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openerp-connector-community
More help   : https://help.launchpad.net/ListHelp

Reply via email to