The Age of Xester

Edited by Vacilando. Last updated 13. November, 2015.

A collection of screenshots from the old website. A very clean and reliable custom CMS called Xester written, without borrowing any substantial third party code, in PHP and MySQL.

I started to build it on 2 (see this Web Archive record), abolishing an even older system of just folders and HTML pages (built since ). It had a huge number of nifty features, including

  • secure login,
  • editing (incl. PHP code) and file upload,
  • public and private pages,
  • four page types - article, travel, reference, and undefined
  • page and file browser,
  • recursively generated dropdown menu allowing one-click access to any page on the website,
  • submit verification (a JavaScript md5 hash of form content compared with a md5 hash of the received content before saving in the database), 
  • a kind of cron scheduler for heavy operations (stats, sitemap generation, etc.)
  • e-mail notifications about problems /  errors
  • markup for entering internal and external links (somewhat inspired by Wikipedia),
  • intelligent tokens in text that resolved into more complex things when viewed, including special links to page creation if a given link did not exist previously,
  • an overlay gallery and a slideshow system (much later morphed into the Brilliant Gallery module for Drupal),
  • related pages (children, parent, avuncular),
  • cookie-stored page crumb trail system (later morphed to the TrailScout module for Drupal),
  • link checking, caching and cache searching,
  • site search,
  • RSS feed generating and parsing,
  • a commenting system with CAPTCHA,
  • network visualizations (SVG, PNG and Flash circles, Flatland JavaSpring, recursive hierarchical, TouchGraph GoogleBrowser, Hypergraph - predecessor of my Drupal module Hypergraph),
  • AJAX functionality (updated pages, stats),
  • automatic backlinks based on referers,
  • 5-digit randomly attributed IDs independent of content,
  • Google's translations for any page,
  • hundreds of useful little functions,
  • even a port of the old Amiga program called Galaxis,
  • etc.

Over the time I made 604 heavily interlinked pages in this system (and many of them had countless sub-pages or variants, of course), plus a few special pages such as list of last updates, created, accessed, popular, orphans, tree roots and leaves, etc.

It was a pretty complete CMS. One of the notable shortcomings was the use of old character set Windows-1250 instead of Unicode (UTF8), no tagging, lack of real content types (every content was a page), and, of course, that any bug had to be found and fixed by me, and any new features had to be written and maintained by me as well. Therefore, after testing various open source CMS systems (including Mambo/Joomla and TikiWiki), in 2006 I started to seriously study and work with Drupal (still version 4.6) and started to place new pages and galleries in Drupal (version 5 and then 6) at (and later And I also started slowly re-working the old CMS to Drupal -- the first redirect was probably on , and I finally completely finished the transfer on , at

Sometimes I have a feeling life was easier when I knew all the code like the palm of my hand, but advantages of using a quickly evolving open source web application framework as good as Drupal has undeniable advantages in terms of extremely solid base functionality, bug fixing and support by the community, and vast amounts of contributed modules to choose from. And, it is also good to be constantly exposed to new clever (or not so much) code from others. And it's nice to develop new - and contribute to - modules knowing that thousands of people will benefit from the improvements!

OK now, forward, the Light Brigade!

5. Mar 2003 ~ 30. Jan 2010, Brussel, Belgium Drupal web design php MySQL Xester CMS programming

Return to the article list.