Forum OpenACS Q&A: howto get musea's cms for 3.2.5 running...

I encountered some problems. Some might be specific to my individual installation (openacs 3.2.5, aolserver 4.0, PG 7.1.3, RH 6.2). I did the following:

1. downloaded the cms from

2. untared the package (tar xvfz musea-cm.tar.gz)

3. copied the directories inside www/ to my acs root directory.

4. copied master.adp, master.tcl from www/toplevel/ to my acs www toplevel directory

5. copied the files inside tcl/ to my acs tcl/ directory

6. copied the directory tcl/ats to /home/aolserver/modules/tcl/

7. copied upo-image-resize to /usr/sbin/

8. added some lines to the nsd.tcl file of aolserver. (Some might already be activated with your nsd.tcl file)...
ns_section "ns/server/${server}/adp"
        ns_param   map           "/*.adp"  ;# Extensions to parse as ADP's
        ns_param   DefaultParser fancy

ns_section "ns/server/${server}/adp/parsers"
        ns_param   fancy            ".adp"

ns_section "ns/server/${server}/modules"
        # Load the ats module
        ns_param  ats              tcl

ns_section      "ns/server/${server}/ats"
        ns_param        ResourcePath ${homedir}/modules/tcl/ats/resources

9. added some lines to my acs conifguration file under paramters/ (Musea probably forgot to add the file concerning the acs configuration file, so I am offering the lines that I added to my configuration file. They work at the moment, but may still contain some errors?! Maybe Musea could post their original lines...)
ns_section ns/server/${server}/acs/file-manager
        ns_param ManagedDirectories ""
        ns_param ManageStaticContentSections 0
        ns_param VersionControlP 1
        ns_param Ignore admin
        ns_param Extensions adp,tcl,html,gif,jpg
        ns_param EnabledP 1

ns_section ns/server/${server}/acs/ADP
        ns_param BlockUserADPFunctionsP 0

ns_section ns/server/${server}/acs/vc
        ns_param CVSROOT "/usr/local/cvsroot"
        ns_param CvsPath "/usr/bin/cvs"

10. changed line 122 of tcl/file-manager-defs.tcl
foreach file [lsort [glob "[acs_root_dir]/www/*"]] {
foreach file [lsort [glob "[acs_root_dir]/*"]] {

11. weirdly the varialbe path didn't get interpreted correctly via ad_page_variables in all files inside www/admin/file-manager/, so I exchanged this proc with set_the_usual_form_variables. I don't really know why this happened on my server and it is possible that you can skip this point on your installation

12. downloaded and installed the rpms for cvs from
I had some problems with cvs, because up until yesterday I haven't ever touched cvs... If you know what to do it is not really heavy to get it running... If you have problems with getting cvs to run, just post them here.

13. downloaded and installed ImageMagick from

14. commented out line 19 and 29-66 from master.tcl

15. commented out line 8 from master.adp (Musea's master are to be seen as examples.)

16. created the directory content/ on top of my acs toplevel

17. created the directory upo-topics/ and upo-pages/ on top of graphics/

18. I made sure that the directories that where accessed by aolserver where chowned to nsadmin.nsadmin (i.e. chown nsadmin.nsadmin content/)

19. Set up a cvs working directory inside content/ (all the pages of cm are saved inside content/)

That's it for the moment... I will add some more if I encoutner more problems...
Posted by David Kuczek on
Two questions:

1. It looks like you have to run nsd8x with this cms... As I am running a German site I need iso 8859-1.

Would it be more clever to rewrite the cms to work with nsd76 (nsd76 works fine with German characters) or to get nsd8x (out-of-the-box nsd8x doesn't display German characters correctly) displaying German characters correctly?

Could someone point to a howto on the more clever solution?

2. My cvs shows the following error when file-manager is trying to "cvs add" a file:

cvs add: myfile.adp already exists, with version number 1.1

The executed "cvs commit" works alright after that though...

Posted by Cynthia Kiser on
You are running AOLServer 4.0 with Tcl 7.6? Interesting. What in CMS chokes and demands Tcl 8x? I am just curious - will let folks who are more intimate with patch levels for AOLServer comment on wether you should add Henry's internationalization patches to your 4.0 server.

But don't worry about the error message from CVS add. The file manager always tryies to do an add. It is just as fast as using cvs status to see if needs to before trying it. Since CVS just prints out the error message and moves on, it does no harm.

Posted by David Kuczek on
Hello Cynthia,

for now it is the "variable" command that doesn't work...

A minor problem is the regexp i.e. in cm/file-upload.tcl "[regexp {[^w-]} $filename]"

I found a workaround for the second problem. Is there a nsd76 workaround for "variable"???

Posted by Cynthia Kiser on
ICK. According to the manual "variable - create and initialize a namespace variable." So if CMS is using namespaces, looks like you will need to switch to a newer version of tcl - or go through the CMS code removeing all the namepace references and checking that none of the functions definded in the CMS namespace would conflict with functions of the same name in other scopes. Is there a reason you are running AOLServer with Tcl 7.6?
Posted by David Kuczek on
The reason I am running nsd76 is because it handles European characters without bigger hassle... When I switch to nsd8x special characters get corrupted. Yesterday I posted a question about howto get nsd8x ready for international characters. Switching to nsd8x will probably be better than rewriting the cms...

I already tried it once but it somehow didn't turn out and thought that I wouldn't really need it! But things changed with the cms :(

Posted by Rocael Hernández Rizzardini on
Hey, I was looking for a tool like this some months ago but it seems that this CMS was available around december 2001, by that time we already started the project We used the cm that was ported from Ybos original module for the ACS, by now it has worked nice (but we still need image handling, I'll check it out the Musea CM and probably I'll do a merge because this is one of our priorities agenda), I've added the folder structure, but haven't had enough time to clean it up to give a modified ported Ybos CMS version to the community, but if you want that, lets talk ;)

David, I have the same problem, we need special characters (spanish ones) that only nsd76 can handle, I have tried many things but only that seems to work well. I would like to run nsd8x but I guess it needs something extra to make it work, if you find or someone else know how to make it work, please tell US!
I'm running aolserver 3.3+ad13
Posted by Talli Somekh on
Hey guys,

I'm glad you find Luke Pond and Dave Hill's work worthwhile! Unfortunately, it was never really written to be a "product" or a "module" so it probably lacks a lot of features you might expect from a CMS. The client that is using it is getting a lot of miles out it, though, and I hope that you guys can benefit from it too. But in fact, it's probably a bit of a stretch to call it a CMS at all, although we implemented it as one for a client.

I do know that we will be using the approach for another project very soon, so we'll be revisiting the code ASAP. In the meantime, I'll ask Luke or Dave to poke their head in here and see if they can help at all.


Posted by David Kuczek on
Hello Rocael,

I really like the general-images module by Musea... It's easy and straightforward. The cms module with the attached file-manager work pretty well too. You can see it in action at If you would want to package your ybos cms package and write a little howto-install that would be great. I would then test it on my system...

Hello Talli,

will you further develop your cms for 3.2.5 or do you mean etp for 4.x? It would be great if Luke or Dave could quickly comment on: "Is it easier to rewrite cms in order to use it with nsd76 OR to get the internationalization issue moving with nsd8x?"...

Posted by David Kuczek on
Hello Musea,

I couldn't find out how to display the quasi index page of a topic... At first I thought that I would have to upload a page called index.adp, which worked, but it became the index page for *all* topics. Additionally I couldn't upload further index pages for other topics, which is pretty obvious, because all pages are stored under /content!!!

Posted by Luke Pond on
The ATS code uses tcl namespaces, providing its API in the "template" namespace, and using various other namespaces to hide its global variables from the rest of the interpreter.

If you want ATS to work with tcl 7.6, you could try replacing all the "variable" commands with "global", and deleting all the "namespace eval {}" commands if they're causing errors.  But obviously Karl, the author of this code, designed it with tcl namespaces in mind, so you may run into some fundamental problems.

Save yourself some time by ignoring any code that isn't called by template::adp_parse, because that's the only entry point used by the cms code you're using.  You probably just need to look at parse-procs.tcl and tag-procs.tcl.

Posted by David Kuczek on
Hello Luke,

I checked out the urbanpark site and it looks like all the topic index pages are created the same way. One picture and the links + description to the pages...

in tcl/upo-cm.tcl it says:
# the topic page is templated; it lives in www/content/index.
# it optionally takes a topic_id parameter, which tells it which
# topic to display.
Could you upload this index page to the openacs file-storage?