Forum OpenACS Q&A: The system doesn't recognize my procedures

I'm using ACS 4.0.
I made some procedures for my application and
put them on a tcl library file (named file-procs.tcl).
Then I put the file in a folder named /tcl at the same
level as /www. This are the steps I found in the ACS docs.
The problem is that I didn't get the system to recognize
all the procs I put in the file.
Could anyone help me?

Regards, Ruben Torres

Hi Ruben,

Try to stop and restart the AOLServer. That should do it!

Collapse
Posted by Ruben Torres on
Hi Simos, I've already did that and I also
set the library file to be watched (a setting of
APM that allows to update a procedure without the need
to restart the server).
Collapse
Posted by Jade Rubick on
You might also check the log file when you restart aolserver, and look for errors. You can tail -f the log file as you restart.
Collapse
Posted by Jun Yamog on
Hi Ruben,

Putting procs on /tcl is not advised anymore.  This is one of the first problems that I have encountered moving from 3.x to 4.x.  I advise you create your own package or put your tcl file into one of the existing packages and hitch a ride.  If you will look at /tcl/zz-postload.tcl you can overide some of the behaviours.  The query dispatcher also does not work well in /tcl or /www.

I know the putting your code on /tcl and /www may seem easier especially coming from ACS 3.x but it actually harder.  I have learned the hardway on this.  If you really need to put your files here are some tips:

- edit /tcl/zz-postload.tcl to source up your files if your files is in a deeper directory than /tcl or /www.  Look at the lines that has this stuff:

******************************

# OpenACS (ben)
# We need to load query files for the top-level stuff in www and tcl

set dirs {www tcl}

******************************

The QD name space is a bit different.  You can checkout the code how to define your fullname on the xql files.

Again try to just make your package or just hitch a ride on the existing packages.  You need to scan for new files on the APM to do this.  Hope this helps.

Collapse
Posted by Jun Yamog on
Hmmm I may have misunderstood your question.  If you are pertaining to using (acsroot)/tcl then the above comment will help.

If not then the most likely problem is that there is an error on file-procs.tcl that is why it is not being loaded.  Check out your log file for this.