About this Web Site

This web site is served by a PC running IIS 6.0 on Windows Server 2003 and the .NET Framework 2.0.  The web site was designed with several goals in mind:

You should be able access the web site with a web browser with scripting disabled and configured to reject all cookies and have access to all web site features. Only keyboard short-cut keys and client-side form validation rely upon client-side scripting. You should also be able to connect to the internet over a dial-up connection and have as reasonably good page load times as can be expected for delivering images with decent resolution over a slow connection.

The image web pages are stored as XML files.  Each file contains a set of fixed data including a title describing the trip, the date and the location.  The XML also includes lists of pictures and participants.  Here is an example of an XML file and the corresponding web page:

http://bruce.frankweb.net/trips_2004/alta/alta.xml

http://bruce.frankweb.net/xslt.aspx?xml=/trips_2004/alta

Here is a table-based version of the web page:

http://bruce.frankweb.net/xslt.htm?xml=/trips_2004/alta&xsl=fixedgrid.xsl

ASP.NET parses the query string and then loads the appropriate XML and XSLT files, and then performs an XSL transform to generate the HTML. A client-side XML version of the page can be used to distribute the web pages on a CD or other static source but only Internet Explorer 6+ is supported and MSXML must be installed. Here is the client-side version of the page:

http://bruce.frankweb.net/xslt.htm?xml=/trips_2004/alta

I wrote the JPegger program which I use to generate high- low- and thumbnail- resolution versions of images, compressed and scaled for the web. After transferring images from my digital camera to a directory on the computer, I run a batch file to process the images and create an initial XML file containing information about each picture including the dimensions for each image at each resolution.  At that point, there is a functioning web page but I must then manually remove redundant and poor shots from the list. I also add picture captions, commentary, the names of participants and photo credits if applicable.  Another manual step performed before generating the XML is identifying and rotating photos that were taken while holding the camera in the portrait orientation.

The XML files are automatically indexed by the XML IFilter that used to be available as part of the Sharepoint Portal Server Resource Kit.  An NTFS file attribute controls whether a file is indexed by Content Index. The bit can be set manually via the UI in Windows Explorer but I needed a means of setting the bit selectively for every file name matching a particular pattern on an entire drive as well as saving settings and applying saved settings. I wrote a simple command line program to do that. Currently the search web page is only able to perform free-form text searches but I may later modify the search application to support filtering by date and other well defined data types.  

My camera is the Canon Powershot A300.  I use the Windows Media Encoder to convert the files to WMV (Windows Media Video) format. The XML schema and XSL have sections for video file information.

I have automated most parts of web page creation that can be automated. At some point I would like to create a simple front-end to modify the XML without having to directly edit the file.


Bruce’s Web Maelström