Forum OpenACS CMS: Tcl - supportable

Posted by Olivia Crill on
I am looking to procure an OpenACS CMS for a community website but have been told that it has been written in Tcl and that this is "an obscure choice". Does this mean that it'll be hard to find developers who can work on it, adapt it and support it?
Thanks very much for your help
2: Re: Tcl - supportable (response to 1)
Posted by Mark Aufflick on
Hi Olivia,

TCL is far from an obscure language - for example it is used by a high percentage of server administrators to automate tasks.

It is true that it is less commonly used for developing Internet content delivery systems like OpenACS. The key reason it is used by OpenACS is that it is the language provided by the excellent AOLserver web server system. This is the server used by AOL for all of their online content which is a lot!

So while finding available OpenACS developers may not always be easy, finding developers familiar with TCL and also with Postgresql or Oracle (the two database choices for OpenACS) is not difficult.

My opinion is that you would want an OpenACS-familiar developer to develop or at least design the system and run the project. But the future developers and maintainers don't necessarily need to have prior OpenACS experience if they adhere to good development methodologies and the design is well documented. If you have existing in-house developers I would reccomend that the site developer train them in the system design etc.

3: Re: Tcl - supportable (response to 1)
Posted by Dave Bauer on
Here is a list of companies that provide OpenACS support.

One key to remeber is that any competent programmer can learn any language's syntax. The test is really in learning the system itself.

4: Re: Tcl - supportable (response to 1)
Posted by Jade Rubick on
See also this page:

It describes why using Tcl is much less important than some other considerations.

5: Re: Tcl - supportable (response to 1)
Posted by Ali Elshishini on
I don't know why many people in the OpenACS community,
still talk as if Tcl a disadvantage, well, they say it doesn't matter that OpenACS rely on Tcl.

Which make it seem that they are embarassed or trying to hide or avoid that fact.

I think Tcl is a huge advantage, and the primary reason, I got interest in OpenACS.

Tcl is a great general purpose scripting language with many key extensions and tool kits.

One of which is "OpenACS", the web tool kit.

Others include,

"XOTcl" (a very moderm object system, only ruby can dare to challenge)

"Tk" for rapid flexible and robut UI prototyping and development (developing UI is not a brain tease riddle anymore, at least compared to GTK)

"Expect" (I don't know much about it, but from the little I read it seem very interesting)

Please visit to learn more about how flexible and useful Tcl is.

Learn about the deployment options, which is yet another key Tcl advantag.
Learn about how Tcl is the ultimate glue language.
Learn what is a glue language, what is command interface, and more.

I think Tcl is huge advantage, and thank God OpenACS doesn't use things like Java or Perl (there is already tons of framework extensible in those languages)

So I guess what most people mean when they say, don't worry about Tcl is that, unless you start wanting to extend OpenACS, i.e. write a module, you don't need to worry about Tcl.

But I would hate to see OpenACS turn its back on Tcl, cause if I ever need to write extension code I want it to be in the simple, readable, flexible, extensible, scalable web friendly, object orientation friendly, RAD friendly Tcl.

Tcl is very sophisticated, so to take advantage of some of what it provide, you will need to learn about sophisticated topics. But part of the Tcl genious, is that you can walk that way, step by step, Tcl have the grace to hide the complexties, and expose them when you have too.

6: Re: Tcl - supportable (response to 1)
Posted by Torben Brosten on
7: Re: Re: Tcl - supportable (response to 5)
Posted by Andrew Piskorski on
I agree entirely with Ali. Using Tcl is a decided advantage that OpenACS has over any other projects using, say, Java, Perl, or Visual Basic.

Olivia, the most likely reason you haven't been deluged with responses is that all this "Tcl vs. Java vs. Whatever" stuff was hashed out many times, many years ago, and no one in the OpenACS community is interested in the debate anymore. If you really want more info, searching through the old postings here in the forums will probably find it...

8: Re: Tcl - supportable (response to 1)
Posted by Orzenil Silva Junior on
hi Olivia,

As a very new in tcl world i would like to add my point of view about tcl and tcl in openacs.

I really agree with Ali, Andrew and others. Tcl is a great advantage in programming for itself, mainly if we take in account its extensions like xOTCL object-oriented extension, incrTcl and integration with tk (although i heard you could use tk without tcl using STK, a scheme interpreter) or expect (see for example DejaGnu -

Technically tcl has a coherent design that is easy for programmers to internalise and make sense of, indeed easy syntax. Tcl incorporate powerful data structures such as lists and powerful primitives such as regular expressions. Thinking about a minimal specification list provided by tcl we could talk tcl is:
* convenient for script writing
* interpreted
* embeddable
* composable
* portable

But more important: Tcl is decided advantage when we look at it as a component of OpenACS infrastructure. Tcl/AOLserver have great integration and OpenACS TCL API improves it. xOTCL could be integrated easily with Aolserver too and both could be used in OpenACS (look for Gustaf Neumann posts in this forums - We have people from other projects looking for this kind of property: see for example this recent post about mod_perl/apache and xotcl/aolserver at or look for Zope+Aolserver+OpenACS in google.

Also, quoting Don Baccus in a very old forum post:

"the basic AOLserver/Tcl/RDBMS paradigm is a very simple one. There's virtue in keeping things as simple as possible, isolating complexity to necessary areas, like the API between modules and the core technology." (from

When talking about tcl as OpenACS component remember that we won't build huge programs with 10's or 100's of
thousands of lines of Tcl within packages. When using tcl with OpenACS core technology we will be in the right domain that keeps Tcl's advantages, such as simplicity, easy glue, and easy embedding.

Yours concerns are target to build a CMS on top of OpenACS and have people to adapt and support it. Take a look at dotLRN as application specific example. The dotLRN project is build on OpenACS and today is a proven "out-of-box" (community, correct me if this term is not so adequate!) solution for e-learning. And more important you could find a large farm of dotlrn-based solutions (with the same tcl/aolserver) for education domain like Learn@WU from Vienna University (, aLF from innova group at Universida Nacional de Educación a Distancia in Spain (, Galileo Educational System in Guatemala (, KELP - Knowledge e-learning portal in Italy ( and many others. OpenACS core technology is very extensible, supportable and we have great and responsible people to do that!

I do not have great proximity with openACS CMS project but maybe you could try talk with people from collaboraid (, furfly (, aristoi ( or others companies or independent consultants listed in