
Last Update: July 24, 2001
| Have you ever wondered how the Stars!
Directory is maintained? Probably not, but if you are here, maybe
you decided you might be interested.
When I first created the Directory, I made it with Microsoft Excel and FrontPage Express. That may seem like an odd combination, but Excel was very good for helping me sort the original tables (alphabetically or score-wise). I quickly abandoned Excel after the Directory was completed because it generated HTML that needed a lot of cleaning up. When I moved back to the US in 1999, I started maintaining the site with FrontPage 2000. That was a major step up that allowed me to correct a lot of mistakes, find duplicate entries, and more. As the Directory grew, even maintaining it with FP2000 became a pain. In March 2000, I began programming my own database, the Directory Generator, to maintain the Directory for me. I wrote the program in Visual C++. All of the site and page data are stored in two text files (when I was writing this, the two files were a little over 100k each). Now, the regularly updated pages are maintained by the Directory Generator. The rest of the pages still use FrontPage 2000 (which is definitely easier to use on pages that do not need to reference the database).
The Entries Below is a screen capture of what I see when I am looking at a site. |

| Most of the utility should be fairly
self explanatory, but I will mention a few items. The ID is of
course a unique ID for each entry (used for bookmarks and the rare
occasion when there are two entries with the same name). The
checkboxes to the left of the address field allow me to instantly change
the status of a site (very convenient). The checkboxes below tell
the editor what versions of Stars! the site covers (note that
"Apocalypse" is the final sequel to Stars! - whether it keeps
that name or not is not important). At created, you can see April
8, 2000. Of course Mare Crisium is older than that; however, any
site for which I do not have the creation date has the date that I first
put it into the database.
The buttons on the left-hand side of the window allow quick navigation through the entries and help for updating the Directory. The main entry is usually used for the "Main List page" text review; however, not all records are sites. Some are HTML code for the page scripts (see below). In those cases, the HTML code is placed in the main entry. Secondary items are entries for the 40 plus tables used throughout the site. The page name is the first part, the second part of the name is the table name. In the page names, ST stands for Stars!, SN for Supernova Genesis (which was just Supernova when I wrote the utility), and AL for all. I have selected the general news category so that you can see how I deal with multiple entries. Anything surrounded by "$!" and "!$" is a script tag that the generator will either convert into HTML or use to process the entry. In this case, you see a date tag, followed by a formatting tag (instructing the generator not to automatically add a name), and then an external link tag. Mare Crisium right now is unique in that it is the only site that uses the special commands function. The script you see tells the generator to list Mare Crisium as Waypoint Zero on Stars! 2.x pages and as Mare Crisium on other pages.
|
|
Page Code The scripts that generates the pages are a lot harder to read. They are primarily a collection of HTML and script tags. Below is the script that creates the Main List. The tag $!ME:???!$ tells the generator to look up a particular entry and then just replace the tag with the code from that entry. That allows me to change code common to all the pages very quickly. The "\n" is simply a tag to make the code easier for me to read. In the HTML generated by generator, the line breaks you see below do not appear (in order to optimize the size of the files generated). "<<TABLE: . . . .>> is the script that generates the main list. It tells the generator what the basic type of table on which it is working, details on the HTML code, and which options to use (for this table: references to time are time last visited, split the table into smaller tables, sort the entries by score, and add a bit of code that will generate the graphics marking sites that have information on Supernova Genesis). In order to make things a little easier, I have color coded the script so that you can easily separate the script tags from the real HTML that is included.
|
| $!ME:HTML
Head!$\n
$!ME:HTML CSS!$\n <title>The Stars! Directory: The Main List</title></head>\n $!ME:HTML Body!$\n $!ME:HTML MailBox Code!$\n <div Align="Center">\n <img SRC="images/links.jpg"
ALT="The Main List" WIDTH="279"
HEIGHT="53"><p>$!ME:HTML
Font Front!$<font
COLOR="#00FF00">Please read </font><a HREF="ratings.htm">this</a><font
COLOR="#00FF00"> for details on the scoring
system.</font></p> <<TABLE:Main;{SN};{<table
BORDER="1" CELLPADDING="3" CELLSPACING="1"
WIDTH="600" BORDERCOLOR="#C0C0C0" BORDERCOLORDARK="#000000"
BORDERCOLORLIGHT="#FFFFFF">};{<tr><td
WIDTH="27%"><p ALIGN="center"><font
COLOR="#FF0000" SIZE="5">$!ME:HTML
Font Front!$Site</font>$!ME:HTML
Font Back!$</td><td
WIDTH="55%"><p ALIGN="center"><font
COLOR="#FF0000" SIZE="5">$!ME:HTML
Font Front!$Text
Review$!ME:HTML Font
Back!$</font></td><td
WIDTH="17%"><p ALIGN="center"><font
COLOR="#FF0000" SIZE="5">$!ME:HTML
Font Front!$Overall
Rating$!ME:HTML Font
Back!$</font></td></tr>};{$!ME:HTML
Font Front!$||$!ME:HTML Font Back!$}{$!ME:HTML Font Front!$||$!ME:HTML
Font Back!$}{<p
ALIGN="center">$!ME:HTML
Font Front!$||$!ME:HTML Font Back!$</p> <p><strong>$!PG:To
the Almost Dead Page,,Almost Dead.AL!$</p> <p>$!ME:HTML
Update!$</p> <p>If I am missing
any sites, please let me know.</p> $!ME:HTML Back To Main!$\n $!ME:HTML Font Back!$</body></html> |