Forum OpenACS Q&A: OpenACS 3 vs. 4

Collapse
Posted by Matthew Soldo on
I'm currently porting our site from ACS to OpenACS. I'm doing so
primarily to avoid Oracle liscence renewel (our is up in about 6
months). I also like Postres more for the scope of what we do, it is
much easier to administer.

I'll need to use the following modules:
-Ecommerce (heavily modified)
-News
-Events (sort of)
-Mailing list (maybe)

I'm considering the following options:
1. Go with OpenACS 3
2. 4.2, modify current ecommerce module
3. 4.2, build new ecommerce module using the features of the new 4.2
platform.

Although I was initially very tempted to go with options 2 or 3 after
seeing how stable and impressive OpenACS 4.2 is, the more I read
through the documentation, the less inclined I am to use it. One of
the beatiful things about the original ACS was if you knew TCL and
SQL, you were 95% of the way to being able to modify/program and ACS
site. But on the new software you have to learn an entire platform to
do anything. And the more I look at the documentation, the more I
find the platform to be just plain overwhelming. Am I giving up to
easy? Is the 4.2 platform relatively easy to get up to speed on?  Or
is the whole thing an over-engineered system that should be avoided?

Collapse
Posted by Don Baccus on
Good questions.  I have one of my own - is it over-engineered or under-engineered?  By that I mean that overly-complex solutions are at times a result of too little, not too much, thought...

The current e-commerce package within OpenACS 4 is in essence the 3.x ecommerce package modified to work within the 4.x framework.  Furfly.net  did the original work under contract for a client, Gilbert Wong ported it to Postgres.  It's not terribly integrated with the 4.x framework, which from your point of view might be a blessing (less learning).  It will be more solid than the OpenACS 3.2 version, I think, shortly and in fact this might be true today.

Coincidently, Gilbert Wong's looking for help on the package.  There are some bugs that need addressing and improvements in the state machine (possibly changed to use acs-workflow?)  Also there will be some work done on interfacing to alternative gateways that will be useful.

So from that point of view, OpenACS 4 may be a better bet.

On the other hand, I still look at the 4.x platform as being immature and needing a lot of work.  The core is stable and I think the suite of packages that exist reasonably so (and the more folks using it the better - we welcome and encourage user-submitted bug fixes), but there are some terrible deficiencies.  Check out the ongoing discussion of admin UI issues over in the design forum, for instance.

We will probably also have some performance work to do, particularly under Postgres, as parts of the toolkit use queries optimized for Oracle that don't work nearly as nicely in Postgres.

Counterbalancing these potential negatives are the fact that we have an active development and testing group, and we're doing some work that I think folks will find interesting.  The OpenMSG folks, for instance, have been writing an automated testing package and we'll be working on integrating that with the toolkit and getting regression tests written.

All this work makes me believe that before too long we'll have a truly excellent toolkit to offer.

And also despite my criticisms of OpenACS 4.x (keep in mind that I tend to be very critical of my own work, not just software but my photography and published writing etc) there are a small number of sites, including commercial sites, already being rolled on the platform.  And the folks doing it have been quite enthusiastic and tell me that despite being called "alpha" software, it's really in pretty good shape.