Decowood Saunas - a product site.

The task I’ve received recently was to develop a product site for a company producing saunas. The idea was to create a web equivalent of their printed catalogue of products. It was a pretty simple project but there were a few things I had to deal with:

  • It had to be pure a XHTML/CSS site. No PHP or any other server-side scripting used on the production server. That of course implied I couldn’t use a database.
  • I had to transfer all the texts, product descriptions and images from MS Word documents I received from the client.
  • The site had to be multilingual, so even more data to insert from *.docs.

The prospect of manually cutting and pasting those things from Word to XHTML sources didn’t sound exciting so I decided to use some scripting to do the tedious job for me. Here’s what I did:

  • Firstly, I made XHTML layouts from images I received from my friend who took care of designing the whole thing. I included a bit of JavaScript eye-candy to to make the site more attractive.
  • Then I developed a minimalistic CMS using PHP for automatic generation of product entries and pages from CSV input. It could also export the whole site to separate XHTML and CSS files.
  • Then I made a couple of Perl scripts to convert *.docs to HTML, extract all the data from them (images and tabular data) and create CSV files.
  • Finally I fed my minicms script with the CSV data and rendered everything to pure XHTML pages.

Of course not everything went OK automagically. Scripts needed quite a bit of tweaking because *.doc files didn’t have a regular structure and some things just were faster to import manually. However, the site was ready in half the time I would have needed to create it by hand and I saved myself from some serious headaches.

Screenshots of the result (you can take a look at the live site here):

Note: Decowood logo is a property of Decowood company. Both logos and pictures of products are used only for the purpose of presentation. Currently the site is maintained by a third-party contractor so it may look different.

Leave a reply right here....