This page is in AAA Conformance with the Web Content Accessibility Guidelines

OhioLINK History of Philosophy Website

Website Design Protocols

Brian J. Rosmaita
Department of Philosophy
Kent State University
brosmait@kent.edu

This document sets out the basic directory structure and filenaming protocols for the OhioLINK History of Philosophy Instructional Website. Its intended audience is the website development team. No knowledge of the contents of this document is necessary for persons interested in navigating the website via a web browser.

This document will be continually updated as work on the website progresses.


Contents


Definitions

course
A course is one of Ancient Greek Philosophy, Continental Rationalism, British Empiricism, German Critical Philosophy, etc.

canonical course name
A canonical course name is one of Whenever a course is referred to on this site, it must be by one of these names.

class
A class is a particular instance of a course offering. A class is offered in some particular semester. Each class's title must be one of the canonical course names.

Back to the Table of Contents

Directory Structure

The directory structure for the website is as follows:

  1. The root directory is public_html.
  2. General pages, i.e., ones requiring access from most other pages, will be kept in the public_html directory.
  3. The directory structure for the site is only 2 deep. The rationale is that this will make internal site URL references easy. The root can be accessed via the "../filename" protocol, and all other directories will be accessible via the "../dirname/filename protocol.
  4. The subdirectories currently are:
    contrib
    Pages associated with contributors to the site.
    perl
    Files containing perl code used in cgi scripts.
    31001
    Pages for Ancient Greek Philosophy.
    31002
    Pages for Medieval Philosophy.
    31003
    Pages for Continental Rationalism.
    31004
    Pages for British Empiricism.
    31005
    Pages for German Critical Philosophy.
    31006
    Pages for Nineteenth-Century Philosophy.
    31010
    Pages for Twentieth-Century Philosophy.
    31020
    Pages for American Philosophy.

Back to the Table of Contents

Filename Conventions and File Contents

site homepage
name: The entry page for the site is the file index.html.
location:The public_html directory.
contents:Not yet set, and may be kept variable. At a minimum, it will contain a hyperlink to the file courses.html, also in the root directory, which contains hyperlinks to all the course homepages.

course homepages
name: The homepage for each course will be named index.html.
location: The course homepage will be located in the appropriate subdirectory (e.g., the homepage for Continental Rationalism will be in subdirectory 31003).
contents: Each course homepage will contain hyperlinks to the class homepages for that particular course. Each will also contain a link back to the site homepage.

class homepages
name: The name of each class homepage will be keyed to the professor and semester of the class as follows: The first initial of the professor's first and last names, underscore, f (fall) or s (spring) followed by the last two digits of the year, underscore, followed by home.html. Thus the class homepage for Professor Patrick Ewing's American Philosophy class offered in Fall 1997 will be named pe_f97_home.html.
location: Each class homepage will be located in the appropriate course directory (e.g., Professor Patrick Ewing's Fall 1997 American Philosophy class homepage will be located in subdirectory 31020).
contents: Each class homepage will contain hyperlinks to the class syllabus and to all the exercise scripts for that class. It will also contain a link back to the appropriate course homepage, and a link back to the site homepage.

class syllabus
name: The name of each class syllabus will be keyed to the professor and semester of the class as follows: The first initial of the professor's first and last names, underscore, f (fall) or s (spring) followed by the last two digits of the year, underscore, followed by syl.html. Thus the class syllabus for Professor Patrick Ewing's American Philosophy class offered in Fall 1997 will be named pe_f97_syl.html.
location: Each class syllabus will be located in the appropriate course directory (e.g., Professor Patrick Ewing's Fall 1997 American Philosophy class syllabus will be located in subdirectory 31020).
contents: Each class syllabus will contain a link back to the appropriate course homepage, and a link back to the site homepage.

exercise scripts
name: The name of each exercise script will be keyed to the professor and semester of the class as follows: The first initial of the professor's first and last names, underscore, f (fall) or s (spring) followed by the last two digits of the year, underscore, followed by the kind of exercise, viz., micro or macro, hyphen, number of the exercise, followed by the extension .cgi. Thus the first micro exercise from Professor Patrick Ewing's American Philosophy class in Fall 1997 will be named pe_f97_micro-1.cgi, while the third macro exercise from that class will be named pe_f97_macro-3.cgi.
location: Each exercise script will be located in the appropriate course directory (e.g., the exercises from Professor Ewing's Fall 1997 American Philosophy class will be located in subdirectory 31020).
contents: Each exercise script file will contain a perl script which will dynamically generate an html document which will be sent to the client software. (The scripts will make use of perl subroutines and data structures located in the perl subdirectory.) Each generated html document will contain a hyperlink back to the appropriate class homepage, a link back to the appropriate course homepage, and a link back to the site homepage.

Back to the Table of Contents

Perl Subroutines

The file exercise.perl in the perl subdirectory contains two perl subroutines used in the dynamic generation of the exercises for each class. In order for these to function correctly, correct data must be maintained in the perl data structures defined in the file data.perl. See the comments in that file for information on how to make changes.

In what follows, the subroutines are first described, and then an example of their usage is given.

The ExHtmlTop Subroutine

This subroutine returns as output the HTML code for the top of an HTML page for an exercise. (The kind of the exercise (i.e., micro or macro) is supplied as a parameter.) It expects the following 5 string parameters in the following order. (Each string must be enclosed in quotation marks as shown below.)

  1. The course (e.g., "American Philosophy").
  2. The kind of exercise, either "Micro" or "Macro"). The first letter must be uppercase.
  3. The number of this exercise (e.g., "2").
  4. The category of this exercise (e.g., "Formulation of Questions").
  5. The professor's name (e.g., "Patrick Ewing"). The professor's name must be specified in a manner consistent with the data structure definitions in the file data.perl.

The ExHtmlBot Subroutine

This subroutine returns as output the HTML code for the bottom of an HTML page for an exercise. (The kind of the exercise (i.e., micro or macro) is supplied as a parameter.) It expects the following 5 string parameters in the following order:

  1. The course (e.g., "American Philosophy"). The course name must be specified in a manner consistent with the data structure definitions in the file data.perl.
  2. The class (e.g., "Fall 1996").
  3. The kind of exercise, either "Micro" or "Macro". The first letter must be uppercase.
  4. The number of this exercise (e.g., "3").
  5. The professor's name (e.g., "Patrick Ewing"). The professor's name must be specified in a manner consistent with the data structure definitions in the file data.perl.

Back to the Table of Contents

Creating an Exercise Script

Suppose that Professor Patrick Ewing has contributed the exercises for his American Philosophy class taught in Fall 1997. Suppose that one of the exercises is as follows:

Macro 3:
Basketball and Philosophy

For the final macro writing exercise in this course, you are to access OhioLINK and use three different types of bibliographic resources to write a paper on the philosophical impact of basketball on the development of twentieth-century American philosophy.

The paper is due on Friday, December 3.

Creating the Script File

Following the filename protocols explained above, the perl script to generate this file will be named pe_f97_macro-3.cgi (and will be located in the 31020 subdirectory).

The first line in the file must be:

#!/usr/bin/perl

This tells the server to treat the document as perl code. The next two lines make available the predefined data structures and subroutines described above:

require "../perl/data.perl";
require "../perl/exercise.perl";

Next, perl code to send the correct MIME header, which will tell the client software to treat this file as containing HTML, must be included:

print "Content-type: text/html\n\n";

Next, the predefined subroutine ExHtmlTop is called:

print &ExHtmlTop(
 "American Philosophy",
 "Macro",
 "3",
 "Basketball and Philosophy",
 "Patrick Ewing"
);

Before entering the exercise itself, the following perl language marking must be inserted into the document. (Note the concluding semicolon.) It will allow the exercise to be entered into the file in "normal" HTML format.

print <<END_OF_EXERCISE;

At this point, the exercise itself is entered in HTML format:

<P>
For the final macro writing exercise in this
course, you are to access OhioLINK and use
three different types of bibliographic
resources to write a paper on the
philosophical impact of basketball
on the development of twentieth-century
American philosophy.
<P>
The paper is due on Friday, December 3.
</P>

A perl label is now inserted on a line by itself to mark the end of the exercise. (Note that there is no semicolon.)

END_OF_EXERCISE

Finally, the predefined subroutine ExHtmlBot is called to provide the bottom of the document:

print &ExHtmlBot(
 "American Philosophy",
 "Fall 1997",
 "Macro",
 "3",
 "Patrick Ewing"
);

And that's all! Just be sure to make the file world-executable so that the web server can execute it. E.g., if the file is named filename.cgi, then issue the command
chmod a+x filename.cgi at the UNIX prompt to modify its attributes.

The Exercise Script File

Just so you can see it in one piece, the file pe_f97_macro-3.cgi will contain:

#!/usr/bin/perl

require "../perl/data.perl";
require "../perl/exercise.perl";

print "Content-type: text/html\n\n";

print &ExHtmlTop(
 "American Philosophy",
 "Macro",
 "3",
 "Basketball and Philosophy",
 "Patrick Ewing"
);

print <<END_OF_EXERCISE;

<P>
For the final macro writing exercise in this
course, you are to access OhioLINK and use
three different types of bibliographic
resources to write a paper on the
philosophical impact of basketball
on the development of twentieth-century
American philosophy.
<P>
The paper is due on Friday, December 3.
</P>

END_OF_EXERCISE

print &ExHtmlBot(
 "American Philosophy",
 "Fall 1997",
 "Macro",
 "3",
 "Patrick Ewing"
);

#  end of file  #

The Output Stream Produced by the Script

When a client selects the hyperlink to pe_f97_macro-3.cgi, the following output stream is produced:

Content-type: text/html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<LINK REV="made" HREF="mailto:philo@kent.edu">
<TITLE>American Philosophy: Macro 3</TITLE>
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#23238E" VLINK="#009C31">
<P align=right><font size="-1">
OhioLINK History of Philosophy Website</font>
<H1 align=center>
American Philosophy<br>
Macro Writing Assignment 3:<br>
Basketball and Philosophy
</H1>
<P align=center>Professor <A HREF="../contrib/p_ewing.html">Patrick Ewing</A></P>
<hr>
<P>
For the final macro writing exercise in this
course, you are to access OhioLINK and use
three different types of bibliographic
resources to write a paper on the
philosophical impact of basketball
on the development of twentieth-century
American philosophy.
<P>
The paper is due on Friday, December 3.
</P>
<hr>
<P>
<font size="+3">T</font>his page is part of the
OhioLINK History of Philosophy Instructional
Website designed and developed by the
<A HREF="http://www.kent.edu/philo">Department of Philosophy</A>
at Kent State University.  We are interested in any comments you may
have concerning this
<A HREF="../wic_req.html#Macro">Macro Writing Exercise</A>.
Send e-mail to the KSU Department of Philosophy
<A HREF="mailto:philo@kent.edu"
TITLE="comment on Patrick Ewing American Philosophy Fall 1997 Macro 3">
Instructional Website Development Team</A>
or directly to Professor
<A HREF="mailto:pewing@knicks.losers.com"
TITLE="comment on American Philosophy Fall 1997 Macro 3">Patrick Ewing</A>,
who designed this exercise.
</P>
<hr>
<P align=center>
<A HREF="pe_f97_home.html">Return to the Fall 1997 (this class) Homepage</A><br\
><br>
<A HREF="index.html">Return to the American Philosophy Homepage</A><br><br>
<A HREF="../index.html">
Return to the OhioLINK History of Philosophy Homepage</A>
</P>
<address>
<A TITLE="Validate this page for yourself!"
   HREF="http://validator.w3.org/check?uri=http://iws.ohiolink.edu/philosophy/patrick.html">
<IMG SRC="w3c_32.gif" WIDTH="88" HEIGHT="31" BORDER="0"
     ALIGN="RIGHT" ALT="Valid HTML 3.2 !"></A>
<p align=right><em> Fall 1997.<br>
KSU Department of Philosophy&nbsp;</em></p>
</address>
</BODY>
</HTML>

Follow this link to see how the document will appear in the browser you are using now.

Back to the Table of Contents


any comments?
let us know ... <philo@kent.edu>

[ Return to the OhioLINK History of Philosophy Homepage ]

Valid HTML 4.0 ! KSU Department of Philosophy 
This page was last modified Fri 9 Jul 1999 at 21:37:23 EDT.