Forum OpenACS Development: Announcement: XOTcl 1.6.0 available

Request notifications

Posted by Gustaf Neumann on
Dear OpenACS Community,

XOTcl 1.6.0 is available. This release provides in short:
- orthogonality improvements for introspection,
- more introspection methods (one can now e.g. query, into which
classes a mixin class is mixed into) and
- performance improvements (some methods are significantly
faster. e.g. by a factor of 1000 for larger systems).

In addition, the XOTcl source code follows now closer the
Tcl source code guidelines (e.g. variable naming), a few
potential crashes have been fixed.

In general, an upgrade to 1.6.0 is recommended, but not
strictly needed. All XOTcl based scripts in CVS head require
XOTcl 1.5.*, the scripts in the oacs-5-3 branch require
XOTcl 1.4.*.

See below for more details about the changes.
Best regards

-gustaf neumann


Announcing XOTcl 1.6.0

We are pleased to announce the availability of XOTcl 1.6.0.

Major changes relative to 1.5.6 are:

* Provide a uniform interface to the following info subcommands

info superclass ?-closure? ?pattern?
info subclass ?-closure? ?pattern?
info instances ?-closure? ?pattern?
info instmixin ?-closure? ?pattern?

The new option "-closure" returns the transitive set of the
relation (e.g. .. info subclass -closure) returns the subclasses
and the subclasses of the subclasses. For "info instances
-closure" the instances of the subclasses are returned as
well. For more details, please see the language reference manual.
In cases, where a pattern is specified, and the pattern contains
meta-characters, a list of results is returned matching the
pattern (like "string match"). When no matching value is found,
an empty list is returned.

In cases, where a pattern is specified, and the pattern contains
no meta-characters, a single value is returned corresponding to
the specified value. The pattern is used to lookup an object or
class, such it is not necessary to provide fully qualified
names). if there is no match, empty is returned. Previously,
"info superclass" and "info subclass" returned a boolean value
and performed always a transitive search. Returning "" is more
consistent and more in line with Tcl.

Note that " info superclass -closure" is a replacement for
" info heritage", and " info instances -closure"
is a replacement for " allinstances". The old commands
will be marked as deprecated in the near future.

Please note, that the behavior of the match pattern has
changed and is therefor not completely compatible with
prior versions.

* New info subcommands:

info instmixinof ?-closure? ?pattern?
info mixinof ?pattern?

These info subcommands are used to determine, into
which classes a mixin class was mixed into.

These inverse functions of mixin and instmixin are used as well
internally. These functions help to speed certain operations
(e.g. superclass, or registering a mixin class) up by a factor of
1000 (!) or more, when a large number of objects exist.

This functionality was primarily implemented by Martin Matuska.
Many thanks!

* Made the behavior "pattern" in the following calls identical
concerning wild cards and object lookups

mixin delete pattern
instmixin delete pattern
superclass delete pattern
info mixin ?pattern?

* Fix to preserve var traces when copying objects
(Many thanks to Florian Murr for reporting)

* Fix problem in Tcl 8.5.* when setting variables
from C (problem with Tcl_ObjSetVar2()?); many
thanks to Florian Murr and Neophytos Demetriou
for reporting)

* Improved documentation

* Extended regression tests

For more details about the changes, please consult the ChangeLog and

General and more detailed information about XOTcl and its components
can be found at

Posted by Matthew Coupe on

Which version of xowiki and xotcl-core would you recommend to use at the moment. I can't find any documentation which lists the stable releases?

We're a couple of version behind and I see that there have been some improvements to the weblog function in the last few months, which is something we want to use heavily.


Posted by Gustaf Neumann on
The recommended stable versions of xowiki and xotcl-core are in the oacs-5-3 branch. Expect a new stable version within the next weeks in the oacs-5-4 branch. it will be announced when ready in this forum.
Posted by Matthew Coupe on
Thanks for that, I'll check it out.