GeodSoft logo   GeodSoft

Scripting GeodSoft Page Maintenance

Planning a script to automate web site maintenance by propagating changes to navigation aids and other standard web site features throughout the web site. It must also maintain distinct identifiers that clearly label the different operating systems, Linux, Windows NT and OpenBSD and web servers, Apache and IIS, that run the sites.

Having just finished splitting the Making This Web site into multiple small pages (Thursday, May 4, 2000) and writing the two pages on describing the split, I have just over 75 pages on the site. It's becoming a serious maintenance challenge to propagate minor revisions through even a significant subset of this site. I've been working with the site long enough that I'm pretty much satisfied with the basic design and think I understand most of the issues that a script will need to deal with.

Before getting to the details of the script, I want to make it clear that I am aware of some of the alternatives. Starting with version 2, Macromedia's Dreamweaver has the ability to process some or all of a site updating all of the templates that have changed throughout the site or part of a site. In some ways this is closest to what I will do with a custom script. There are of course numerous site management products that wrap the entire site contents in a database with management tools. Typically pages are served dynamically form such systems. Lotus Domino and NetObjects Fusion are leading products of this type. These approaches tend to have significant up front costs and require commitment to specific or at least a limited number of platforms. They also come with a number of features that all integrate together. Medium and larger sized organizations should investigate such options when planning a new web site or web site overhaul. They are overkill for a small consulting firm.

At this point I know several things about the GeodSoft web site. It has standard page headers and footers and a table structure to control page layout (see comments on W3C Accessibility Guidelines and CSS) that are common to all pages, except that the button for the current major site area varies from page to page. The script needs to be able to propagate changes to these areas to every page in the site.

After some initial experimentation, I've come up with a search form that I'm comfortable with and have used on all the more recent pages. I expect the search form to look the same on every page of a site on a specific platform. Depending on the actual capabilities of the search tool, the form may need to vary between sites on different platforms. For example, any search product that does not have capabilities comparable to Microsoft's Index Server scope feature would have no use for the "Search What?" drop down. A different search tool may have some feature that is highly desirable and which warrants the addition of a new element to the search form. At a minimum each platform will have different back end scripts or executables that the search form interacts with so the actual coding will certainly be different even if the page looks the same to users.

Next there are the graphics that will be different on every platform. As mentioned previously, using different content in the same named files on each system would solve that but the alt tags and graphic dimensions will vary from platform to platform and thus need to be standardized throughout the files on a specific system by the script.

The Site Map should look the same on the same page on each different platform but will be different on virtually every page on the same platform since it is intended to highlight the current section and page. In the more content rich portions of the site a third (or fourth) level will be added to each page with the current page highlighted. Thus the script needs to understand where in the site it's processing a file and get the right Site Map for that area and relate the links in the map both to the file being processed as well as the directories in which the file is located and highlight the appropriate links. Each time a file is added, moved, or deleted, the script needs to be able to update the site map in every file that referenced the changed file(s).

The content in the large right side table cell is the page specific content for each page. Because the contents of this area are likely to be unique in every page on the site there may be a tendency to avoid using scripts in this area. There is at least one candidate for script assistance in this area; this is the navigation aids for a sequence of related pages. Each time a page is added at the end, at least three pages must be updated. If one is inserted in the middle, at least four must be updated and if a page is moved, six pages may need to be updated. A script that could read a text file in the appropriate area and automatically build the table of contents and all navigation aids would eliminate much work in maintaining areas of the site like this one. A structured text file that identified the next and previous graphic, contained literal text for the "Contents" or other constant navigation aids and a sequential list of file names with their associated link name could provide the necessary information.

At this point, I have a pretty clear description of what a site maintenance script needs to do. I'll resume this narrative when I have something that is close to what I've described.

transparent spacer

Top of Page - Site Map

Copyright © 2000 - 2014 by George Shaffer. This material may be distributed only subject to the terms and conditions set forth in (or These terms are subject to change. Distribution is subject to the current terms, or at the choice of the distributor, those in an earlier, digitally signed electronic copy of (or cgi-bin/ from the time of the distribution. Distribution of substantively modified versions of GeodSoft content is prohibited without the explicit written permission of George Shaffer. Distribution of the work or derivatives of the work, in whole or in part, for commercial purposes is prohibited unless prior written permission is obtained from George Shaffer. Distribution in accordance with these terms, for unrestricted and uncompensated public access, non profit, or internal company use is allowed.

Home >
About >
Designing >

What's New
Email address

Copyright © 2000-2014, George Shaffer. Terms and Conditions of Use.