Sorry for a slightly lengthy post - hope this is the right list. I'm trying to extend Zwiki functionality, and have got quite a long way with what I want - basically restricting some users to append-only in certain circumstances. However, although I can create the new properties, I'm not able to access them in the edit method and I don't see what I should be doing. Other properties seem to be accessible, but not my new ones (although they are visible in the properties tab, and can be read Ok). I have tried appending 'self.' but this just comes up with an error telling me that they don't exist. The fragments below are all that I have added to the Zwiki product (see the geoffg comments below for what I've done), but I've got some additions to zwiki.zexp as well to provide forms input. Thank you again for any and all help, Geoff Gardiner In ZwikiPage.py .... class ZWikiPage(DTMLDocument): #, CatalogAware): """A ZWikiPage is a DTML Document which knows how to render itself in various wiki styles, and provides some utility methods to support wiki-building. """ meta_type="ZWiki Page" icon ="misc_/ZWiki/ZWikiPage_icon" page_type=DEFAULT_PAGE_TYPE # how would you append to the superclass' _properties here ?? #' _properties=({'id':'title', 'type': 'string', 'mode':'w'}, {'id':'page_type', 'type': 'string', 'mode': 'w'}, # ken's parenting code: {'id':'parents', 'type': 'lines', 'mode': 'w'}, # ^^^ ken's parenting code # VVV --- geoffg's managed_mode code --- Tested {'id':'managed_mode', 'type': 'boolean', 'mode': 'w'}, {'id':'page_owner', 'type': 'string', 'mode': 'w'} # ^^^ end geoffg's managed_mode code --- ) __ac_permissions__=( # 'manage_edit','manage_upload' already part of Change DTML Doc permission - ok here ?? ('Change ZWiki Pages', ('edit','PUT','manage_edit','manage_upload')), # VVV --- geoffg's managed_mode code --- Tested ('Manage ZWiki Pages', ('edit','PUT','manage_edit','manage_upload')), # ^^^ end geoffg's managed_mode code --- # add a View permission here ?? # useful to define default roles ?? ) # ken's parenting code: parents = None # ^^^ ken's parenting code # VVV --- geoffg's managed_mode code --- Tested managed_mode = 0 page_owner = '' # ^^^ end geoffg's managed_mode code --- .... def edit(self, text=None, REQUEST=None, submit=None, type=None, timeStamp=None): """change a ZWikiPage's content and/or markup type """ self._validateProxy(REQUEST) # correct ?? self.checkEditTimeStamp(timeStamp) if type is not None: self.page_type = type # VVV --- geoffg's managed_mode additions --- # Testing - logic Ok but can't access properties - why not? # edit form has hidden fields: # 'check_managed_mode' - look for existence of 'new_managed_mode' checkbox # 'check_page_owner' - look for existence of 'clear_page_owner' checkbox if REQUEST is not None: if REQUEST.has_key('check_managed_mode'): if REQUEST.has_key('new_managed_mode'): managed_mode=1 else: managed_mode=0 if managed_mode: if REQUEST.has_key('check_page_owner'): if REQUEST.has_key('clear_page_owner'): page_owner='' else: page_owner=REQUEST['AUTHENTICATED_USER'] else: page_owner='' # ^^^ end geoffg's managed_mode additions if text is not None: .... _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )