Forum OpenACS Development: Re: Ideas for easier installation of OpenACS

Collapse
Posted by Tom Jackson on
Most applications are nowhere nearly as complicated as AOLserver and OpenACS. It is very hard to compare it to other types of precompiled applications. Compiling is the easy part. If you can't get over that minor hump in the road, you will quickly run into the difficulty of providing a secure and useful application.

I cannot stress more that you will quickly run into major trouble if you try to shortcut the process of installing OpenACS. Please consider this: this project is filled with many very talented developers. Yet, even though there are continuous calls for an easier installation, they never get done. There is a reason for this, and it isn't laziness.

Consider one simple example. I decided to compile AOLserver in my home directory to test out some feature. I thought I had discovered a massive bug where the server would run for a few requests then crash with weird errors. I wasted a day tracking down the fact that the library loader was finding the wrong version of Tcl. It used the correct version for building, but found something else at runtime. This could easily happen to anyone.

But configuration is significantly more complicated for all parts of this system. Most software components we use on our servers require no configuration, or very little. Of course as soon as you want to tweak one of these you run into the exact same issues: little documentation, no examples, don't know what to ask for or search for unless you are already an expert.

This is why I gave the example of App-install. It boils down all these decisions into a single file for each installation. The file is supposed to be written by an expert and shared with others. But it is relatively realistic: real developers compile and install even more components than just the basics. The App-install concept is also a form of documentation and an aid to recovery, or more optimistically, to duplication.

I agree about the documentation. I try to write examples of using any code I write. I actually need to do this just to test my code, so it isn't a major problem to provide examples. In fact, I like to write working examples that provide something beyond dry technical usage.

For example, over the last week I wrote a tic-tac-toe game to demonstrate a few features of a tcl templating system, and another few pages to demonstrate the use of [format] in and [assign] in the same system:

http://junom.com/document/twt/view/www/

Each file in that directory can be viewed except the .tcl files. So I simply add on a ~ to the end so your browser will display it as plain text. Examples are nice, working examples are even better.

But when I hear users asking for a download of OpenACS that just runs from a static install, I wonder how much they actually value the product. I know you can go in to Office Depot and buy a bunch of canned contracts for a few dollars, but it isn't really the same as getting good advice from an attorney. Usually the more appealing this seems to a person, the more they need a real professional.

In case I wandered around this too much, I'll stay it briefly: compiling is easy compared to configuration. Configuration is a breeze compared to running or developing an application server. Better to have a few speed bumps along the way, but the process could still be a little easier.

You are still in good company with everyone here wishing that installation was easier (and faster).

Collapse
Posted by Vic May on
RE: ....But when I hear users asking for a download of OpenACS that just runs from a static install, I wonder how much they actually value the product....

Tom,

There is nothing to value if you don't know what it is. ;) I did pass by this project multiple times in the last 3 or so years but never got to the point of installing it. The reason it attracted me is that it is TCL based. I like TCL a lot and was looking for a web/application server that was using it. My options were tclhttpd, aolserver and recently, wub. I did use tclhttpd for a while and liked it for it's simplicity. Then I heard about the great performance of aolserver, so I started looking around and naturally, many links were pointing to openacs. BTW, your name is everywhere where there is talk about aolserver/openacs. I don't know how you find the time. :)
Anyway, I got close to installing several times. I was able to compile Aolserver in the past but it seems there was always something missing that I needed and when I tried to add the missing component, I either got a dead download link, or an empty web page or I can't compile something. I have been trucking and using Linux since it was distributed on floppies and do have some experience with compiling problems. In the past I did try to troubleshoot, try to find missing files, fix dependency problems etc. It is because of that experience that I am reluctant to do so anymore, especially because it is so easy to install applications now days. You never know if it will be 5 minutes or 5 days to compile the application, so, naturally, the excitement isn't there. Well, your remark above intrigued me so I decided to look around for a working installation and found this:
http://www.jsequeira.com/projects/oasisvm/
It's a virtual machine with a complete installation of OpenACS and .LRN. I played with it for several hours and found it to be absolutely amazing. I do sincerely wish I discovered it years ago. I would have known how to use it by now. But it looks like I am hooked. :) Thanks to all the developers for the great work. And thanks to everyone who tried to help. BTW, that virtual machine link should be somewhere on the front page of openacs.org

http://www.jsequeira.com/projects/oasisvm/

Collapse
Posted by Tom Jackson on
Get into the habit of bugging folks here. I started out about the same with AOLserver/ACS/OpenACS: Linux on a stack of floppies. That was kicked off when I decided Windows NT and SQL Server were too expensive and difficult to manage (and too expensive!, did I mention that?)

The 5 minutes or 5 days thing can still occur. It took me a week to find a Linux distribution which enabled most of my laptop features. But x86_64 is new and free software takes time. Interesting thing is that the distribution I found had a semi-full-featured boot cd, so could try before installing the whole thing.

Collapse
Posted by Chris Douce on
Hi Vic,
Yesterday I discovered something similar to what your last post described. For the last couple of days I've been trying to get a native Windows installation of dotLRN up and running (to make a long story short: I had no end of trouble). There was a whole bunch of tips in the fora that I found but I kept getting presented with various flavour of difficulty.

In the end I thought, 'okay, so it's going to be Linux', so I went about finding a virtual machine for my home PC. After a false start, I settled on VMware and on a hunch I Googled (I think) VMWare and dotLRN in the same query which took me to here: http://media.wu-wien.ac.at/download/vdotlrn

Installation and figuring out how to drive the download was dead easy, just as easy as installing some of the other open source environments. If this was linked to on the main install page it could have saved a couple of days of head scratching. This said, I'm happy where I've got to so far in my dotLRN adventure.

Chris

Collapse
Posted by Tom Jackson on
I just installed VMware on Linux. Installation looks very similar to what I had for app-install. It asks a bunch of questions about where to install stuff, and then it compiles and installs, then asks more questions, etc.

But once that is installed, it is easy to startup the Oasis/Linux.vmw and login. I'm sure that on Windows all this works much faster since they seldom give you any choices there.

Overall, pretty cool way to check out stuff, but then what?

It would be interesting to hear what users do once they decide this stuff is cool. Does this provide the motivation to figure out the typical install?

Can you really do an easy native install on Windows?