From: Piotr F. <Pio...@we...> - 2006-06-28 12:26:50
|
Hi Last days our company tried to join two versioning products, CMFEditions=20 and StagingAddOn. There were some problems we have solved, however there=20 is still something to do. First I'll describe shortly what are the differences between CMFEditions=20 and StagingAddOn, because maybe You don't know that product.=20 StagingAddOn allow You to create a working copy (called 'new version')=20 of a document. This is just a simple copy of an object, called=20 "[oryginal_id]-new-version", existing in the same folder as oryginal=20 document. You may safely edit this working copy, while oryginal object=20 is still published and unchanged. When You publish a working copy,=20 oryginal document is renamed to "[oryginal_id]-old-version", and=20 "[oryginal_id]-new-version" is renamed to "[oryginal_id]". This is quite=20 simple, details are here: http://plone.org/products/stagingaddon Installing both, CMFEditions and StagingAddOn could be usefull, Staging=20 gives an automated creation of working copies, while Editions provides=20 better archivization method. Unfortunatelly StagingAddOn could not work with CMFEditions. The reason=20 was that Editions overrides portal_uidhandler tool (provided by=20 CMFUid.UniqueIdHandlerTool) but misses some functions of that tool. Looking at the code of CMFEditions I saw that overriding of=20 portal_uidhandler tool is not really necessary. All what is done is just=20 a renaming portal_uidhandler to portal_historyidhandler, and then=20 forwarding portal_uidhandler calls to portal_historyidhandler without=20 any modification (=20 http://dev.plone.org/collective/browser/CMFEditions/trunk/UniqueIdHandler= Tool.py?rev=3D24616=20 ). I don't see what is that for? There are at least three possible sollutions, first instead of=20 overriding portal_uidhandler we could create completly new tool, ex.=20 portal_cmfeditions_uidhandler. Or we could add missing functions of=20 CMFUid.UniqueIdHandlerTool to CMFEditions.UniqueIdHandlerTool. Finally=20 we could use default portal_uidhandler, and that's what we have choosen. First we have cut off renaming and installing of portal_uidhandler in=20 Extensions/Install.py . Then we have changed all portal_historyidhandler=20 entries to portal_uidhandler. Finally after reinstalling CMFEditions=20 everything was working fine, and both products could coexists. There is one thing more to do. When You create a working copy of a=20 document with a StagingAddOn, version data is not copied. Of course this=20 feature should be implemented in SatgingAddOn, but I don't know how=20 could I do that. Is an easy method to get version data of one element=20 and set it for another? --=20 Piotr Furman Programista ul. Lea 124, 30-133 Krak=C3=B3w mail: Pio...@we... -- "More than software" -- --=20 WebService, SOLIDEX Group Tel: +48 12 637 34 32 Fax: +48 12 637 26 96 http://www.webservice.pl http://www.SOLIDEX.com.pl http://www.SOLIDnySerwis.pl Niniejsza wiadomo=B6=E6 zawiera informacje zastrze=BFone i stanowi=B1ce t= ajemnic=EA przedsi=EAbiorstwa firm grupy SOLIDEX. Ujawnianie tych informa= cji osobom trzecim lub nieuprawnione wykorzystanie ich do wlasnych cel=F3= w jest zabronione. Je=BFeli otrzymali=B6cie Pa=F1stwo niniejsz=B1 wiadomo= =B6=E6 omy=B3kowo, prosimy o niezw=B3oczne skontaktowanie si=EA z nadawc=B1= oraz usuni=EAcie wszelkich kopii niniejszej wiadomo=B6ci. This message contains proprietary information and trade secrets of SOLIDE= X group companies. Unauthorized use or disclosure of this information to = any third party is prohibited. If you received this message by mistake, p= lease contact the sender immediately and delete all copies of this messag= e. |