Home
The Toolkit for Online Communities
15939 Community Members, 0 members online, 2477 visitors today
Log In Register

Forum OpenACS Development: Has xml-utils-procs moved?

OpenACS Home : Forums : OpenACS Development : Has xml-utils-procs moved?

Icon of Envelope Request notifications

+
Posted by Ken Kennedy on

I've FINALLY checked things out from the tree, after cleaning up my machine (new postgres.so, etc.) to start working w/ OpenACS 4. I'm generally following the install guide (Thanks for that, Vinod!), but I'm having a problem.

When I start nsd, it's failing with the following error:

[09/May/2001:21:34:13][1112.1024][-main-] Error: Server startup failed: Error during bootstrapping invalid command name "xml_find_child_nodes" while executing "xml_find_child_nodes $root_node rdbms" ...blah...etc.

I've tracked down references to xml_find_child nodes; it's used in packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher- procs.tcl, but it's not defined until packages/acs-tcl/tcl/30-xml- utils-procs.tcl (I don't know yet WHEN that's sourced, but it's after all the acs-bootstrap-installer stuff...another interesting note is that the header in 30-xml-utils-procs.tcl says "50-xml-utils- procs.tcl"; did it maybe used to be in acs-bootstrap-installer/tcl?

I think I'm going to just dink around with the files to get things to load (probably move 30-xml-utils-procs.tcl into packages/acs- bootstrap-installer/tcl/, before 40-db-query-dispatcher-procs.tcl.

BUT...have I munged my cvs checkout (I hope not...I've blown it away and redone it several times today!) or have some things gotten moved around a bit? Any ideas? (Oh...I don't know if it makes a difference [I hope not], but I'm logging into cvs with kenk, rather than anonymous. Maybe I'll try an anonymous check just to make sure...). Anyone else have this problem?

+
Posted by Ken Kennedy on
Ugh...once I fixed that, had another problem with "db_type" which i found in packages/acs-tcl/tcl/00-database-procs.tcl, and moved to packages/acs-bootstrap-installer/tcl/01-database-procs.tcl. NOW I'm getting quite a ways, but it's failing on "ad_verify_install". I'm deep into the query dispatcher now, though, really knowing what's going on...*grin*. I'd better read up. Any hints appreciated!
+
Posted by Ken Kennedy on
Saga continuing...*grin*. Looks like ad_verify_install isn't being run because packages/acs-tcl/tcl/acs-kernel-procs.tcl is failing a test in apm_bootstrap_load_libraries; the *-procs.tcl files are returning a $file_type of content_page from apm_guess_file_type, which means they don't get sourced. I'm looking at the regexps in there now...oh. Found it. Tricky. It's the 'www' in /var/www, (my rootdirectory is /var/www/openacs-4) which is the standard "root location" for web stuff on Debian, rather than our beloved /web. That's matching the 'content_page' regexp in apm_guess_file_type.

For now, I'll rename /var/www to /var/web, but it's something to keep in mind (for future Debian packaging, etc.).

+
Posted by Ken Kennedy on
Woohoo! Looks like the name change worked! I'm going to rm -rf my openacs checkout and re-create it, to make sure that things are looking good. I was thinking, regarding that regexp issue; it's probably not a good thing to be dependent on WHERE someone installs the OpenACS root...whether it's /web, or /var/www, /home/webstuff, or /foo/bar for that matter. Since we already know the root_directory (all the way back in 0-acs-init.tcl), couldn't we lop that off of the path before we do a regexp like that? That way, we're only testing strings that we "control". I'll play around with it...
+
Posted by Don Baccus on
Thanks for the heads-up on the regexp.  The aD code makes all sorts of
assumptions about file locations.  Even the name "guess_type" is a
misnomer, because there's no way to override the "guess"... the
"guess" is reality as far as the bootstrap installer is concerned (and
the APM, for that matter - you can't change the "guess", one of my
many, many issues with the APM that I hope to clean up as we progress).

I don't quite understand the first problem you had with db_type...

+
Posted by Ken Kennedy on
Oh...yeah, I guess I was unclear with that; I was kinda hacking and posting simultaneously.*grin*

It was the same error as I'd gotten with "xml_find_child_nodes": [09/May/2001:21:34:13][1112.1024][-main-] Error: Server startup failed: Error during bootstrapping invalid command name "db_type"

Nothing to worry about though...I've re-checked everything out of CVS (with the directory name change to /var/web) and the regular file locations are working fine. I'm going through the kernel data model install now. There were TONS of *-proc.tcl files that weren't getting sourced b/c of the regexp issue, including the ones holding xml_find_child_nodes, db_type, etc. Everything seems a-ok as of now...

+
Posted by Roberto Mello on
I had forgotten about this post (that I read last month) and had a big headache trying to install OpenACS 4.x in my Debian box in /var/www.

I went ahead and corrected the bug. I didn't commit it to CVS because it's Don's module. But I submitted a patch (and a bug report) at the SDM. It's here: http://openacs.org/sdm/one-patch.tcl?patch_id=32.

+
Posted by Don Baccus on
I don't really like the assumptions made in the patch.

Wouldn't it be better to use PageRoot?  We know that page root always points to [your install directory]/www.  All you need to do is count the number of directories in the [your install directory] path and only look for www and admin-www in the trailing part of the path being  tested - instead of your hard-wired "3" approach.

If you want to take a shot at that, I'd say do it, test it, and go ahead and commit it ...

And TIA!

+
Posted by Roberto Mello on
Your approach is much better Don. Thanks. Made the change, tested and committed.