External Referential Refactoring

Registered by Alexandre Fayolle - camptocamp on 2012-08-22

The current implementation of the multi-backend support in openopbject-extension/base_external_referential + e-commerce-addons/base_sale_multichannel is very awkward as it only uses openobject inheritance for the implementation, and different backends need a different implementation. The current solution uses decorators to handle this.

A better way is to decouple the code of the referential from the code responsible for the communication with the backend using the Bridge design pattern. In that way, the information needed to connect with the backend is stored in the referential, as well as information used to find the correct implementation of a Connector (backend specific) and a Mapping (backend specific). These objects do not live in the OpenERP database, and can be overriden on a per instance basis.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Alexandre Fayolle - camptocamp
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.