Since its inception in 1998,
the cexx.org Web site has grown from just a few pages to hundreds. As you
might guess, between school, Real Life and a Real Job, I don't have a lot
of time to maintain it. For this reason, I wish to implement a system whereby
trusted parties around the world can add and update information on the
site.
Current system:
All the HTML and image files
of the Web site are stored on my (Bill, the cexx.org webmaster)'s hard
drive, and maintained by myself, the old-fashioned way. To create a new
file I fire up my HTML editor (loading a template page if I wish) and start
typing, adding in all the text, links, etc. For people to be able
to access this page, there needs to be a link to it somewhere on the site.
So when the new page is ready, I open up the file(s) where I want to add
this link, and add it in by hand.
Whenever a page is created
or modified, I copy it into an 'Upload Now' directory before I forget.
(This way, if there are a lot of files that need to be created/updated,
there is no need to keep logging into FTP, etc...all are uploaded at one
time.)
When someone writes in to
report new information, dead links, outdated info, etc. that needs to be
updated...you guessed it--out come the HTML editor and FTP client.
As the site has now grown
so large, trying to maintain all of it myself is becoming very time-consuming.
And as the amount of my free time that is available to consume remains
low (classes, work, Real Life), many parts of the site are becoming stale,
and e-mails go unanswered until weeks after they were sent.
What I Want:
The Web site is organized
into categories; the main page will list each category (and maybe
subcategories) -- sort of like OpenDirectory, Yahoo, etc. Trusted users
are appointed as Editors for categories in their field of expertise. Changes
to the Web site are done by the Editors using a custom "Content Management
System" (CMS).
These Editors have full collaborative
control of the category(s) they are appointed to -- they can create new
sub-categories underneath it, add or edit articles in that category, and
appoint additional Editors for the articles and sub-categories. Sub-category
Editors can in turn write or edit articles in the sub-category, add sub-sub-categories,
appoint more Editors, etc.
All Editors would have the
ability to collaborate with one another using a private message board and
messaging system. If an Editor finds at a later time that he/she is unable
or unwilling to continue maintaining a section, they can "will" their files
to another Editor (or place them in a "whoever wants it" pool) and release
their Editor privileges on some or all of the files/areas he/she holds
privileges to.
The CMS itself should have
a number of features designed to make it faster and easier to maintain
the Web site. Those with editorial priveleges can create--in addition to
categories and articles--page templates and Objects. Objects are shareable,
reusable snippets containing text, HTML, other Objects, etc., that can
be easily embedded into an article. For example, say there is a category
entitled "Online privacy", containing a number of pages on cookies, deleting
Cache/History, anonymizing proxies, etc. Suppose an Editor wants a list
of privacy software links to appear on every page--or, suppose multiple
Editors want to share this list on their pages without having to maintain
that list seperately. Someone can just create this list as an Object, which
can then be easily embedded in all the pages. This way, only one person
(the Object's maintainer) has to update anything--the contents are automatically
updated everywhere this Object appears. Objects that one creates can be
specified as "Personal" (only the author can use it), "Sectional" (anyone
in the specified category(s) can use it), "Global" (anyone in any category
can use it), or "Custom" (the creator grants privileges to people individually).
Templates allow Editors to
maintain a consistent look-n-feel across a category. The Template can define
the colours/fonts/layout of the page, and can contain Objects that the
Editor wants to appear on every page. Templates allow the layout and content
to remain seperate, so that one can be altered without affecting the other.
For example, the Editor can easily change the look of all the articles
in his/her category by changing its Template, without affecting the actual
contents of any of those pages.
Collaboration features built
into the system will allow Editors to keep synchronized. This can use ordinary
message boards, or even a messaging system built into the CMS--users get
and send messages, which appear when they log in.
Features should include: