Forum OpenACS Q&A: Newbie Questions

Collapse
Posted by Jeff Caldwell on
Hello and thanks for providing openacs.org. I'm a recent downloader
and am just getting my initial, learning site up and going, hoping to
work my way through all the modules in the coming few weeks and then
go from there.

I may have inadvertently downloaded incompatible versions but I have
openacs-3.2.5 and Postgres 7.2. I'd previously installed AOLServer so
I didn't re-download/re-install; it's version 3.3.1+ad13.

I had to make a few changes to get up and running. It's actually very
clean and nice and the changes needed are small. Here's a list:

. Many sections were not in the parameters/<name>.tcl file
. Quite a few of the select statements, particularly scheduled ones,
give run-time errors because of 'Unable to identify an operator '<='
for types 'date' and 'timestamp without time zone'. I've coerced
these with ::date.
. ad-user-content-map.tcl was ns_db gethandle'ing in the default pool
when a handle was already allocated. I changed it to pool 'subquery'
as a workaround until I could ask wise ones.
. q-and-a-unanswered blew up when there were no questions under a
topic. I added a catch. Same for q-an-a.tcl (and touched up the 'no
stinkin'" message).
. Changed fips_county_code from char(5) to varchar(5) in bboard.sql
to make it match.

A "bug" I haven't yet fixed is that, in photodb, the medium size is
much too large. I plan to correct the default and to correct the
photos I've already uploaded.

Now I'm thinking of organizing my code so that I can contribute bug
fixes. However, I've kind of worked myself into a corner.

I also made some cosmetic changes/site personalization changes.
These, of course, are not necessary and others may find them
undesirable. As an example cosmetic change, I changed ad-navigation
to always show the root or home of the site as the first, i.e. left-
most, choice.  As an example of a personalization change, in ad-
security.tcl I added code that treats the anonymous user as
unregistered. In certain pages, e.g. add comments, I've added code
that checks for the anonymous user and then bypasses the normal
security routine, thus allowing the anonymous user. This allows
slashdot-like 'anonymous coward' posting without opening e.g.
homepage maintenance to anons. (I know there may be a better way to
do this...)

People may or may not want a given cosmetic change. It's less likely
they want the personalization changes.

At last my questions:

1. Did I get off on the wrong foot with incompatible versions and
thus there is no use for any of the corrections to small problems
I've found so far?

2. How do I organize my source tree/trees to be able to make diff
files or whatever I'm supposed to do? E.g. do I keep a 'pure' openACS
tree and duplicate the bug fixes I make in my 'production' tree?

3. What criteria do I use to decide which changes to contribute e.g.
errors, cosmetic changes, personalization changes?

4. I've previously installed an aD 4.x tcl system and plan to install
OpenACS 4.x soon. Any tips/needed work/additional modules to port
that I should keep a heads-up for?

5. What's the plan regarding ybos 4.x and openACS 4.x re
merged/common source?

6. Is the whole aD java thing dead? While there are times when tcl is
the right tool, I dearly love my C++ classes when I deal with e.g.
manufacturing bills of material and other data structures with
complexity. It seems to me that 'tcl where tcl belongs but you can
use a set of java classes when you wish' combines good things from
both worlds. I know aD used java in their email... is it still alive
from that standpoint?

Thank you for your consideration and thanks again for the product.

Jeff Caldwell

Collapse
Posted by Don Baccus on
I'll do these backwards, I think :)

6. aD Java appears to be dead, unless ex-aDers involved with the project decided to rally 'round it and finish it up.  I don't know this for sure, am just reporting on what I've been told, which isn't necessarily accurate.

5. I think it's up to ybos as much as anything.  We've encouraged them to play with OpenACS 4, since our core runs legacy ACS 4 Classic packages unchanged for the most part, and with minor changes otherwise.  Those of us who've worked hard on the OpenACS 4 core would want an opportunity to review those changes before accepting them, of course, but forking two ACS 4 Tcl versions for Oracle is senseless.  For instance, dotLRN features a very, very nice, brand-new portals package much better than either of aD's attempts (3.x or 4 Classic).

4. If you install OpenACS 4 Oracle it will seem very familiar to you.  There are still some missing pieces in the PostgreSQL version.  We're within a week or so of issuing a beta and will work on better documenting such things by release.

3. Often folks ask around here or by e-mail first.  Outright bug fixes can be submitted by patch without discussion, of course.  Cosmetic changes are subject to an individual's taste so worth discussing.  As you've said personalization stuff's less likely to be of global use.

Being able to configure an optional "anonymous coward"-style user is probably something we should add to OpenACS 4 in the future.  With a better permissions admin UI it would be easy enough to allow this user to post to bboards, etc.

2. Probably what you say, yes, though others may have cleverer ideas.

1. I'm not quite sure what you mean as it seems you started with 3.2.5?  The fact that you used PG 7.2 is fine and we would like any changes needed for it to run with that version (though we'd like to see them run with PG 7.1, too).  The parameters stuff you've fixed would be nice to have, too.  Your note doesn't make it clear why you needed to change fips_county_code from char(5) to varchar(5), was PG 7.2 giving an error of some sort?