Background:
This is what started it all (at least at my previous employer). The company I worked for company sells stuff and that stuff has to be installed by a professional installer. They have a large staff of professional installers. They have a lot of stuff that needs to be installed. See where I am getting? Before I started, this information was stored in a Excel spreadsheet, which did the job until they started growing. Then it was moved to an Access database, which was much better; however, not everyone knows how to use Access, so a basic web interface to the database was created in FrontPage to update the rows of data. Each row in the table was a day and each row had a column for every installer.
Problem:
This was functional, however as installers were added and new column had to be added to the Access database. Also the FrontPage site had to be updated to account for the added column. The good thing about FrontPage was that it appears simple because it hides a bunch of code behind the scenes, the bad thing is that if something goes wrong (like your computer crashes while updating the site) it becomes a real nightmare to get everything back up and running.
Solution:
The plan was to create a fully database driven installation calendar. One that could be updated from within the application itself. Instead of having a list of days and putting a installation on each day, we would have a list of jobs and add installers. This makes it easier to use since jobs often spanned across multiple days.
Result:
I created a web site that used ASP (Classic ASP, not .NET) and a MSDE database. The hard part for me on this project was drawing out a calendar dynamically and "putting stuff" on it. How was that going to look? How should it look? Fig. 1 shows the result. The calendar is shown on the left and jobs that are shown in the current view are shown on the right. Fig. 2 shows the detail view of a job. This is where installers could be added to a selected job along with a few other functions. Fig. 3 shows the print view. This was helpful when trying to coordinate the jobs. This was another painful page to write because of the layout. The only way I could get the data in the format I needed for the page was to do lots of sub-queries. One for each day and installer, this made the process time for this particular page several seconds!




