Forum OpenACS Q&A: Open ACS kernel + ACS modules
What ACS 4.x to use right now ACS 4.x or OpenACS 4.x?
- ACS 4.x is not actively developed by Arsdigita.
- Some OpenACS modules has not been ported and those some modules are
modules that I need.
- ACS 3.x or OpenACS 3.x is out of the question since I have done some
sites on those and want to go with 4.x as I also need the new
permissions model, makes my life easier.
- I can live with Oracle, Postgres is just a desired direction.
I am thinking of:
Use ACS 4.x and after a few months when OpenACS 4.x is in better shape
I do one grand port.
Use OpenACS 4.x and port the modules that I need from ACS to OpenACS
just enough to make it run to Oracle. Maybe if have I have enough
time and talent I will port the whole module and add it to OpenACS.
What do you think should I do? Option A or B? Or do you have a
better option?.... use .Net... hahaha.
Don Baccus if you are reading this I know file storage is under your
wings, its one of the modules that I would need. Is the one on the CVS
will work on Oracle? Is there a major change from ACS file storage,
or will it be just a straight port?
OpenACS 4.x *should* be able to run existing ACS Classic 4.s (i.e. aD Oracle-based) packages unchanged. As of about six weeks ago, I know this worked for sure, i.e. loading and mounting of such packages worked fine. It's not been tested recently because it's not of high priority during the actual porting process (I will make sure that it works by beta and/or final release, however!)
The existing OpenACS 4.x packages that you find in the tree that haven't been ported are vanilla ACS 4.x packages that have been slightly rearranged into our new framework, but which should still work well with Oracle.
There are some exceptions and caveats to the above:
1. We're removing the "places" packages - which literally could take HOURS to install - and replacing it with Jon Griffin's more generalized "acs-references" package. You'll need to use our version of packages dependent on "places", even if you're using Oracle.
2. We've consolidated outgoing e-mail functionality into one packages, "acs-mail", and are getting rid of "acs-notifications". Packages dependent on "acs-notifications" won't work and you'll have to use our version of them.
Our goal is to roll out some sort of alpha release (which may just be an officially blessed tarball linked from the project page) on or about August 15th. This will include all packages that are currently marked "PORTED" on the status sheet and some or all or those marked "DATAMODELS" as well. These will all support both Postgres and Oracle, but will have had minimal testing. Serious testing will get underway at about that time.
If you want to help out with porting some of the existing packages, please let me know. There are still a few that aren't assigned to any one yet.
ACS 4.x is actively under development by ArsDigita, but we are currently developing it for J2EE and not AOLserver. ACS 4.6 is released today, and is available here. Our plans for development of the colloboration modules are here. Any code written with ACS 4.6 will be supported in the 5.0 upgrade.
Postgres support is planned immediately after the 5.0 release. 5.0 is currently scheduled for release in October. I'll be happy to answer any questions you have about the system.
Thanks for giving me the info that Open ACS 4.x will run ACS 4.x modules with little hitches. I have CVS OACS now if only I can get this ns_xml to work. I will also try to see if there are any modules that I need that is still not yet assigned. But as of now it seems that you guys are doing a great work. The modules that I need are being ported already.
Go OpenACS! Go!
I have downloaded ACS 4.6 Java. I will give it a try but so far I dont see our company using the Java solution right now. We have a long history of using Aolserver and Tcl. We have developed Aolserver v2 sites, www.titec.com, www.voodoo-cycles.com and www.bkconnection.bom. It was a natural for us to use ACS 3.x and OpenACS 3.x for www.semizone.com and www.videoauthority.com. We even have plain aolserver v3 sites www.pamanacarpets.com and www.ucpbgen.com.
Although we are not an exclusive aolserver tcl shop, but aolserver + tcl has proven time and time again that its a reliable and working platform. We may decide to use Java but maybe not just yet, have to see 4.6 in action when I give it a whirl tomorrow.
My Question is:
Why would I as a developer use ACS Java? Why not something ACS Tcl + ACS Java? Use Tcl on its strengths and use Java on its strengths?
Its like Unix will never take Windows world and vise versa, so same goes with Java is not everthing, Tcl is not the ubber language. Why not just integrate? Or does Java solves much of the solutions in the ACS problem space?
Why not just Java + Tcl?
Ask here, and we'll mostly say, "I dunno, the Tcl version has served me well" and, like you, list sites we've developed with it :)
There's nothing wrong with asking here, it's just that the Java fans live elsewhere, i.e. at aD.
Feel free to post questions or requests for help with ns_xml here at openacs.org - probably in another thread so folks will see them more readily.
You've got good reasoning; pick the right tool for the problem you're solving. But if you do get a change to check out ACS 4.6, please let us know what you like and don't like about it.
We started using Java because we needed language features that a robust OO language like Java has and wanted to leverage existing Java components. For instance, inheritance and interfaces are very useful for building maintainable and upgradeable components. We found that several existing Java components, like the log4j system, the Xerces XML parser and the Xalan XSLT processor worked quite well and it was pragmatic for us to use Java to leverage code like this.
Maintaining a single language platform has some pragmatic advantages over doing the integration. Its easier to maintain the system since its in one language. Overall, Java is well suited for web development and I've found that its quite easy to start using it. I programmed parts of ACS 3.4 and ACS 4.0 that OpenACS is building on. After this experience, and working with two versions of ACS Java, I believe that doing it in Java leads to better tested and maintainable code. One of the big drawbacks with the Tcl framework is that there isn't a good unit testing system. The JUnit framework solves this problem nicely. There are other frameworks built on top of it for more sophisticated testing, such as HttpUnit and Cactus.
You can integrate Java with Tcl, but I personally haven't tried to do it. I believe Ben Adida has written about that. Scripting languages are designed to be integrated, so I'm sure its possible, and the common language runtime of .NET will make this commonplace. That being said, the J2EE framework gives you a lot of flexibility and power, a large repository of code to use, and all it runs on a platform-independent language with multiple support opportunities and vendor choices.
Those are some of the reasons for going with Java and not trying to do a Tcl/Java blend. In any case, both systems are free and open source, so the user gets a great and open choice.
p.s. Don, since you said it was ok to talk about this here, I will, but let me know if you'd rather I not start posts like this here.
For instance, there's a lot of curiousity about the new license here but this doesn't really seem like the best place to discuss it.
Of course, if people just want to gossip, speculate and bitch we could start up a separate forum at openacs.org entitled "Why did Ars Digita do that?" I'm sure it would be popular!
In other words, this particular forum is labelled "OpenACS" and we should try to stick to that topic.
Seems most of the ACS/OpenACS discussion is here. No one even announced the release of 4.6 on web/db.
Yup Tom is right ACS 4.6 was posted here first not Ad's forum. Also there is less traffic there now. Anyway since we have to stick with OpenACS topic I have created another thread that asks question on how will OpenACS that is tcl based to talk to webservices. Since aD has given there side why Java. So for OpenACS its not why Tcl but "How" will tcl talk/integrate with others?Click here for the thread in How OpenACS will talk to others
This thread should be ended already. Thanks for the great discussion espcially Don's statement that OpenACS will try to make ACS tcl modules to run with little modifications.
Don and Ben's points are not that ACS Java is bad, just that aDPL was written in such a way that could endanger the freedom of OpenACS. There are any number of reasons they did this and I don't think they did it to undermine OpenACS.
aD is not in the clear yet. It's not assured aD will exist in a year. In case they go under or are absorbed by another company there's no telling what might happen to that code. And by extension, there's no telling what will happen to any code that's been derived from ACS4.6 or beyond. That's why it's important that OpenACS developers maintain a clear separation from the current aD code.
As the representative of a company that is committed to OpenACS and is a partner of aD, we're in a little weird position. We would love to take advantage of ACS Java, but are also actively developing on the OpenACS platform. So it seems aD effectively made us choose to go one way or the other, not enjoy the best of both worlds, with the aDPL simply because we are not interested in endangering the freedom OpenACS enjoys under the GPL.
I really hope that this stuff will be cleared up soon, or it's going to put a lot of people in very difficult positions. I don't necessarily have a problem with their license switch, but I have to admit I'm once again disappointed with the way they dealt with their community.
aD. What ever happened to the concept that forum owners get to decide what's appropriate for their forums???
If enough people are interested we can start a different forum here at
openacs.org but as Talli points out we have licensing concerns, so we don't want our developers looking at ACS Java. This alone would cut down the usefulness of a discussion forum.
But still, we could have such a forum and of course if licensing questions get answered or resolved in a way that makes it clear that our reading of ACS Java code doesn't threaten the GPL-ability of our project it would probably get a lot more traffic than it would today.
I have to wonder why an aD forum on their own toolkit wouldn't be popular, though. Isn't that the logical place to host such a forum, not here?
I'm going to reiterate something I've mentioned at least once in this thread or a related thread:
When I say something's not appropriate for THIS FORUM that's exactly what I mean. I don't mean that it's necessarily inappropriate for an openacs.org forum - just THIS ONE.
This forum's about OpenACS. If enough of the community wants an ACS Java forum then they should ask - though I'd want us to think through whether or not we'd feel comfortable doing so due to the license situation (please don't mistake this for philisophical opposition to adding forums to the website if there's enough interest, though!).
We could also add a "general interest" forum here at openacs.org, leaving this forum (the OpenACS forum) for questions specific to the avrious OpenACS tookit versions, projects, etc.
web/db used to serve that functionality but people seem to spend more time here than there, now - even aD people - so maybe we should have our own general forum.
The downside might be that (from what I've seen) that sort of traffic is intermittent here, it seems to come in short bursts. The only way to find out if there would be sufficient traffic to sustain a new forum would be to try it, I suppose! To be polite, we should perhaps first ask aD if they would have any strong negative feelings about our setting up a forum here which in a sense would be 'competition' or even a 'replacement' for their existing web/db forum?
It seems to me that if the community which once frequented web/db at aD has mostly migrated here, then a new more general bboard here makes good sense. Something else for the forthcoming Museatech OpenACS.org site makeover to include, perhaps.
Of course, we could just prominently link to web/db - that might breath some life into it.
The advantage of having it here would be that the new openacs.org will
include site-wide search
functionality, and having threads on generalized "web tech" topics at our fingertips would be a nice thing for the community.