Hi Mark, thanks for your post. Mark Bucciarelli <mark@easymailings.com> writes:
I didn't find it that hard to integrate zwiki into an otherwise totally zpt site. The hard part as far as moving to zpt is to pull all the layout code (dtml statements) from the python. For example, all the '<a href' stuff.
I'm not sure what you mean here. What did you do with zwiki, exactly ?
I think it would be better to have the python process a DTML document, and return some data structure (list or a dictionary) that the zpt template lays out.
Yes, I became a little clearer on this yesterday. Here's how I think zwiki could approach ZPTs (can I call them Page Templates, or are they Zope Presentation Templates ?): 1. allow the "forms" - editform, subscribeform & backlinks - to be defined as ZPTs. Would mean changing editform(), backlinks() & subscribeform(). 2. allow the main page layout to be defined as a ZPT ("standard_wiki_page", "page_layout", "mainview" ?). Would mean changing (or adding new) render_ methods. Currently they all render and pre/append the DTML methods to the rendered page content as their final step. Instead they would now render the ZPT, passing the rendered page data into it's namespace for inclusion (right ?). At this stage, - you should be able to fully control the wiki's appearance by editing these four ZPTs. - ZWikiPage still inherits from DTML Document, and dtml-enabled wikis and pages such as zwikidotorg's default UserOptions, RecentChanges and SearchPage still execute embedded dtml. - the ZPT provides an additional dynamic parsing stage for the page, where you can do site-wide, admin controlled stuff - sounds useful 3. implement UserOptions/RecentChanges/SearchPage in some other way than DTML, allowing you to purge DTML entirely from your wiki. For those who want that. :) (Personally, I want embedded restricted python). 4. make it so that each zwiki page is a ZPT. This should make it easier to edit a page with WYSIWYG tools. After an edit, zwiki would extract the essential body (eg strip the header & footer) for inclusion in the standard site ZPT. -Simon