Comment 2 for bug 648667

Revision history for this message
Raphaƫl Valyi - http://www.akretion.com (rvalyi) wrote : Re: 1600 attributes limitation

Hello Guewen,

Actually I think there is a design issue in the connector (but it's like this because OpenObject v5 had implementation issues). Let me explain: as long as your don't have tons of attributes, the current solution works.

Now, if your Magento has dozens of attribute sets with each dozens/hundreds of attributes, all attributes will be created in the product table in OpenERP and indeed that's an issue as you notice here.

Actually, instead of wrapping all Magento attributes inside the product_product OpenERP table, we whould have used the '_inherits' OpenERP features: every Magento attribute set likess 'shoes' would define a new OpenERP object with its onw table like 'product_shoes'. This table would hold the 'shoes' attributes and inherits from the OpenERP product_product object/table.
Shoes attributes would be read only when required and the rest of the time, only standard common attributes would be fetched.

We aren't stupid and though about doing that since the beginning with Sharoon Thomas. Sharoon even tried by mid 2009, but OpenERP v5 would support it at the ORM level: there were 2 levels of inherits (product_shoes inherits product_product inherits product_template) and multiple dynamically defined inheritances. First tests have shown OpenERP would blow out in many bugs, so we abandoned the idea.

However, it would be interesting to know if that's doable in OpenERP v6, may be as the general quality of the ORM has been improved. Supposing OpenObject would support it, that's a moderately difficult development. IMHO the biggest issue would be to migrate between one connector version to an other.

I don't know if you can think about work around for your specific case, but in the absolute I think what I describe would be the right solution.

Thoughts?