Forum OpenACS Q&A: Continuing TCL Development / Beginning Java.

Given ArsDigita are no longer going to support the TCL version, will
OpenAcs continue supporting it?

What about developing an Open version of the Java port?

Speaking of which, does anyone know anything about any ArsDigita's
milestones and development plans for porting modules such as the
Content Management or the  Community modules? I keep asking them but
just get silence .....

Thanks, Roland.

Posted by Don Baccus on
Yes, OpenACS will continue to support the Tcl version.  Many of us here aren't particularly interested in moving to Java as we have a lot of personal code or client sites using the Tcl version and don't have the resources to try to work with both versions of the toolkit.  Or at least feel it wouldn't be the best use of our time.

The desire to continue support of the Tcl version is a major motivator  for our deciding to support both Oracle and Postgres with our work-in-progress, OpenACS 4.x.

As far as an Open version of the upcoming ACS 5, aD is planning to build in a framework for multidb support from the very beginning.  Depending on their plans, timing, and OpenACS community interest a project to support it on PG here may or may not develop.

How's that for waffling? :)

Things are somewhat in turmoil at aD as they try to figure out their new direction (how open and how soon, etc) while maintaining a legal battle with Philip.  I know they plan to communicate more details regarding ACS 5 and its schedule and design before much longer, so I think you (and we) will just have to be a bit patient for now.

Posted by David Eison on
Most of the reasons for switching to Java aren't nearly as compelling for users of OpenACS (integration, sales, marketing, speed, etc.)  If you can get 4.0 TCL feature-complete, there's no great reason not to stick with it for a while, unless you are highly concerned about worldwide adoption (the "TCL's ok" argument is likely to be harder to make to new users with aD and Vignette switching to Java).  I suspect most people here are more concerned about getting their jobs done, however, in which case you would generally stick with what you know until there's a compelling reason to do otherwise.
Posted by Bryan Quinn on
As Don says, there will be a framework within ACS 5 for supporting multiple databases.  I, and I doubt I'm alone here at aD, have significant interest in seeing a PostgreSQL version of ACS 5, but not resources.  What I would like to see happen is that we develop a framework, implement it for Oracle, and leave clear directions on how to fill in the Postgres version.  Then as people develop the Postgres implementation we can roll it into the distribution.  I think this strikes the right balance and provides a way for the community to contribute in an open way, but I'm interested in opinions on this issue.

One idea that several people have tossed around is that we might use Postgres as a "default" database when the ACS is installed, with an option to override and use Oracle, or any other database we support in the future.

Posted by Bill Kong on
  I've been a big fan of Arsdigita and OpenACS. However, one major problem I have to create an ACS web site is web hosting. "Classic ACS" requires the expensive Oracle, which is close to impossible for putting up a non-profit site. The OpenACS is also troubling because it requires AOL server -- most hosting companies will not let customers to choose a separate web server (they only provide the default web server such as Apache). However, nowdays many hosting companies do support Java and provide servlet engines. So, I think Java is a much better choice for OpenACS porting. Furthermore, I know many of you create web sites using OpenACS -- you will attract more customers if you use Java because of its wide adoption in the industry and a larger number of developers (eventually the customer probably will want to maintain the site. it's more difficult to find a TCL developers than find a java developer).
Posted by Adam Farkas on
Bill -- you left out a vital part of the equation: finding a host that supports PostgreSQL. PostgreSQL is more complicated to set up & resource-intensive in a virtual server situation than MySQL, which is why very few hosting services offer it.

This is a difficult issue. The few hosts that do offer PG are somewhat costly. Furfly is, IIRC, still offering moderately-priced aolserver/postgresql/openacs hosting services.

I also suspect that if you find a host that supports apache/postgresql hosting, you will be paying a large enough chunk of change that you can sweet talk them into letting you install mod_aolserver, which will allow you to use OpenACS.

Posted by David Walker on
As far as hosting I think you'll start seeing a lot more companies willing to host once OpenACS 4 is available with the subsites feature.<br>
As far as hiring developers.  Personally I would hire vbscript developers and teach them the magic of grep (They'll be amazed at all the stuff they can do).  Or any of the other scripting languages would do also.  Obviously if a developer with TCL experience applied that would give them an edge but I wouldn't automatically hire them if another developer were more experienced or multilingual.  (learning a third scripting language is much easier than a second)<br>
I believe I could teach TCL semantics to a scripting language developer, give them a list of TCL and AOLServer API commands and the ACS/OpenACS source code and that afternoon have them working on something useful.<br>
Posted by Roberto Mello on
"Bill -- you left out a vital part of the equation: finding a host that supports PostgreSQL. PostgreSQL is more complicated to set up & resource-intensive in a virtual server situation than MySQL, which is why very few hosting services offer it."

I don't think PostgreSQL is any harder to setup than MySQL. Both are very easy to setup and get going. In fact, I think PostgreSQL is easier to setup, since I don't need to login as root and enter a bunch of 'Y's and 'N's to each user in the SQL terminal, as in MySQL.

As for PG being more resource intensive, this may also be an illusion. Just because MySQL is multithreaded does not mean that it's "lighter" than PG, since threads in Linux are just lightweight processes. Beware of MySQL's MS-style marketing.

The real reason for MySQL being offered in more ISP/co-location facilities, IMHO, is that from day one PHP and its developers have pushed MySQL, and only MySQL (until very recently). PHP always worked better with MySQL, PHP's documentation for it is better, and so newbies just ask for it when starting on their MySQL development, probably thinking that their "scripts" would run better on it.

The supposition that PG may be more resource intensive that MySQL may also come from the fact that PHP manages db connections so horribly. When I ran PHP for my software engineering project (granted, it was under AOLserver, but the DB connections shouldn't be affected by that) I had to give up using persistent connections simply because... they were not reused.

The clients would come in, PHP would open a connection, but never reuse it. When another client would make a request, another connection would be openned. In a few minutes, with puny 2 clients hitting my machine, I had over 30 connections open!

If this behaviour also happens under the Apache module, then I doubt any ISP will let people use persistent connections, and so it's probably true that PG is more resource intensive.

Posted by Janine Ohmer on
I agree with David.  Any decent Perl/VB/whatever programmer
can learn Tcl pretty quickly.  And I look at it's esoteric nature as a
handy screening tool - someone who balks at taking a job that
seems interesting in other respects just because they have to
use a language no-one has ever heard of is someone who
cares more about feathering their resume than the actual work
they do, and I prefer to avoid them.  They don't tend to stick
around, because they believe that having a resume full of
buzzwords and turning over jobs frequently is the way to being
highly paid.  I'd rather hire someone who cares about the quality
of the work they do and the company they work for, and that
person isn't going to care what language they will be using.

Just IMHO, of course - as with most things in life, there are
exceptions to every rule, including this one!