Forum OpenACS Q&A: Trying to catch up....Help?

Collapse
Posted by David Phillips on
Hi,

I started looking at ACS a couple years ago...but never did much with
it after I downloaded it. I now have the time to rectify this mistake
and experiment a bit.  Problem is, I'm having trouble keeping up with
what is going on now.

I kept up with the aD fiasco (morbid curiosity), but I don't
understand much about the branching of the toolkit (OpenACS,
OpenNSD...?), what modules exist, what modules work with what
toolkits, what setup would be best for my needs, etc.???

I'm only interested in Tcl branches, as I've had more than my fill of
Java...

I realize much of this information is scattered around the forums,
but I would appreciate it if someone gave me an overview.  I'm rather
dim-witted technically and I don't want to waste hundreds of hours
trying to get incompatible things to work together simply because I
made idiotic newbie assumptions.

I'm primarily interested in the bulletin board, e-commerce, and CMS
capabilities.

I'm as close to a total newbie as one can be, so suggestions that are
robust (less hacking and tweaking) and offer gentler learning curves
are most welcome.

Many thanks in advance!

- David

OTHER INFO:
I have a rack of 6 Apple xserves, so I'm especially interested in
things on the Mac OS X front, but I can buy a computer and re-learn
FreeBSD if absolutely necessary? [Suggestions?] I also have no
experience with PostgreSQL, but own a Frontbase db license (which has
a Tcl module.) Should I spend my time learning Postgres or trying to
get the data model to work with Frontbase?  Also, I have quite a bit
of time/money invested in the Zeus webserver (Yes, I prefer open-
source, but it has great speed and virtual server support!), does
anyone have any experience running Zeus alongside AolServer?

Collapse
Posted by defunct defunct on
Hi David,

Following the aD debarcle they pretty much abandoned the TCL version in favour of an Java based ACS (which ain't worth mentioning as it just never got that far).

Thereafter the OpenACS community became the home for ACS TCL... In the last year or so its been ported so it now works on either oracle or postgres, allowing for a fully open source alternative.

Also, aD left that system in something less than an ideal state. I won't go over all that again :) but suffice to say that a lot of work has gone into this current version and its a great improvement.

As for packages and applications all are still there.

Cheers
Simon

Collapse
Posted by Jade Rubick on
You can also run OpenACS on Mac OS X, although it's not really
ready for production yet. I do my development work on a
Powerbook, and it works just fine. There is a thread somewhere
here about getting set up -- if you're a newbie, I suggest just
installing the prepackaged deal (I don't remember who did it, but
it sure was a lot easier). The documentation for Mac OS X
doesn't work for Mac OS 10.1, unfortunately. Of course, if you
have some time on your hands, we'd all love it if someone would
get the documentation working...

If you are going to buy a computer, you should probably install
Linux on it. FreeBSD would work, but there are a lot of Linux
people here to help out :)

Collapse
Posted by russ m on
I've got some old pre-built binaries for OSX 10.1 available at
http://snowy.oloto.com/openacs/ - they work, but they're not really
production-suitable... I've been meaning to update the stuff there
(and prepare a proper 10.1 section for Walter McGinnis' OSX
HOWTO) for a while, but it's at the low-priority end of my to-do
list... It'll probably end up being for 10.2 at this rate...

AOLServer and postgres run pretty well under OSX - we demo to
clients on our powerbooks, and have been very pleasantly
surprised by the performance of OpenACS on Apple hardware
(outperforming intel hardware clocked twice as fast - admittedly
without production loads or dataset sizes). We have one client
we'd like to deploy on OSX so we'll be doing some proper load
testing over the next couple of months...

Collapse
Posted by Michael Feldstein on
Hi David,

Furfly has been doing work on ecommerce and apparently has
some code they will be releasing soon: You can find out the
latest here:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0004o4&topic_id=12&topic=OpenACS%204%2e0%20Design

OpenForce is working hard on a major upgrade to bboard, as
you'll see here:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0004ir&topic_id=OpenACS%204%2e0%20Design&topic=12

CMS capabilities are a little murkier. Although aD's underlying
content repository architecture is alive and well, the community
basically decided to throw out the CMS itself because it had
serious problems and nobody was particularly enthusiastic
about wading into the code to fix it. A new, much simpler CMS
module called "Edit This Page" (or ETP) was developed by
Musea. They are actively working on evolving it, as you'll see
here:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=00047q&topic_id=12&topic=OpenACS%204%2e0%20Design

Here's a thread on using OpenACS on OS X:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0002mP&topic_id=11&topic=OpenACS

Regarding the question of buying a new box, it's certainly true
that you'll get the quickest and easiest answers from the
community if you're running Linux just because so many people
are doing it. However, there is a fair amount of interest in OS X. I
personally would love to hear performance reports on XServe.

Collapse
Posted by Don Baccus on
<blockquote><i>Although aD's underlying content repository architecture is alive and well, the community basically decided to throw out the CMS itself because it had serious problems and nobody was particularly enthusiastic about wading into the code to fix it.</i></blockquote>
That probably overstates the case a bit, though it was probably accurate a year ago.
<p>
The CMS UI is indeed fairly wretched, but there are lots of pieces in the CMS that are worth saving.  It knows how to automatically build input forms from properly defined objects, for instance, through an facility that lets you register entry widgets to attributes.  You can attach output templates to content types, too, of course.
<p>
It was obviously originally designed as a standalone system and integration with the ACS is a bit haphazard, as is made obvious by its insistence on the user having a screen name and on its parallel login code (it doesn't use the standard ACS login pages).
<p>Personally I think ETP would've been a stronger piece of work if the CMS had been cannabalized for its best parts and if its weaknesses had been analyzed.  ETP is a fine little tool but it's not clear that it's a full replacement for the CMS.
Collapse
Posted by Michael Feldstein on
Thanks for the clarification, Don.

To be fair, I don't think Musea was setting out to create a full-on
CMS replacement. They had simpler needs and developed a
system that met those needs. ETP2 looks like it aims to be more
sophisticated but still falls well short of the ambitions that CMS
attempted to fulfill. The fact is that if you're looking for a
full-featured, enterprise-appropriate CMS, then OpenACS doesn't
have one that's in good working order and nobody that I know of
has publicly announced that they're working on one.

Collapse
Posted by Andrew Piskorski on
David, in case it isn't already obvious, if you are new to OpenACS you absolutely do not want to even think about porting it to Frontbase! That would be a major undertaking, probably not something you want to even consider without a very good reason. The supported databases for OpenACS 4 are Oracle and PostgreSQL.

However, if you have legacy stuff using Frontbase and want to make that stuff work with OpenACS in some fashion, if you have or can write an AOLserver database driver for Frontbase, then you could probably make that work. I don't think any such driver exists for FrontBase, but if Frontbase supports ODBC, you might be able to use one of the AOLserver ODBC drivers instead. But, since it doesn't sound like you have any large amount of legacy code requiring Frontbase, you'd probably be better served by simply switching to Postgres ASAP. (And I know nothing about Frontbase, but I'd bet that Postgres is a better rdbms, anyway.)

Collapse
Posted by David Phillips on
Thanks for the incredibly helpful posts...keep 'em coming!

Jade:  I'm also looking to do development on a TiBook.  I usually prefer *BSD to Linux, but I guess I'll go with either Linux or OS X.
I think I read somewhere on this site that Red Hat is the preferred distro of Linux (if I end up chickening out on the OS X)?

Russell:  I'd love to be updated about your progress with an OpenACS/OS X combo in a production environment as you work with your client.  I'll try to reciprocate, although I'm sure I'll make MUCH slower headway...my company runs almost everything on OS X, so I really want to be able to get something working.

Michael:  Thank you! You're one heckuva tour guide.  I would love to see OpenACS scream on an Xserve (everything else I've tried on Xserve does, in fact, go Mach X ;) )

Didn't you mention pgMac on another post?
Have you (or anyone else) actually tried it? - I seem to be their ideal customer (I'm stupid/inexperienced and have $250.)

I would think a decent CMS would be a higher priority than it is, since it is such a common need?

Andrew:  Last time I looked at Postgres it was not anywhere near Frontbase in functionality/ease of use (Of course, I know they've both made quantum leaps since then...)

I won't actually make an argument that Frontbase is better than anything, since I'm not experienced enough to fully understand the subtle technical merits of RDBMS.  I will, however, ask you a question:  If you could use either Postgress OR Oracle - free of all charges, which would you choose?  Oracle, right?

At my last start-up I hired a senior Oracle DBA, an OCP who had worked for Oracle.  He ended up choosing Frontbase over Oracle 8, even though we were budgeted for Oracle and had already purchased Oracle training contracts for our junior DBAs.(!)  This was after extensive testing, BTW.

We saved enough on db licenses, training, and overtime to...well, we saved MUCHO.  (Of course, we were implementing in WebObjects - and a few servlets - so the Frontbase EOF support saved us a great deal of time additionally.)

Of course, this is just an anecdotal thing - but I thought I would relay our experiences so that you wouldn't dismiss Frontbase out of hand if you ever have to work on OS X...their website is at frontbase.com.

We have no legacy code in Frontbase for the apps I'm planning, but it would be trivial to have one of my employees or a third-party (i.e. a real programmer) write a db driver.  [I'm just a dabbler, but I have access to actual talent;) ]

I guess since I don't have a good reason to use Frontbase, I'll learn Postgres.  Any Postgres book recommendations? The Momjian book gave me a headache once ;)

Now that I've mentioned WebObjects, I just have to ask:  would there be any (likely to happen) way to implement something like EOF and/or the session management methods of WO in OpenACS?  (Cookies are UGLY!)

Please be kind, remember that I'm ignorant;)

Collapse
Posted by Roberto Mello on
"Beginning Databases with PostgreSQL" is a good book. I was one of the technical reviewers of it and I think the authors did a good job. I like Wrox Press books in general. They seem to have the qualities that O'Reilly books used to have.

ISBN: 1861005156

http://isbn.nu/1861005156.

Collapse
Posted by Michael Feldstein on
David, I've never used pgMac and I don't know anybody who has,
though it's possible I posted a link to it if I saw it somewhere at
sometime. (I honestly don't remember whether I did or not.)

Regarding the CMS, I think the problem is that it's a pretty large
undertaking--big enough that the typical (relatively small)
OpenACS shops probably couldn't just go out and put in the time
to do it right without fairly significant client sponsorship. Now, if
somebody had the dollars to fund the initial development, I think
you'd see a lot of community energy going into maintaining and
enhancing the output of that first sponsored effort.

That's just my own guess, though.

Collapse
Posted by Don Baccus on
Now that I've mentioned WebObjects, I just have to ask: would there be any (likely to happen) way to implement something like EOF and/or the session management methods of WO in OpenACS? (Cookies are UGLY!) Please be kind, remember that I'm ignorant;)
I know of only two ways to track state in pure HTML: cookies and URL info. The latter's far worse than cookies IMO. Cookies aren't ugly - abuse of cookies is ugly. Modern browsers are beginning to give users the sort of control over cookies they need in order to preserve privacy.
Collapse
Posted by Walter McGinnis on
In regards to CMS.  A lot of the pieces are in place (the content-
repository data model, templating, workflow, and now new-portal
for aggregation of content), but they are still evolving.  The aD
CMS fit the cart before the horse cliche.  It uses several of these
tools and then provides a overarching admin interface for them.
Everyone seems to hate the CMS for its interface, but the
overlooked truth is the CMS was responsible for getting a lot of
the needed tools off the ground.  The underlying tools are where
the value is and that is where you are seeing the most developer
interest.
I think we will reach a critical mass when the supporting
packages hit their stride.  Then it will make sense to tie them all
together.  Of course, it would be a mistake to develop them
without the goal of unified CM functionality in mind.

OpenACS 4.5's functionality goes beyond CM, but CM
functionality is present right now in the core of OpenACS.  I
wouldn't be surprised if we arrive at  a pre-configured vertical
app built on OpenACS called "dotCMS" or something.

Collapse
Posted by David Phillips on
Don:

Point taken.  I guess I honestly liked the URL method more (at least in WO) because you didn't have to deal with it, it did it for you.

Did I mention I'm stupid AND lazy ;)

And, you have to admit, cookies ARE abused to an incredible degree.  I like less intrusive designs. Why do you think URL method is worse than cookie method?

Robert:  I just ordered the book.  Thank you for the recommendation, it looks decent.

Michael: It may have been someone else that mentioned pgMac...Walter?

I'd be more likely to put money up to fund OS X and "user-friendly for the non-techs" related stuff than content management stuff.  I can get by with Tcl and Python for a rough-shod templating/workflow system, but a rock-solid OpenACS/OSX system (with a GUI for admin tasks) would be nice. It would also dovetail nicely with the needs of the many educational institutions that will no doubt be getting xserves.  (OACS already seems to be hitting at that market pretty hard anyway.)

I come from a general business background (and got into web stuff via multimedia), so I understand the need for fool-friendly tools for us less technically inclined folks.  Command line may be more efficient, but pretty pictures make Joe Schmo comfortable AND productive.

Collapse
Posted by Michael Feldstein on
If you're interested in making OpenACS more newbie-friendly to
install and administer, then you probably want to look at this
thread:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0004jo&topic_id=OpenACS%204%2e0%20Design&topic=12

Collapse
Posted by Sam Snow on
Except for the webmin like clone they are referring to in that thread does not exist...

For ease of install it is hard to beat the RPMs that are for OpenACS 3 (and hopefully 4 once it is stable).

Collapse
Posted by Don Baccus on
<blockquote><i>Command line may be more efficient, but pretty pictures make Joe Schmo comfortable AND productive.</i></blockquote>
Mac OS X isn't the only Unix-based system that makes it unnecessary to use the CLI for most things.  Modern Linux distros have vastly improved in this regard in the last couple of years, along with autodetecting and supporting hardware.
<p>And under Mac OS X you'll still need to do some CLI work to get an OpenACS system up.  But I wouldn't worry about it, we're talking servers here and larger school districts are already running DNS, mail, web and various servers.  They're professional IT types - mine, the Multnomah County ESD most runs Linux these days anyway.
<p>Of course the situation changes at the level of the individual school or for small, rural districts.
<p><b>cookies vs. URL</b></p>
<p>Encoding state information in URLs rather than cookies makes search engine links and the like interesting.  Having an expired session state value show up in a search engine link isn't very cool, for instance.
<p>OpenACS tries to place a session state cookie on your machine but runs fine if you refuse it.  You only *need* cookies enabled to log in.  Cookies can be set to time out, which is useful in scenarios where you might log in from PC in, say, a library and forget to log out.  If you do remember to log out, the system clears the cookie.
<p>If your authentication information is encoded in URLs, then the library PC's browser history will allow anyone to come in and pose as you, even days later.  You could implement such a system so logging out made the old URLs not work (and time out older ones, too) but then you can't bookmark into the site ...
<p>The short story: cookies were invented for a reason, that reason being that trying to track state in URLs is inadequate.
Collapse
Posted by Walter McGinnis on
I'm pretty confidant that you can use AppleScript to get rid of the
CLI in the interactive configuration process under Mac OS X.

For those familiar, I think you could create AppleScripts that
would have a similar process to the Setup Assistant or the
Network Assistant using AppleScript Studio.  At least to do
something similar to what was done with RPMs last year, but
from a GUI.

The installer program has a "lock" icon that prompts for an
admin password which enables to the program to run as root.
In other words you could run scripts as root to do things like
create users, etc which are traditionally done from the command
line.  This, of course, assumes a fairly standard installation.

I must admit, that my curiousity is peaked by the idea of building
this.  I need more time to think about the details of the design
and I'm not sure that I can commit to doing it yet.

Walter

Collapse
Posted by Walter McGinnis on
urgh. piqued not peaked.  doh!
Collapse
Posted by Matthew Terenzio on
For what it is worth:

When I first saw Philip Greenspun speak some years back I knew little more than HTML. I now feel pretty comfortable building db- backed web apps. In fact, it has become my profession. I've been following ACS/OACS the whole time and it seems to me to be the best of its kind(if there is another of its kind). The developers are the most intelligent and helpful bunch on the web. I owe much of what I've learned to them.

Now the bad part.

I haven't nearly been able to take full advantage of OACS.
Why is this?
Lack of tutorials, I guess.
I still don't know how to practically use some of the OACS main features. Installation guides have been great. A few others here and there.
Maybe there should be a practical application forum.
I know most everyone has been busy with the port and further development. But the more people who gain a deeper understanding of the system, the more developers will be able to help. I for one can't wait until the day I contribute a fix or a module.
I know its not a popularity contest. Maybe we don't want a ton of developers interested in  the project.
But I do find it nice to be able to search google and find an example script with some other languages and servers. If I could do that for AOLserver/TCL/OACS I'd probably give the others up.
Too bad I missed those Boot camps. . .

Collapse
Posted by Dave Bauer on
Matthew,

It is true that there is not cookbook of techniques to solve common tasks using the toolkit. But as you said the developers involved are knowledgable and helpful. If you have a question on how to approach a situation, post to the bboard. Chances are someone else has already had the same problem. If they have solved it, they can provide a solution, if not, you have one more person to help think about the solution.

So, don't be afraid to ask questions.

Collapse
Posted by Don Baccus on
Don't be afraid to ask questions, as Dave Bauer suggests.  And ... don't be afraid to help with documentation.

There's a saying out there that says "there's no such thing as a stupid question, there are just stupid answers".

I disagree .. there aren't really stupid questions, but it's not that answers are stupid instead, it's just that documentation is stupid.  Incomplete, poorly organized, user-unfriendly, etc etc.

So ... ask away.  Don't feel shy.  We won't treat you as being stupid( I happen to think our forums are very newbie/non-techie friendly).  We may ask you, if you continue to post intellegently with evidence of being able to write a coherent sentence, to consider helping out with documentation.  Consider it an honor.  Seriously ... we have some great hackers here who work on the toolkit proper, but it is IMPOSSIBLE to underestimate the value of documentation, clear examples, etc.

Collapse
Posted by Torben Brosten on
Furthermore, Matthew,

Dialog from answers to questions become notes for improving documentation --helping to shape documentation.  Questions are critical indicators to knowing where documentation is lacking.

Ask away...

Collapse
Posted by Walter McGinnis on
I've got a sketch of a design for the AppleScript application to
install and configure all the necessary components to create an
OpenACS 4.5 instance (PG only).  It should be pretty modular
and some of the components may be generally useful, even
outside of Mac OS X.

If anyone is interested, drop me a line.  I'm not ready to commit
to this definitely yet, but I'm impressed by the possibilities...