Re: DiskFile not cloned when published
Racinet Georges <[email protected]> Thu, 18 Jun 2009 13:21:37 +0200
| Newsgroups | gmane.comp.web.zope.cps.devel |
|---|---|
| Message-ID | <[email protected]> |
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/tr= ac/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?) 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