Forum OpenACS Q&A: I don't get it - new to acs

Collapse
Posted by bob c on
I've been looking around the documentations but I still don't understand how ACS works&runs. + I couldn't find any explanations about the differences between ACS3, ACS4 and OpenACS, and why the packages couldn't be ported from ACS3 to 4, what's the reason?

Anyway, so I attempted to look at the code. It's big, too big if you ask me, don't know where's the head, where's the tail. So I'm kind of overwhelmed, I'm stuck. I think what I need is the bare-minimum of *ACS (code+sql), forget the packages, or whatever, I just need the thing that's behind it all, I don't know if you guys understand what I mean... any help?

Collapse
Posted by Jarkko Laine on
Bob,

Here's some explanation about the old and new package structure. I don't think there's any reason why packages from ACS3 couldn't be ported, they just don't work as they are because of the fundamental changes in the system.

If you want to learn more, you might want to read Reuven Lerner's articles (LJ 101-105) about OpenACS and/or go through the problem sets.

OpenACS, like any system of its kind, is big and you probably can't get the big picture by just looking the code. You can't get OpenACS without any packages, since everything is organized into them. You can get the bare minimum of OpenACS by checking it out with CVS with module name "acs-core" - see CVS instructions for how to do this.

Collapse
Posted by bob c on
hmmm...ok but!
does anyone have the original ACS? I mean the first version??
Collapse
Posted by Talli Somekh on
Bob, it's certainly true that it's hard to get your mind around the system. And most of the people here have done it by brute force coding over a period of many months. No one's been able to exactly write the whole thing up because the coding is going hot and heavy.

So instead of demanding that people answer a really broad and frustrated question, how about telling us what you are looking to do and what you want out of a system. And then people are more apt to give you a direct answer.

As far as getting the older code, there is something called CVS...

talli

Collapse
Posted by bob c on
Forget about what I want from the system, for now, I'd like to know the engine (how it runs). Those articles by Lerner were helpful, but I'm looking for more.

CVS? Which one? I wasn't able to find the original ArsDigita ACS-1.0 or anything that comes close as old. Though, I did find ACS-3.4.10. I'm looking for older, bugs and everthing, it doesn't matter.

Collapse
Posted by Talli Somekh on
Sweet attitude.

There's very little that you would learn from studying older versions of the OACS. By the time you understood them, you would have to relearn everything to understand OACS4, which was a total rewrite.

OACS 3.2.5 is the oldest you'll find. Read that code if you want old. But you're not going to get as much out of it as doing the same with OACS 4.x

talli

Collapse
Posted by Mat Kovach on
I've been looking around the documentations but I still don't understand how ACS works&runs. + I couldn't find any explanations about the differences between ACS3, ACS4 and OpenACS, and why the packages couldn't be ported from ACS3 to 4, what's the reason?

Because ACS/OpenACS 4 was a complete rewrite of ACS, (ACS as described by "The Book" (http://philip.greenspun.com/panda/)). You can find some history on OpenACS (and ACS to some extent byt looking at the history page (https://openacs.org/about/history) on this site.). Really breif: OpenACS was a Postgres port of ACS. When ACS-TCL was let go by Arsdigitia, OpenACS because the offical ACS-TCL code). A quick search of the web would have shown sites like http://eveander.com/arsdigita/ for some old history of ACS, and of course RedHat (who bought some of the old aD has some archives at http://ccm.redhat.com/bboard-archive/).

You'll need to read through them if you want to understand ACS, OpenACS and the changes that have gone through.

Anyway, so I attempted to look at the code. It's big, too big if you ask me, don't know where's the head, where's the tail. So I'm kind of overwhelmed, I'm stuck. I think what I need is the bare-minimum of *ACS (code+sql), forget the packages, or whatever, I just need the thing that's behind it all, I don't know if you guys understand what I mean... any help?

Of course the code is big, look at what it does. If you do a bit of research you'll learn that what is behind OpenACS is AOLserver, SQL, and TCL. Personally, and you'll probably take this wrong, but I don't think YOU understand what you are asking. If you want the "bare minimum" look at acs-core, but like UNIX itself OpenACS is built from from the "many parts working together" model, not a monolithic core of everything. It is possible to build from just the core but most of the features you'll need to develop for OpenACS have been moved to packages. The system is built on top of the core model.

Collapse
Posted by Andrew Piskorski on
Bob, why the heck do you want to look at ACS 1.0? That would be code from 1998 or so, maybe earlier. I'm sure someone has a tarball somewhere but unless you have an old site forked from ACS 1.0 and have lost your own original tarball, I can't imagine why you'd want it.
Collapse
Posted by Andrew Piskorski on
If you're serious about wanting to understand how "the engine" works before actually getting into using OpenACS, you'll probably want to read:
  • About AOLserver, as the APIs it provides are rather central to everything Philip's old Introduction to AOLserver articles are probably still good choices here. There are likely others.
  • About SQL and Tcl, of course. Again Philip's old tutorials (SQL and Tcl for Web Nerds) are probably adequate to give you a feel.
  • Some of the principles and ideas that lead to OpenACS. Philip and Alex's Guide to Web Publishing is probably still good background here.
  • Much of the OpenACS docs. In particular, probably the requirements and design docs for the ACS Kernel, the request processor, and the Templating System.
  • Probably the core data model. The data model is the single most important part of the system, but I don't have a tutorial link handy to give you, sorry.

I just came up with the list above off the cuff, so I wouldn't necessarily call it complete or ideal list, but it seems like a pretty good place to start to me, given what I understand of your goals.

Still though, Bob, you'd be better off explaining to us just what it is you're trying to accomplish. That you "want to understand the engine" is awfully vague. Are you trying to evaluate whether you want to use OpenACS? Looking for ideas on how to improve some other system? Writing an article comparing OpenACS to other tools? What?