Forum OpenACS Development: xotcl 1.3.8 and new apm packages

Collapse
Posted by Gustaf Neumann on
Since xotcl 1.3.8 is out since one week, here are some updates of the documentation and the packages. Note that the new versions of these packages depend on certain new functionalities in xotcl 1.3.8 (e.g. non positional arguments can have now 0 or 1 values, this is used as well in the xotcl's ad-proc and ad-instproc; there is as well a slight update to get the documentation right for this feature in the api-browser patch). Older code continues to work with xotcl-1.3.8. For the changes of xotcl 1.3.8, please see http://www.xotcl.org.

Another substantial change is predfined support for the redefinition of classes. This is important for reloading files with class/object definitions on the fly without running into problems with foreign references to these classes (background: when a class is deleted, it is removed from all class relations (e.g. superclass). When the class is newly defined, this relations are normally lost. xotcl provides a hook for redefinitions, that is used now by default in oacs such that users have to care less about redefinitions). I wanted to get this fixed before checking in the two patches and xotcl-core files into cvs head as proposed by the tip (hopefully this evening).

As pointed out earlier, by changing ad_procs into xotcl's ad_procs and ad_instprocs, the invocation overhead per call can be reduced by a factor of six. I have noticed another benefit lately: in my setup (dotlrn) the number of procs defined in the blueprint is currently 5921. 2608 of these procs are the arg-parsers, which are not needed when xotcl is used, which handles the nonpos arg parsing in C. Theoretically, nearly the half of all procs won't be neccessary. Notice that if an aolserver runs e.g. 50 connection threads (as we do), there are currently 50*6000 procs defined (300.000). Reducing this number significantly will certainly have impacts on the memory footprint of the server.

Here are the updated files

Collapse
Posted by Stan Kaufman on
Gustaf, in your xowiki install docs, you start with installing thread2.6.1 from sourceforge. However, it appears that there is no such project there now. Any idea what is going on, and do you have an alternate source? Could you post thread2.6.1 into the OpenACS file-storage area perhaps? Thanks for any help; I'm keen to start working with xowiki!
Collapse
Posted by Dave Bauer on
Stan,

The thread extesnion is not required for xowiki.

Collapse
Posted by Gustaf Neumann on
the thread library is needed only for he xotcl request monitor, background delivery or xowiki chat in a certain configuration (streaming modes, see http://www.openacs.org/xowiki/pages/en/chat)

How comes that you say that libthread is not on sourceforge? Just tried the provided link, seems ok. Maybe there was a short problem with sourceforge again. http://sourceforge.net/project/showfiles.php?group_id=10894&package_id=10438&release_id=294044

Btw, xotcl is now at 1.4.0, please follow the install instructions in http://www.openacs.org/xowiki/pages/en/xotcl-core

The bad thing about using forum posting for install instructions is that one cannot update these, one finds as well somewhat outdated instructions.

Collapse
Posted by Stan Kaufman on
Gustaf and Dave -- thanks for the clarifications. Got xowiki installed just fine now. FWIW xotcl compiles and installs on OS X without problems. Thanks for the great engineering!