/doc/patches.html -- documentation of
patches/fixes to the ArsDigita Community System (ACS) on this site;
useful when you are upgrading and when we are building a new version
of the system
/doc/custom.html -- documentation of
custom features that you've added to this site that will/can never
be rolled into the ACS.
/acs-examples/ -- source code that
shows how to use the rest of the software
Each module is owned by at least one programmer. The current list
is in module-owners.html; each
programmer
is responsible for maintaining the module and
the relevant portion of acceptance-test.html
User groups -- a general mechanism
for lumping users together in groups, e.g., all students in a particular
course
Member value -- a way of
accumulating charges for users and then billing them out at the end of
each month (commercial sites) or excluding them from the community if
the charges get too high (non-commercial)
Redirects -- ensuring that legacy URLs
pointed to by bookmarks and search engines still work
Robot detection -- making sure
that your entire site gets indexed
Permissions -- a standardized way of
answering: "Is user x allowed to do y?"
General permissions -- a
way to answer the question "can a particular user, group, or role do
this on a particular row?", where this can be an arbitrary action
(e.g., read, comment, write, administer, etc.)
General comments -- allows you to collect user comments on any item
General links -- allows you to collect user links on any item
Prototype builder -- quickly build standard ACS pages via a user interface
Tools -- collections of scripts providing services to perform common tasks such as spell checking.
Server Clusters -- a facility for keeping
state synchronized between a group of load-balance servers.
The Glorious Future
Here we link to plans that are in the works; it is a collaboration area
for toolkit programmers to look at.
/global/server-busy.html is served by AOLserver when the threads are
stacked up (presumably because the RDBMS is overwhelmed)
/global/file-not-found.html is served by AOLserver when the user
hits a non-existent URL; presumably this will contain some search tips
/global/unauthorized.html is served by AOLserver when the user hasn't
typed in a valid HTTP username/password (this shouldn't really ever be
part of the user experience since the ArsDigita Community System doesn't
use HTTP usernames/passwords)
/global/forbidden.html is served by AOLserver when the nsperm system
isn't happy and refuses to say why (not sure why this should ever happen)
/global/error.html is served by AOLserver when it chokes on a Tcl
API program or CGI script
To be sure that you're getting them all on a particular server, do:
cd /web/yourservername/tcl/
grep 'ad_register_filter' *.tcl
service of all /*.html files follows the following sequence:
the ad_verify_identity filter from /tcl/ad-security.tcl may run to
abort service of the page, depending on which directories are specified
for protection in /tcl/ad-security.tcl
ad_serve_html_page in /tcl/ad-html.tcl delivers the page, with
included comments and related links
ad_maintain_user_content_map from /tcl/ad-user-content-map.tcl runs
after the page has been served, to insert rows into the
user_content_map table
ad_pics_filter from /tcl/ad-pics.tcl will add a PICS header saying
"I'm a naughty page" (or whatever else you've put in the ad.ini file) to
the directories and files specified in ad.ini
/tcl/ad-admin.tcl defines filters to restrict /admin pages to SSL
(when available) and to registered users in the site-wide administration
group
/tcl/ad-last-visit.tcl defines a filter to maintain the last visit
cookie and database rows
/tcl/ad-referer.tcl defines a filter to update referral counters in
the database
/tcl/ad-robot-defs.tcl may define a filter to look for robots
visiting particular directories
/tcl/ad-user-content-map.tcl defines a trace filter to enter rows
into the user_content_map
/tcl/curriculum.tcl defines a filter to maintain the curriculum
cookie