The ZineMachine plug-in recently received numerous updates. The core functions (data handling, form processing, indexing, and article display) were moved into a framework, and the plug-in was reduced to a simple command and control layer. The expectation is that the framework can now differentiate into different modules to handle subsets of the Zine feature set, such as indexes, forms, etc., which can be utilized selectively by plug-ins. Also, the catch-all Zine plug-in can now differentiate into different plug-ins for specific applications, such as blogs, forums, news systems, etc., and provide more specialized interfaces for each.

ZineMachine output now has a more versatile CSS structure that should allow for quite flexible styling and templating. One particular objective was to allow for table cell-like formatting of comments, to emulate the appearance of some popular bulletin-board systems. This format is in fact being used in our own forums and comments.

Much of the default presentation logic has been moved out of the code and into the configuration file (cgi/conf/Zine.conf). This should make it easier to customize display behaviours, but the system no longer works acceptably without a configuration file.

Other features added to the ZineMachine in the course of this upgrade:
  • captchas for anonymous postings
  • automatic RSS feed generation on indexes
  • emoticons in comments
  • attachments (documents or images)
  • deeper integration with Search system, to allow full article and comment archives to be searched
  • gallery index type, for zines that have lots of photos
  • semi-threaded index type, to emulate some bulletin-board styles of forum index
  • numbered index type
  • indexlayout attribute determines how indexes of articles are presented
  • indexformat determines how each article in an index is presented
  • most zine-specific behaviours moved out of the code and into the conf file
  • option to switch between rich-text and plain-text editing
  • supports writing about ExSite; ie. you can write ExSite tags and they will not be processed by the CMS