betabug... Sascha Welter

home english | home deutsch | Site Map | Sascha | Kontakt | Pro | Weblog | Wiki

20 December 2006

The Garage Site using ZWiki

Taking ZWiki Design for a spin!
Screenshot Graphics Garage Website

For a while now I've been talking about skinning a ZWiki and using it as the easiest CMS on Zope. I've done a demo site with Simon (of ZWiki fame), done my own wiki site in this way, and we've done a couple of client demos at my workplace. Now we did what we recommend others for our own site and it rocks: Looking at the new Graphics Garage website (went online yesterday evening) you wouldn't guess this to be a ZWiki, it's a pure design site. But there is some nice tech behind it which results in a very simple user interface...

The first step was to shut out all the world from editing, sorry folks but a company site isn't a "free for all" :-). For logged in users the wiki interface stays almost the same. Once logged in a small "control form" (pic) is displayed on the page, some other Zwiki functionality has been removed since we don't need it. We added a very simple custom image container product. This does simplified uploading, editing, searching of images. Most important: It displays the markup needed to put the image into reStructuredText, ready for copy and paste. It also associates those images with an "Accelerated HTTP Cache Manager" so they get some caching love from proxies and browsers.

wiki controls for logged in users

Looking at the site you will notice that the pages aren't uniform at all. Almost every page looks different. My target was that there would have to be no special treatment through the ZMI for pages to be different. It would be "easy" in the first place to set properties on pages and then change stuff around in the ZPT. But that is not transparent to users, in my opinion it's a recipe for later disasters when editors want to change things around. What we needed was something that gives designers the freedom to style pages while retaining technical boundaries.

So instead we standardized on reStructuredText, using some "compound" statements to build blocks of content and marking things with :class:. That stuff is then picked up from the CSS where all the styling happens. Editors don't need to be too proficient with reSTX, most of the times looking up how it was done before or on some other page is enough. Of course the ZWiki "Preview" function helps. What we don't have though is some kind of "Workflow"... mess up the page and it really is messed up. For playing around editors can use the wiki "Sandbox", which is open only to logged in user.

wiki controls for logged in users

For the "Nuts and Bolts" section I used a python script and ZPT to build an automatic sub menu. This gets included into the pages using the reSTX "raw directive" and some DTML. It's not the best solution for me, because it binds us to reStructuredText and we have to enable DTML (not that much of a security problem in a closed site, but still). Also it inserts an extra "span" into the code, which breaks validation. Yes, apart from those pages, all the site validates as XHTML 1.0 strict. It wasn't even difficult.

It also displays fine on lynx. Some pictures don't have alt-attributes. It would be great if images inserted into reSTX out of Zope would automatically use the "title" attribute of Zope's "Image" object for "alt". That would make it much easier for editors (in reSTX you can use :alt: with the image directive, but it's not as obvious as uploading the image with a description right away).

Images are my only other grief (so far, knock on wood), in the "Portfolio" page. That page contains a lot of images. They also have to be in reasonable good quality, being a showcase of our company's work. Since our line here isn't too big the download takes quite long and I'm still thinking about good solutions.

Posted by betabug at 11:25 | Comments (0) | Trackbacks (0)
ch athens
Life in Athens (Greece) for a foreigner from the other side of the mountains. And with an interest in digital life and the feeling of change in a big city. Multilingual English - German - Greek.
Main blog page
Recent Entries
Best of
Some of the most sought after posts, judging from access logs and search engine queries.

Apple & Macintosh:
Security & Privacy:
Misc technical:
Athens for tourists and visitors:
Life in general:
<< Doing Seminars for HelMUG | Main | The Dasein in Athens >>
There are no comments.
You can trackback to:
There are no trackbacks.