Forum OpenACS Development: Moving from ACS classic to OpenACS 4?


We are developing our new web site based on ACS classic 4.2 ... We
have just gone out of design work and starting to code some stuff. My
question is, since aD looks like it has let us down with support and
new developments of ACS 4 TCL, then I am starting to look to
integrate more with OpenACS. We need to work with Oracle (I know I
know, please no flames) and I personally like more TCL than Java (no
flames on this either please), is there a way where I could start
looking to help us move towards a more easy integration so that we
can get/give support to/from the OpenACS community.

I have been trying to be a little bit active on the aD forums, it's
not always easy, I will try to be more active here.

Thanks in advance.

Posted by Alex Sokoloff on
Does this mean that Greenpeace's web site will be running on ACS?
Posted by Ben Adida on
This is an extremely important question. We completely expect people
to be able to move from ACS Classic 4.2 to OpenACS 4.x. OpenACS 4.x
will be Oracle compatible for that very reason. While this will not
initially be a one-step migration, we expect that plenty of interested
contributors like yourself will help us build the tools to make it easier!

The OpenACS 4.x design so far has not affected the core APIs. The big
changes are in the APM and in the Content Repository, although those
should add flexibility with little incompatibility. Your best bet in
building your application is to make sure that you:

- build standard packages using the APM.

- use the DB API at all times. Do *not* use the CMS's custom DB API.
Use the standard DB API and make sure to name your queries correctly
(unique names per Tcl file for single-page Tcl files, unique names per
Tcl proc otherwise).

- use as much SQL92 standard as possible in Oracle. We're going to
remain Oracle compatible, but who knows, you may be so pleased with
OpenACS you'll want to switch to PostgreSQL.

- don't use Java in Oracle. If you absolutely must use Java, use ns_java.

And if you want to help, you should get the latest OpenACS 4.x as we
develop it, and see how soon you can start writing your code for it.
Depending on your specific design, you'll be able to jump on board
somewhere between end of June and beginning of August.

As ArsDigita builds ACS Java, we want to offer the community the
choice of continuing down the current path with maximal architecture
and code compatibility. You'll have the choice to migrate to
ArsDigita's new ACS, or to stay the Tcl/AOLserver route with OpenACS
4.x. Choice is a very good thing.

Posted by Bruno Mattarollo on
Yes! :-)

I have been following ACS (and OpenACS now) for quite a while and several month ago when we started the project I decided to go with ACS. The initial idea was to go with Zope, but that has changed now. I don't want to start again with the endless discussion. We are using Zope for other projects and it's a very good tool, but for many reasons it was not what we needed to power our websites.

It's going to be more than just Greenpeace's website in english, we aim at making it truly multilingual (support for european languages, japanese, thai and many other languages, well, places where we are present). And all the code will be released under the GPL.

Posted by Bruno Mattarollo on
Wow ... I am really surprised with the lightning fast answers! Cool!

I really would like to contribute. We will see how much we can contribute now since we are moving full steam ahead in development of the website itself.

Since the functionality that we need is quite ackward (I am not a native english speaker so please forgive all my spelling mistakes :-) we will not use APM ... at least that's what we see at this point. I would like to make them standard apps but I don't know if we will be able to do it that way... I will let the community know.

The initial idea was that we wanted a website with multilingual support and the ability to index documents in a wide variety of formats and it has to be rock-solid. So we though of Oracle to be the repository. But since we are Greenpeace, a non-profit, and we are commited to the OpenSource movement (we run a quite extensive Linux network internally) we keep in mind the possible migration to PostgreSQL in the future (mid to long-term).

So this is the current status ... I will try to download and install the OpenACS 4.x and get back in the BBOARD.

Thanks again!

Posted by Don Baccus on
You'll want to use the APM because the bootstrap installer now uses that to determine which datamodel to load, which query files to load, etc.

This doesn't mean you have to support both Oracle and Postgres datamodels in any packages you write - it is perfectly reasonable to write a package that only contains an Oracle datamodel, and generic SQL92+(when necessary)Oracle-specific queryfiles.

Or PostgreSQL-only, of course.

If you write within the framework and if the code can be GPL'd, then others can port any new packages you write to other RDBMS systems much more easily if you follow the framework from the beginning.  And working within the framework's easy.

Regardless we highly recommend you follow the new queryfile structure.  If you have existing packages you can run the query extractor, stuff your sql/*.sql files into sql/oracle/*.sql, run the APM on it to build  a new .info file, and be up and running under the OpenACS 4 scheme in  a half day at most (more if you need to ask us questions, etc).

Non-profit support is one of my personal driving motivations for being  a part of the OpenACS project.  I'm not alone in that.  You can be certain that the community will be willing to help you out with any questions you might have (though I'll personally be unavailable from June 6th-June 29th).

Posted by Rafael Calvo on
I am not experienced with OpenACS, but I just wanted to say we will also be very happy to help greenpeace.

I may be wrong, but it would be (besides :-)) the highest profile site using OpenACS. It would be interesting to have a case study so people selling openacs can use it as an argument for opensource solutions -it doesn't matter if it is Zope or OpenACS-.

In fact thanks to ACS been open source the change  in the aD strategy will not affect aD clients that do not want to go to Java, or that are not satisfied with customer support or whatever. As Don just said options are good.