Where is the Dev copy of the live openacs.org site? Currently,
dev.openacs.org redirects to sdm.openacs.org. Is there a separate Dev
site or are all changes just made directly to the Production site?
Where are the docs or pointers to info on how the openacs.org website
is maintained? Which CVS checkouts on the openacs.org box are for
what?
What leads me to ask? Well, I realized I'm going to need to tweak the
AOLserver config file distributed for use with OpenACS. The current
online install docs say to download and use this file:
/doc/openacs-4/files/openacs4.tcl.txt
The online openacs4.tcl.txt appears to have no embedded CVS Id strings
in it, nor any other information identifying which version of the file
it is whatsoever. Not so good. Ok, let's first fix that, then worry
about the other tweaks I need to make later. So, where is the current
canonical copy of that file in CVS? Well, there's no really simple
answer! At least at first glance without any docs to help me, the
current system appears to be rather disorganized and confused.
On the openacs.org box, some version of the site is
apparently using the /web/openacs.org/ CVS checkout. Which version?
I'm not really sure but I suspect it is Production. (If I could read
the AOLserver config files I could figure that out, but alas, I can't.
See also below.)
This "/web/openacs.org/" checkout has Roberto's username in all the
CVS/Root files, which is obnoxious as it means no one else can even do
a "cvs stat FILENAME" in the checkout without giving Roberto's
password. This is particularly silly since the CVS repository is on
the same machine, so there's no need for any username in the CVS/Root
files at all.
"www/doc/openacs-4-6/files/openacs4.tcl.txt" appears to be the real
copy of the file. But fortunately, README.TXT in that directory
explains that even though it's checked into CVS, that's not the
canonical copy, it's actually generated
"www/doc/openacs-4-6/xml/files/openacs4.tcl.txt", which is in fact
identical.
However, when I checkout my own copy of "openacs.org-dev" onto my
desktop, it turns out the "www/doc/openacs-4-6/" directory doesn't
exist at all! Hm... Consulting the "CVS/Repository" files in the
live checkout above, it seems that "/www/doc/openacs-4-6" is actually
a duplicate checkout of "/packages/acs-core-docs/www/files". Ok, that
makes sense - this is a hack to make various versions of the docs show
up on the OpenACS.org website.
So, on my desktop, I add a trivial CVS $Id tag to the top of the file,
and commit - cool, that worked. The
"packages/acs-core-docs/www/xml/Makefile" controls the doc generation.
I don't have any of this xsltproc and htmldoc stuff installed in my
/usr/bin/, but running just "make prelim" copies the slightly tweaked
openacs4.tcl.txt into the right place.
Of course, I have no idea how to go about making that tweaked file
show up on the openacs.org website, nor even if I should... How is
this sort of thing supposed to be handled?
Finally, as I briefly mentioned above, on the openacs.org unix box,
the AOLserver config files used by the live sites are apparently all
in "/usr/local/aolserver/", e.g. "openacs.org.tcl". They are mostly
all readable only be root. This seems like a profoundly bad
idea to me, as it prevents even developers with accounts on the unix
box from seeing how the heck the live OpenACS AOLserver is configured.
To protect the database passwords, it should be simple to put those in
a separate small tcl file, readable only be root, which is sourced by
the main config file, right? Since that answers the db password
security issue, I can't think of any other good reason to hide the
rest of the contents of the AOLserver config file. (Oh yeah, and it
should be in CVS...)