thyme
about timian
summary & news
overview
some samples
license
mailing-lists
things to do
bugs!!
the author
get timian
supported platforms
download
building
binaries
documentation
manpage
change log
XSLT
report formats
report specs
Xalan extensions
DTDs
styles
overview
writing
gallery
analog
summary
XML explained
DTD analog-data
i18n
Overview
locale
languages
ISO639-2
ISO3166
UTF-8

feedback
tell me
© 2003 Per Jessen, per@computer.org.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

overview

This section is intended to provide a brief overview of what Timian is, and why you should use it.

summary

Timian is:

  • an analog extension designed to increase report format flexibility and to encourage new report formats to be written.
  • a custom XSLT processor that given appropriate XSLT code will transform an analog XML document into any kind of desired output. (for the time being, only XHTML 1.1 is supported/used as an output medium).

some background

When I began this project, my vision was first and foremost to use XML to enrich the analog output formats, thereby making it significantly easier to write and contribute new output formats for analog.

However, I've used analog as a weblog analyser, a mail-log analyser, a Spamassassin performance analyser and even to produce reports on APIC errors (on a server with a marginal power-supply). In my opinion, the one thing that has always been a bit of a nuisance and unnecessarily complex is the analog configuration, in particular with regard to the output configuration. Hopefully Timian will help here too.

Initially, my intention was to publish everything as a new, separate package which would simply embed analog, rather than just extend it - in effect, it was to be the next generation analog. (For this very early phase, I used the project name "analog++" and/or "analogplusplus").

However, following intense discussions with Stephen Turner and Jeremy Wadsack, authors of analog and ReportMagic respectively, and particularly Stephen Turners fast work on modularising analogs output-code, the scope was slightly changed such that Timian is now an analog add-on, in the same way that e.g. ReportMagic is an analog add-on.

the Timian idea

The core concept/idea of Timian is to use and leverage the strength of XML - the Extensible Markup Language.
Timian uses analogs XML output format, which I contributed/am contributing. Having the analysis data produced by analog in an XML format enables you to tap in to the wealth of tools available for processing XML, and in turn ...[tbc]
XML documents can be loaded into databases, published on websites, taken apart and put back together again etc. In Timian, I chose to use XSLT for processing the analog XML document.

Why do this at all? Well, adding or modifying an analog output format is (or certainly was up till and including version 5.31) a nightmare. Even Stephen Turner admits this is so. I had already completed an exercise in adding an output format for HTML4 and XHTML1.1 in December 2002, so when Stephen decided to modularise analogs output formatting, it was only a matter of days to put together a prototype for producing XML.

And currently, although the internal modularization of analog has improved the situation a great deal, the fact remains that you need to have an in-depth understanding of analogs internal code structure to even begin to contemplate writing a new output format.
With Timian all you need a thorough understanding of XML and XSLT, both of which are described ...[tbc]

The main advantage of using XML is that it is standardised. There is a multitude of tools available, various languages (e.g. Java, Perl, PHP and even REXX!) have libraries or facilities to work directly with XML etc. By leveraging the XML standards in this way, adding a report format to analog is now something many more people can do, especially since it is no longer necessary to dive in and acquaint yourself with analogs C source. (which, if you already have, you will surely appreciate). And equally important, the output format is now completely separate from analog, yet they remain tied together by the XML document format.

the process

I've put a couple of slides together to create an overview of the process -

todays analog process:

slide0 This is what I believe todays analog process looks like. Perhaps slightly simplified.
In summary, analog processes a set of logfiles, and produces a report document as specified by the analog config file.

>> Click on the image to go to the full page

tomorrows analog process:

slide1 What tomorrows process will look like according to the work I've been doing on analog. Stephen Turner intends to release a public beta with XML support very soon.
In summary, analog processes a set of logfiles, and produces an XML document as output. The output specification for the XML document is minimal as it contains little or no formatting.

>> Click on the image to go to the full page

the Timian process:

slide2 And finally what Timian looks like.
In summary, analog processes a set of logfiles, and produces an XML document. Timian processes this under control of an output specification (in XML format) and an XSLT stylesheet.

>> Click on the image to go to the full page

Last time this page was updated: Wednesday 7 May 2003 10:24 XHTML 1.1 Conformant! CSS2 Conformant!