About the Chatham Animal Rescue & Education Web Site

[Back to CARE Web Site]
The CARE Web site was designed and built by Dave Cohen of AlleyCat Software. If you like the site, and like the maintainability features discussed in this document, you can contact me to help with the development of your Web site at:
AlleyCat Software

AlleyCat Software
Dave Cohen
428 Tanager Lane
Chapel Hill, NC 27514-6455
Email: mailto:dlcohen@alleycatsw.com
Web: http://www.alleycatsw.com
Phone: 919-542-6117


Goals
Quickly Adding Data
Easy Maintenance
Clean Design
Form-based Submissions
Fast Performance
Platform-Independent Architecture
Efficient Web Page Code
Consistent Look-and-Feel
Web Site Architecture
Web Site Control Flow

Goals

The CARE Web site was built to advertise CARE's services, including providing public education on pet guardianship and offering animals for adoption from their foster home network. The main goals were: One overriding concern is that non-technical people may need to maintain the site. These individuals will likely not be able to modify complex HTML or work with database management systems. Thus, to avoid disruption of the site, it must be as easy as possible for moderately experienced computer users to keep the information up to date.

Quickly Adding Data

Most of the Web that changes over time is generated dynamically, on request, based on text and image files. This eliminates the need to modify HTML to add an animal, event, etc. Thus, to add a new animal available for adoption, the Web administrator needs to only: That's it! The Web site uses CGI programs to read the files and generate the pages based on the request. Thus, when a user requests to see adoptable dogs, the Web site: The process flow is illustrated later in this document.

The Web site uses the following files to dynamically generate Web pages: Thus, to add an upcoming event, just modify the events text file. The next time the Upcoming Events page is requested by a user, the new event will be included. Similarly, to add a new link, just modify the links text file. The next time the Favorite Links page is requested by a user, the new event will be included.

The email text file is a little different, in that it associates one or more email addresses with specific forms. Thus, the administrator can specify one or more email addresses to receive adoption requests, one or more email addresses to receive membership applications, one or more email addresses to receive general inquiries, etc.

Easy Maintenance

As discussed in the prior section, the text file-based administration makes it easy for any moderately knowledgeable computer user to update the site. All they need to be able to do is: To illustrate the simple text data files, below are a couple of entries used in the adoptable animals file:

Type: Dog
Thumbnail: care_natasha_small.jpg
Picture: care_natasha.jpg
Name: Natasha
Breed: Spitz Mix
Sex: Female
Weight: 35 lbs adult wgt
Born: Oct 2000
Color: White
Other: Natasha is an extremely affectionate pup full of fun and play...

Type: dog
Thumbnail: care_max_small.jpg
Picture: care_max.jpg
Name: Max
Breed: Lab/Terrier Mix
Sex: Male
Weight: 35lbs adult wgt
Born: July 2000
Color: Black
Other: Adorable little boy with big black eyes and a very happy smile...

As you can see, the data fields are labeled, and the contents free-form. To add an entry, just cut and paste the block of data for one entry, and change it for the new entry.

An alternative would be to maintain the data in a database, such as Microsoft Access. The drawbacks of this approach are: In short, storing the data in a database management system would require someone to fill a database administrator role, at least part time. Should the person become unavailable, then there would be a disruption in keeping data up to date. In contrast, any computer should be able to edit a text file.

Clean Design

The site is designed so that: There are no confusing image maps or other devices used on the site.

A graphical representation of the site is provided later in this document.

Form-based Submissions

The Web site provides the following forms for users to submit requests and inquiries: The submitted forms are routed to the appropriate individuals, as assigned in the email data file described earlier. In addition, form field information is filled in when possible, such as the current date and the name of the animal the user wants to adopt.

Fast Performance

Techniques used to enhance performance include:

Platform-Independent Architecture

While a number of Web technologies are available for allowing Web sites to dynamically process requests and generate pages, the most popular ones are: To allow the widest selection of Web hosts, and thus likely to incur the lowest costs, the platform-independent CGI approach was taken. CGI Perl programs will run on platforms including Microsoft Windows 95/98/NT, Unix, and Linux. Just about all Web servers, including Microsoft Internet Information Server and Apache, support CGI. In contrast, ASP runs only on Microsoft Windows, with Microsoft Internet Information Server (or Personal Web Server, in a test environment). There are some third party products to support ASP on other platforms and with other Web servers, but cost and compatibility are big issues.

The drawback to CGI is that each CGI request requires a new process to be started to run the program. This is an issue with high traffic sites, and ASP and Java applets can reduce resource requirements by using threads. However, the CARE Web site does not anticipate ever needing to support high simultaneous user counts.

Efficient Web Page Code

Some Web sites built with page development tools consist of redundant code, such as the HTML needed to render menus being embedded in each page. While this is not an issue as long as the site is managed with the development environment, it can cause maintenance difficulties if the development environment is dropped and the pages are managed individually.

The CARE Web site was developed mainly by hand, without the use of Web site development tools. HTML and JavaScript code that is used across multiple pages is maintained in include files. Server-side include statements (SSI) are used to include the common code in each Web page. Thus, on the CARE site, each Web page has a special SSI statement to include the file that contains the HTML to display the menu.

The tradeoff with include files is that the page must be examined and expanded by the Web server before it is sent to the user. Since include file expansion is a mature Web site feature, and thus optimized as much as possible, the performance cost is much less than the gains in Web page maintainability.

Consistent Look-and-Feel

The CARE Web site uses cascading style sheets (CSS) to impose a common look-and-feel to the user interface. This ensures consistent font types, sizes, colors, etc. Even dynamically generated Web pages use CSS styles.

The use of CSS also allows the administrator to affect the appearance of all pages on the Web site by modifying a single CSS file.

Web Site Architecture

The following diagram illustrates the architecture of the CARE Web site:
CARE Web Site 1
CARE Web Site 2
CARE Web Site 3
CARE Web Site 4

Web Site Control Flow

The following diagram illustrates the typical process flow at the CARE Web site: