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
- http://media.wu-wien.ac.at/download/xotcl-1.3.8.tar.gz
XOTcl source code and documentation - http://media.wu-wien.ac.at/download/README-xotcl-core
Installation instructions for oacs - http://media.wu-wien.ac.at/download/xotcl-core-0.15.apm
xotcl core support for oacs. this includes thread management, documentation interfaces, an implementation of ad_proc and ad_instproc, some trace functionality, generic cr handling... - http://media.wu-wien.ac.at/download/xotcl-request-monitor-0.22.apm
request monitor (does not use cashing ns_-primitives) + user tracking/blocking and faster replacement for "who is online". - http://media.wu-wien.ac.at/download/xotcl-note-0.4.apm
small xotcl app for content repository management with categoy support (creation/deletion of schemas, polymorphic listings of types and subtypes, ...) - http://media.wu-wien.ac.at/download/acs-api-documentation-procs.patch
Patch for providing a hook into the api browser for ad_procs and ad_instproc, class browser, syntax highlighting. - http://media.wu-wien.ac.at/download/acs-bootstrap-installer.patch
Patch for loading xotcl support code before the application classes, same as earlier in this thread. - http://media.wu-wien.ac.at/download/calendar+ical-0.2.tar.gz
value added calendar package (see other thread) with ical support (among other things: shared calendars from thunderbird/firefox/mozilla, publishing calendars from Mac's ICAL, bulk up and downloads to microsoft calendar)