Presentation

Below is the schema of engine interactions:

+--------------------------------------+
|   Apache (HTTP engine)               |
|                                      |              +--------------------+
+--------------------------------------+              |                    |
|                                      |  XML output  |                    |
|   xmlAutoIndex (xai core engine)     |--------------|  XSLT Processor    |--- HTML/SVG/... output
|                                      |              |                    |
+--------------------------------------+              |  do rendering job  |
| XAI     | XAI     | XAI    | XAI     |              |  (you could choose |
| video   | Image   | Sound  | ...     |              |   your theme)      |
| plugin  | plugin  | plugin | plugin  |              +--------------------+
+--------------------------------------+

Each plugins are indepentant and are here to generate thumbnails, previews, etc... Each previews, meta-data are cached in a cache directory to accelerate http queries. bonus: I have included in engine a handler that allows you to add comments per file, this behaviour does not require SQL databases because comments are saved in file's cache's meta-data.

If you want to see xml output without xslt processing, add "?xaiDebug=text" in your request. (you can put "?xaiDebug=xml", but your browser will do the xslt processing, so don't forget in this case to ask to view source)

Below is a sample of xml output

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<?xml-stylesheet type='text/xsl' href='http://www.vanbelle.fr/.libs/themes/explode/template.xslt'?>
<autoIndex>
  <display mode='folder' format='' theme='explode'  />
  <title>Viewing /edouard/fosdem/</title>
  <files>
  <file 
      name      ='24022006(001).jpg' 
      link      ='/edouard/fosdem/24022006%28001%29.jpg' 
      selected  ='false' 
      slideshow ='true' 
      meta      ='true' 
  >
       <mime-type name='image/jpeg' />
       <stat size='695992' ctime='2006-03-14 00:19:44' mtime='2006-03-14 00:19:44' />
       <previews>
       <preview format='size0' href='/edouard/fosdem/24022006(001).jpg?display=size0' />
	<preview format='size1' href='/edouard/fosdem/24022006(001).jpg?display=size1' />
	<preview format='size2' href='/edouard/fosdem/24022006(001).jpg?display=size2' />
	<preview format='size3' href='/edouard/fosdem/24022006(001).jpg?display=size3' />
	<preview format='thumb' href='24022006%28001%29.jpg?display=thumb' />
       </previews>
    </file>

    <file 
      name      ='24022006(002).jpg' 
      link      ='/edouard/fosdem/24022006%28002%29.jpg' 
      selected  ='false' 
      slideshow ='true' 
      meta      ='true' 
    >
       <mime-type name='image/jpeg' />
       <stat size='491699' ctime='2006-03-14 00:20:18' mtime='2006-03-14 00:20:18' />
       <previews>
       <preview format='size0' href='/edouard/fosdem/24022006(002).jpg?display=size0' />
	<preview format='size1' href='/edouard/fosdem/24022006(002).jpg?display=size1' />
	<preview format='size2' href='/edouard/fosdem/24022006(002).jpg?display=size2' />
	<preview format='size3' href='/edouard/fosdem/24022006(002).jpg?display=size3' />
	<preview format='thumb' href='24022006%28002%29.jpg?display=thumb' />
       </previews>
    </file>

    <file 
      name      ='24022006(003).jpg' 
      link      ='/edouard/fosdem/24022006%28003%29.jpg' 
      selected  ='false' 
      slideshow ='true' 
      meta      ='true' 
    >
       <mime-type name='image/jpeg' />
       <stat size='331934' ctime='2006-03-14 00:20:41' mtime='2006-03-14 00:20:41' />
       <previews>
       <preview format='size0' href='/edouard/fosdem/24022006(003).jpg?display=size0' />
	<preview format='size1' href='/edouard/fosdem/24022006(003).jpg?display=size1' />
	<preview format='size2' href='/edouard/fosdem/24022006(003).jpg?display=size2' />
	<preview format='size3' href='/edouard/fosdem/24022006(003).jpg?display=size3' />
	<preview format='thumb' href='24022006%28003%29.jpg?display=thumb' />
       </previews>
    </file>

...