About 'College Math Resources' - Technical Details
The site is based on a MySQL database accessed through PHP. These tools
were chosen because they are free and effective (which are also the
characteristics that we are looking for in what we collect).
There is no need for the high level security features or for the high
volume scalability and collision avoidance that might be necessary in
an airline reservation system (although I gather that MySQL is in fact
used in a number of "mission-critical" commercial applications). So
there is no reason for developing in an expensive medium like Oracle
which might be a barrier to sharing development with other interested
parties.
The database includes tables of topics, items, and reviews.
The topics are related by a dependency table which establishes a
tree-like heirarchy. This is intended to model the typical user's
mental model of the subject, and so to facilitate searching for
materials (and if the current options and their relationships are
inadequate it is easy to extend them).
The items table contains just ID, url and title fields. The effective
metadata is provided by the reviews database which links items to
topics. No standard metadata is collected as this is the responsibility
of the url to provide (and in general has little overlap with what this
user cares about when searching).
The reviews table provides links between items and topics which can be
qualified by strength (relevancy) and quality, and also includes fields
for comments and reviewer identification.
Implementation methods are by whatever I could make work (or at least
seem to). As I am not an expert in either databases or php programming,
any more specific details are not likely to be useful to anyone not
charged with repairing this system.