Nuxeo mailing list archives
[Nuxeo-tickets] [Nuxeo Repository] #1830: DataModel/Adapters should
write only what's necessary
Nuxeo Repository
trac at nuxeo.com
Sun Apr 15 17:27:06 CEST 2007
#1830: DataModel/Adapters should write only what's necessary
------------------------+---------------------------------------------------
Reporter: gracinet | Owner: gracinet
Type: defect | Status: new
Priority: P1 | Milestone: CPS 3.4.4
Component: CPSSchemas | Version: TRUNK
Severity: major | Keywords:
------------------------+---------------------------------------------------
DataModel has the concept of '''dirty''' field: a field whose value has
been changed and therefore must be written. In CPS <= 3.4.3, this is used
only to avoid heavy computations, like transforms. It is necessary to
avoid writing non-dirty fields. Use-cases:
* Some read expressions can be used to derive data from another source (a
parent folder, for instance). This data should not be stored if we want it
to stay dynamically in sync with the source. write_ignore_storage is not a
valid option when we want further the user to be able to manually update
it
* In MetaDirectory, if a backend is read-only, this directly avoids
writing to said backend.
* Overall performance issues with distant sources.
In [50922] and followers in CPSSchemas and CPSDirectory, this was
implemented by simply restricting what's being sent to adapters.
Unfortunately, this is not good enough, because adapters take care of
write expressions, and some of these might need both dirty and unchanged
fields.
This breaks for instance editing of user entries in some ldap setups
because cross-sets neeed the unchanged used ids to write in groups
directory.
The adapters should be passed the full data and indication of what has to
be written.
--
Ticket URL: <https://svn.nuxeo.org/trac/pub/ticket/1830>
Nuxeo Repository <http://www.cps-project.org/>
Nuxeo Repository
This list archive provided by Nuxeo, the
leaders of open source ECM.
Check out the Nuxeo 5 open source,
standards-based ECM project.