URL Structure

The general URL structure of this area is:

For members:
For songs
(Note that there may be several songs with the same title).
For songwriters, performers, groups, publishers, and so on:
(``c'' stands for ``creator''; ``p'' for ``performer''. )

The double-slash (yes, it's permitted in URL's and it's recognizably different from a single slash) is shorthand for two additional index levels, which are derived from the first two characters of the following name, e.g. author/A/Au/AuthorName. This will both provide built-in indexing and limit directory size. Translating double-slashed URL's is handled using magic (e.g., mod_rewrite, with something like //(.)(.) ->/$1/$1$2 -- it's actually a little more complex; see the ''Structured Homedirs'' example in the Apache 1.3 URL Rewriting Guide).

Another possibility would be to use (c) for creator and (p) for performer, thus incorporating the common (if technically incorrect) text shorthand for the ``circle-C'' and ``circle-P'' copyright symbols.

Note that a person's MemberName doesn't have to be the same as their AuthorName, and that in fact the connection might not even be public knowledge (if your name was WolfgangAmadeusMozart you might prefer to go incognito as WolfBoy, for example). Names are ``WikiWords''; underscores are displayed as spaces in page headings; interior caps are displayed with a preceeding space in AuthorName and SongTitle, but not in Publisher_Name or MemberName (where interior caps are often what you want). Hyphens and periods are permitted. For example:

The system is very WikiLike -- a preprocessor looks for "words" with embedded capitals, underscores, hyphens, and periods, and turns them into links automagically. The song index under /s// is actually done by means of a database lookup -- the song pages are really under the corresponding composer.

Every directory contains a couple of XML files that contain all of the essential information for that directory. The XML is processed (offline, for speed and security) to produce the standardized pages like framesets, navigation bars, home pages, indices, cross references, and so on. Embedded XML is also used for page style elements.