I'm glad to announce the recent release of Zwiki 0.60, breaking the unusually long dry spell since 0.59 in 2007/04. Development has continued at a steady pace, as you can see at the darcsweb link below; also the docs continue to improve at zwiki.org and the issue tracker continues to grind through the mass of issues. Zope 2.10 and Plone 3 users will want to upgrade to this one. I am tinkering with the development process to try and make us more efficient. We have fun on this project and don't mind sharing it around, so more contributors always welcome! Best wishes, -Simon Links: - http://zwiki.org - documentation, discussion, download, start here - http://joyful.com/darcsweb/darcsweb.cgi?r=ZWiki;a=shortlog - commit history - http://zwiki.org/FreeHosting - free zwiki hosting - http://joyful.com - related sites Release notes: Zwiki 0.60.0 2007/09/15 ======================= Fix TAL unicode errors with zope 2.10, Plone 3/CMF 2.1 compatibility, quicker page rendering, permanent edit history, labelled bracket links, better support for custom wiki templates, a tool for importing MoinMoin wikis, many other improvements and code cleanups. Upgrade notes * Zope >=2.10 users should upgrade to this release to avoid TAL unicode errors * Plone 3/CMF 2.1 users should upgrade to this release * Plone 2.x users will not be able to install this release in sites, see #1322 below * a wiki catalog is no longer optional, and will be added if missing * skin customizers should note the wiki navigation links are now in the wikipage template Installing * #1322: Plone 3 & CMF 2.1 compatibility. Warning, this version of Zwiki uses GenericSetup and is not compatible with older versions of Plone/CMF. This could be tackled in a future release if there is demand. See the issue page for discussion and possible workarounds. * tools/prepmoin.py, imports MoinMoin wiki data to a zwiki (M. Pedersen) * #1217: fix setupDtmlPages error (Sascha Welter) Configuring * fixPageEncoding renamed to fixEncoding and fixed * move wiki navigation links to wikipage template for easier customizing * #1041, #1145: ensure a catalog and an outline cache are always present. Browsing * make the home link, wiki logo and index_html use the default page url consistently * hide the prefix in mailto: email hyperlinks * change long-standing links order: contents before changes, help after options * #1348 - redirect to original page after useroptions We are always calling FrontPage/useroptions to limit bot traffic. Now we are carrying the redirectURL through the REQUEST, so we know where to redirect in the end. (Sascha Welter) * #1333: make literal/code style more precise to avoid styling difform headings * help page cleanup * #1145: avoid the broken dtml-in sort option in SearchPage, also, to avoid occasional search errors * most access keys are always available, but disable the s subscribeform key if mailout is not enabled, as an extra cue * speed up pages by doing less work * slight discussionUrl speedup, don't look for UserDiscussion page * speed up hasIssues, which was taking half the 2.5s skin render time on zwiki.org Editing * #1157: replace revertEdits[Everywhere]By with history-wiping expunge, expungeEditsBy, expungeEditsEverywhereBy methods * more robust history: - allow partial history, revisions can safely be deleted - use a btree folder for revisions if possible - more zodb cache friendly - richer history api * new history and diff views. History should now be at least as functional as before, and permanent * simple permanent revisions model, use revisions folder instead of recycle_bin * stop discarding content outside of html body tags - they may be part of the content * #1370: allow arbitrary urls in bracket links * optional link labels after | in bracket links * #965: avoid infinite recursion error when a page is reparented to itself (Sascha Welter) * #570 - Ensure valid id with file uploads. But meanwhile try to mess with uploaded file's names as little as possible. We check first if the name is acceptable to Zope, and only if it isn't we change it. (Sascha Welter) * #1085 - Comments are now properly formatted in HTML pagetype. Now it's possible to use comments in HTML pagetype pages and have the comments still properly formatted after page edits. Similar to #1079 and therefore again credits and thanks to Martijn Pieters. We are in the same manner using preRenderMessages to add the comments. (Sascha Welter) * #1079 - Plaintext comments work now. Commenting on plaintext pages would work until you edited the page itself, then the prerendering method lost the comment rendering. Credits go to Martijn Peters for this patch, a bit adapted to code that had moved on. I had to tweak the output test, as the exact placement of blank lines at end of the page content has changed minimally. (Sascha Welter) * refuse any incoming text that's not ascii or utf-8, to avoid problems later * createform and create now look only at folder permissions, not the current page, to be consistent with the page management form. The 'Zwiki: Add pages' permission is meaningful only on folders, and ignored on pages. * #512 - fix footnotes with "create page" links in RST (Sascha Welter) * #1323: revert methods now obey the edits_need_username option * clean up revertEditsBy, don't break with new pages Mail * #1256: handle mailins with encodings other than utf8 * don't log body of mail-ins by default * #141 - Uploading a file causes an "edit" mailout now. (Sascha Welter) * also allow a 'Secure Maildrop Host' for sending mail (Sascha Welter, Encolpe Degoute) Feeds * no updates Issue tracking * yellow color to make open funded issues stand out * IssueTracker cleanups * #1334: make fuzzy urls work better with issue numbers * use html instead of stx page type when installing issue tracker as dtml pages, for a 4x speedup of the unit test on my system General * many code cleanups including imports, safe_hasattr, deprecation warnings, pyflakes warnings, tests * Replace hasattr() with safe_hasattr() everywhere. Problem with hasattr() is that it masks exceptions, which is known to be problematic. "Our" new safe_hasattr() is from http://www.zope.org/Collectors/Zope/742 - with thanks and credits to Dieter Maurer. (Sascha Welter) * #1365 use talsafe() on newname in /editform to avoid UnicodeDecodeError. This problem appeared in localized browsers only for some reason, but the fix likely is necessary for 2.10 too. (Sascha Welter) * #1339 - fixing text encoding for editform.pt textarea. (Sascha Welter) * #1330: a better fix for these unicode errors. Zope 2.10 expects TAL data to be unicode, older zopes do not. This can lead to many obscure unicode errors depending on your system locale, wiki content, cookies, phase of the moon etc. This fix aims to make all the standard templates robust against this. Wikis with old customized templates will still be vulnerable to this problem after upgrading to zope 2.10, until those templates are updated. * partial workaround for #1330 UnicodeDecodeError * Default wiki type is "basic" + added 'jpeg' fs templating. (Sascha Welter) * #1332 - fix for the fix + default wiki_type is "basic". We're now not trying to grab the REQUEST from self any more -- just doesn't make sense to me. Also we have now the default wiki_type as "basic". (Sascha Welter) * #1332 - make manage_addWiki more programmatic + test. We still grabbed the REQUEST and thus got a redirect at the 2nd chance. Now we're doing the same check as on the 1st test and also return the new id if we don't redirect. Added a test too. (Sascha Welter) * Recursively add files/folders on addWikiFromFs. This is used for "nautica" style templates. It's now possible to use templates e.g. from openwebdesign.org without having to "unroll" images into a flat structure. Also we now can set document titles and parents from the filesystem pages. (Sascha Welter) * #1331, #1186 - last_edit_date / creation_date timestamps now in ISO6801. We changed the timestamp format for last_edit_date and creation_date to conform to ISO8601, in order to save time zone information along with it. Special care is taken to upgrading old timestamps in Zope's DateTime's ISO() format. (Sascha Welter) * update stx code, may work better with zope 2.10 * revisionInfoFor -> revisionInfo * inPlone method Translations * no updates