Hi,
@Yannick
I didn't try it on 8 version, and as the API have changed I have to
adapt it in order to implement it in the same way.
I talked to Raphael Collet about the storage of images, he like my idea.
I will try to take a look on it for 8 version during the weekend and I
will propose a MP to new version with the 8 API style before the end
of the month.
@Mariano Ruiz
hum interesting comment
What do you think by replacing it by
ImageField(..... resize_base_on="my_original_image", height=64, width=64)
and if the field resize_base_on is here than I have the same
behaviours as my previous class ImageResizeField, do you like it?
(note : fields height and width will be required if resize_base_on is
fill)
Also I am thinking about an other change, what to you think about
introducing an OpenERP/Odoo object "storing.configuration" and a field
"storing_configuration_id" on the model "ir.model.fields". The idea
will to use a default storing configuration for every field (on file
sytem for exemple) but after we will be able to customise on every
field from the backend where where you want to store each binary/image
fields (database, S3, ftp, SFTP, Filestore....)
Do you like the idea? (not so hard to implement)
Thanks for your feedback
2014-06-11 17:13 GMT+02:00 Yannick Buron <yannick.buron@xxxxxxxxx
<mailto:yannick.buron@xxxxxxxxx>>:
Thank you Sebastien, I think this is what we are all looking for.
I am currently testing it for the marketplace module. I have the
following error :
Traceback (most recent call last):
File "/opt/openerp/oct-dev/server/openerp/http.py", line 470, in dispatch
result = self._call_function(**self.params)
File "/opt/openerp/oct-dev/server/openerp/http.py", line 294, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/openerp/oct-dev/server/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/openerp/oct-dev/server/openerp/http.py", line 291, in checked_call
return self.endpoint(*a, **kw)
File "/opt/openerp/oct-dev/server/openerp/http.py", line 652, in __call__
return self.method(*args, **kw)
File "/opt/openerp/oct-dev/server/openerp/http.py", line 337, in response_wrap
response = f(*args, **kw)
File "/opt/openerp/oct-dev/web/addons/web/controllers/main.py", line 1046, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/opt/openerp/oct-dev/web/addons/web/controllers/main.py", line 1038, in _call_kw
return getattr(request.registry.get(model), method)(request.cr <http://request.cr>, request.uid, *args, **kwargs)
File "/opt/openerp/oct-dev/addons/mail/mail_thread.py", line 419, in write
result = super(mail_thread, self).write(cr, uid, ids, values, context=context)
File "/opt/openerp/oct-dev/server/openerp/osv/orm.py", line 3946, in write
result += self._columns[field].set(cr, self, id, field, vals[field], user, context=rel_context) or []
File "/opt/openerp/oct-dev/server/openerp/osv/fields.py", line 1287, in set
self._fnct_inv(obj, cr, user, id, name, value, self._fnct_inv_arg, context)
File "/opt/openerp/oct-dev/server-env-tools/binary_field/fields.py", line 156, in _fnct_write
obj, cr, uid, ids, field_name, value, args, context=context)
File "/opt/openerp/oct-dev/server-env-tools/binary_field/fields.py", line 128, in _fnct_write
res = storage.add(value)
File "/opt/openerp/oct-dev/server-env-tools/binary_field/fields.py", line 61, in add
_file_write(self.cr <http://self.cr>, self.uid, self.location, value)
TypeError: _file_write() takes exactly 4 arguments (5 given)
I checked the server/openerp/base/ir/ir_attachment.py line 129, it seems that the function changed :
def _file_write(self, cr, uid, value):
In general, all 'location' seems to have disappeared, in -file_read, _file_delete and _full_path.
I am using the latest trunk file. I guess the module may correctly work on V7.
Available this evening if you need.
Yannick.
Le 11/06/2014 15:43, Sebastien Beau a écrit :
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
<https://code.launchpad.net/%7Eakretion-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
<http://bazaar.launchpad.net/%7Eakretion-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 <mailto: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
<https://code.launchpad.net/%7Eakretion-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
<http://bazaar.launchpad.net/%7Eyannick-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 <http://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
<https://launchpad.net/%7Eopenerp-community>
> Post to : [hidden email]
<http://user/SendEmail.jtp?type=node&node=4645757&i=0>
> Unsubscribe : https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-community>
> More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-community>
Post to : [hidden email]
<http://user/SendEmail.jtp?type=node&node=4645757&i=1>
Unsubscribe : https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-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 <http://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 <https://launchpad.net/%7Eopenerp-community>
Post to :[hidden email] <http://user/SendEmail.jtp?type=node&node=4645760&i=0>
Unsubscribe :https://launchpad.net/~openerp-community <https://launchpad.net/%7Eopenerp-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
<https://launchpad.net/%7Eopenerp-community>
Post to : [hidden email]
<http://user/SendEmail.jtp?type=node&node=4645760&i=2>
Unsubscribe : https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-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 <http://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
<https://launchpad.net/%7Eopenerp-community>
Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
<mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-community>
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list:https://launchpad.net/~openerp-community <https://launchpad.net/%7Eopenerp-community>
Post to :openerp-community@xxxxxxxxxxxxxxxxxxx <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
Unsubscribe :https://launchpad.net/~openerp-community <https://launchpad.net/%7Eopenerp-community>
More help :https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-community>
Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
<mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openerp-community
<https://launchpad.net/%7Eopenerp-community>
More help : https://help.launchpad.net/ListHelp
_______________________________________________
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