Comment 107 for bug 1160365

Revision history for this message
Fabien (Open ERP) (fp-tinyerp) wrote : Re: [Bug 1160365] Re: [7.0] incorrect handling of contact/companies for invoicing and related purposes

> Your model *is not backward compatible*, and today, the addons have not
> been changed to be compatible with your new data model.
> Do the official addons have been modified to use
> 'partner_id.commercial_id' instead of 'partner_id'?

There are probably some bugs that we may have missed, but we do think
the data model is good and we don't think there are a lot of bugs.

So, if you agree on the semantic and the data model, let's move forward
and test to check if there are bugs or not. If you find dozens of bugs,
we may change our mind otherwise, it's better to just fix what we may
have missed.

I guess Olivier will have finished it's implementation today (he
finished yesterday, but he still had to develop the extra module with
the extra related field)

My proposition is to test Olivier's branch once it's cleaned.

> Do the 3000 community addons you are so proud of have been modified to
> use it? No

Yes, all modules have to be slightly adapted to v7, not only because of
this change. 100% of the objects and views have been modified. It's a
lot of small changes, but not that difficult to adapt. So, whether we
would have done this change or not, porting a module to v7 always
require adaptation.

We understand that breaking compatibility between versions is a real
pain. (it's also a strong pain & cost for us) We usually try to avoid
this when we can.

But sometimes it's better to promote evolution rather than sticking to
an old model. We do it only if the new model is worth the change. We do
think that the new model is a strong improvement (B2C compatible, better
usability, hierarchies handled efficiently and compatible with
base_contact's semantic -> these are 4 solid arguments that are worth
the evolution)

> Worse, the field is still called 'partner_id', so the addons will still
> behave, but incorrectly.
> The whole point was to say: if we ensure that we only have a 'commercial
> entity' in the field 'partner_id', we are backward compatible.
> Summarizing:
> Yesterday (6.1) in partner_id: only 'commercial entity', modules using
> them as commercial entities
> Today (7.0) in partner_id: any type of partner, but modules still using
> them, wrongly, as commercial entities
>
> Do you see the problem?

Yes, but I do not think it's just a problem of naming fields.

There are lots of small others reasons that will make you to adapt your
module if you want to port to v7. So, in any case you will have to adapt
your module.

As it's done now, we prefer to not change the stable release. (and a
change in nearly all official modules)

We also prefer not to have partner_id, address_id on the invoice as this
does not reflect the new semantic:
  -> Joël is not an address anymore, it's a company representative.
  -> the main field is partner_id which is logic (the other one if just
     a function field)

Thanks,

--
Fabien Pinckaers
CEO OpenERP
Chaussée de Namur 40
B-1367 Grand-Rosière
Belgium
Phone: +32.81.81.37.00
Fax: +32.81.73.35.01
Web: http://openerp.com