"Fernstrom, Christer" wrote:
I haven't found parts of the ZOPE API that deals with handling versions, but I was playing with the idea to provide a "modify" button on the pages that would: - create a personal version for the user (unless one is already there) - start using the version - go to the manage_main for the page to allow updates - upon SAVE (hm, how do I catch this?), commit the version changes (ie do version "save") - redisplay the rendered page
Looks simple on the paper. Has anybody done something like this? Would it work?
I 'started'. This creates a temporary version: DTML Method: start_version ---------------------- <dtml-call "REQUEST.set('ver_id',_.str(_.int(ZopeTime())))"> <dtml-with "manage_addProduct['OFSP']"> <dtml-call "manage_addVersion(id=ver_id, title=AUTHENTICATED_USER.getUserName(),REQUEST=_.None)"> </dtml-with> <dtml-return ver_id> ---------------------- It's called from here and then entered: (anywhere you want to enter a new version for editing) ---------------------- <dtml-let ver_id=start_version> <dtml-var expr="_.getitem(ver_id).enter(REQUEST,RESPONSE)"> </dtml-let> ---------------------- at this point I've tried several things to get it to redirect back to another DTML Method but it goes to manage_main. I REALLY don't want to have to patch Zope to prevent this. Other things were more pressing so I haven't gotten back to it yet. HTH, -- Tim Cook, President - FreePM,Inc. http://www.FreePM.com Office: (901) 884-4126 ONLINE DEMO: http://www.freepm.org:8080/FreePM