Re: DiskFile not cloned when published
Racinet Georges <[email protected]> Sun, 21 Jun 2009 12:12:57 +0200
| Newsgroups | gmane.comp.web.zope.cps.devel |
|---|---|
| Message-ID | <[email protected]> |
On Jun 18, 2009, at 1:21 PM, Racinet Georges wrote: > > On Jun 18, 2009, at 12:34 PM, Christophe Combelles wrote: > >> Racinet Georges a =E9crit : >>> On May 19, 2009, at 4:21 PM, Christophe Combelles wrote: >>>> Christophe Combelles a =E9crit : >>>>> Racinet Georges a =E9crit : >>>>>> >>>>>> On May 12, 2009, at 5:40 PM, Christophe Combelles wrote: >>>>>> >>>>>>> Thanks, I've finally backported some fixes for StorageAdapter, = >>>>>>> which was overwriting too many fields during a document update. >>>> >>>> There is a remaining bug with DiskFile, even on CPS 3.4.8. >>> Thanks for the report, Christophe. >>> Such detailed issue should belong int the trac : http://svn.nuxeo.org/t= rac/pub = >>> (log in as tracguest/tracguest) >>> If you eventually have a patch for this, I'd be glad to check it in. >> >> >> The corresponding ticket in the tracker is >> http://svn.nuxeo.org/trac/pub/ticket/1998 >> >> Did you have time to try a solution? (I didn't yet). > > Neither did I :-( > >> Is datamodel._set_editable the way to go? > > I don't think so, because if validation fails in another widget, = > then the change in title will be nevertheless commited (in the new = > version). > > A quick and a bit dirty solution would be to postpone this : = > DataModel could keep track of File title changes and apply them in = > dm._commit() > Something like datamodel.changeFileTitle(key, title) instead of = > datamodel[key].title =3D title. Now DataModel has to be smart enough to > understand that such a change is obsoleted by a change of the whole = > File object, but that's do-able. > > The main advantage of this approach is that it's less risky = > (regression, memory problems) than populating the datamodel with = > shallow copies of file objects (what would happen with subobjects, = > btw?) Finally I implemented the insulating approach. That seems to solve the = issue (could see that it had impact on regular files as well) Now let's use trac only for follow ups > > What do you think ? > > > >> >> >> >>>> >>>> >>>> Christophe >>>> >>>> >>>>>> >>>>>> Wow, I remember those fixes, one of the last generic work on = >>>>>> CPS I've done as a Nuxeo employee, >>>>>> The primary goal was to avoid useless writes in LDAP backing = >>>>>> directories, while still being able to update a meta directory = >>>>>> upstairs (for CPS specific fields that would be stored in = >>>>>> another - ZODB - backing). >>>>>> >>>>>> Did you backport this on your project for directories or = >>>>>> documents ? I've always wondered what the overall (positive, I = >>>>>> hope) performance impact in the case of documents would be, and = >>>>>> never had a chance to measure that. Any numbers to share ? >>>>> I've backported it for CPSDocuments, to avoid dataloss with = >>>>> DiskFile objects overwriting an already published file. This is = >>>>> not related to performance so I didn't measure anything. >>>>>> >>>>>> Cheers, >>>>>> >>>>>> -- = >>>>>> Georges Racinet, http://www.racinet.fr >>>>>> Zope/CPS/Plone expertise, assistance & development >>>>>> GPG: 0x4862FFF7 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> cps-devel mailing list >>>>>> http://lists.nuxeo.com/mailman/listinfo/cps-devel >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> cps-devel mailing list >>>>> http://lists.nuxeo.com/mailman/listinfo/cps-devel >>>> >>>> _______________________________________________ >>>> cps-devel mailing list >>>> http://lists.nuxeo.com/mailman/listinfo/cps-devel >>> -- = >>> Georges Racinet, http://www.racinet.fr >>> Zope/CPS/Plone expertise, assistance & development >>> GPG: 0x4862FFF7 >>> _______________________________________________ >>> cps-devel mailing list >>> http://lists.nuxeo.com/mailman/listinfo/cps-devel >> >> _______________________________________________ >> cps-devel mailing list >> http://lists.nuxeo.com/mailman/listinfo/cps-devel > > -- > Georges Racinet, http://www.racinet.fr > Zope/CPS/Plone expertise, assistance & development > GPG: 0x4862FFF7 > > > > > > > > _______________________________________________ > cps-devel mailing list > http://lists.nuxeo.com/mailman/listinfo/cps-devel -- Georges Racinet, http://www.racinet.fr Zope/CPS/Plone expertise, assistance & development GPG: 0x4862FFF7 _______________________________________________ cps-devel mailing list http://lists.nuxeo.com/mailman/listinfo/cps-devel