Review: Zwiki for Zope 3, a Tipping Point?
Studious observers of the mailing list for Zope 3 CVS checkins might have observed a happening of potentially great importance this past week. Stephan Richter started checking in a Zwiki for Zope 3.
While it is still early to tell, this appears to be a tipping-point moment for Zope 3. In an intense week of development that was incredible even by Richterian standards, Stephan threw in most of the kitchen sink for a Zope 3 Wiki application: deep integration into the Zope 3 CA, a bunch of unit test, FTP support, table of contents, STX and reST support, mail subscriptions, full-text search, comments, wiki jumps, and German localization.
If you'd like, you can skip the reading and watch a Flash recording (290 Kb with audio) of the walkthrough.
I checked it out of the Zope 3 CVS repository and gave it a try. Just like everything Stephan does, he took the time to put in a clear and nearly-perfect INSTALL.txt. If I wanted reST (restructured text) support, he explained, I'd need to install docutils. I followed the four or so steps he carefully explained, restarted my Zope 3, and literally held my breath in anticipation.
Would I see something? Nothing? Would I have to dig all over creation trying to find how to use it?
Nothing of the sort. There, in "Add new content" box, was an entry simply labeled "Wiki". Right above the one labeled "XML Document", a coincidence of timing that I'm sure Stephan will enjoy. :^)
I clicked on the link, again holding my breath. KeyError? NotFound? Core dump? Gimme gimme gimme!
Again, to paraphrase Jeffrey Shell, no alarms and no suprises. Just like other content, I had an input box with the focus, I typed in a name for the Wiki, and hit enter.
And again, I held my breath. This was the real moment of expectation. Perhaps a ZCML configuration error? Perhaps a NotFound? Nope, I got a Wiki. I clicked on it and voila, there was a full application for Zope 3, sitting right in front of me:
I clicked on FrontPage and saw the tab for Edit. I clicked on it and typed in a new line of text that contained a wikiword:
As you can see, I need to show Stephan the other editing widget that moves the "Source Text" label up and lets the textarea flow to 100%. I saved my changes. It put the question mark in there. I followed the question mark and created a new page, which indeed showed up in the table of contents. I could also visit the parents view to reparent a page.
The only two problems I had: restructured text didn't work (I used docutils-0.2, when INSTALL.txt clearly told me to use a CVS version) and adding a comment gave a KeyError. Stephan quickly fixed the second issue.
All in all, this was a rather remarkable experience, to see a real application under Zope 3. It felt like I was transported to the future. Then again, thanks to the folks working on Zope 3 and indeed to Stephan for this Wiki app, perhaps the future is closer than we think.