ZWiki syntax for page tags

Introduction

Zope properties are not easily manipulated by users and the history is not easily understandable. In order to be able to extend ZWiki with user-defined properties a tag pairs could be introduced.

The tags syntax

To address Zope's shortcomings the tags could be part of the page, that will be rendered in a special way. For example:

.. KeyWords:: tagname:tagvalue tn2:tv2 tn3 tn4

With this approach any changes in the page tags will appear in the ZWiki history and the syntax is trivial for users to follow.

The tags design

There are two options for handling the custom syntax:

  • Extend the pagetype to understand and render the new syntax
  • Add a hook on ZwikiPage.render that will render the new syntax and remove it from the page before passing the page to the pagetype for rendering

Catalog --jmax, Fri, 16 Nov 2007 21:28:33 -0800 reply

And make it explicit in the catalog? So that the tags are visible on a level other than just part of the fulltext?

Catalog --betabug, Sat, 17 Nov 2007 01:59:55 -0800 reply

jmax, yes, the plugin (or whatever code handling tagging) would have to have some way to search / display tags and pages with tags. So most likely putting some stuff into the catalog. But it's really an implementation decision apart from the tag syntax idea.

first prototype --tralala, Sun, 06 Jan 2008 12:53:47 -0800 reply

There's a minimal prototype available at http://darcs.tellalov.info/ZWiki It only renders the tags to links so far.

TODO:

  1. Remove the tags from the page when the KeyWords line is removed from the page
  2. Make the tags section a page template
  3. Add the tags to the catalogue
  4. Make the links generate list with all the pages having the tag
  5. Make it a plugin