Forum OpenACS Q&A: 5.0 release thoughts and the community

Here's my first general sketch of the work we might do for 5.0. I especially need people who have done this with previous versions of OpenACS to tell me what has and hasn't worked well - I've tried to capture some of that, but I'm sure there's more. My proposed goals for the 5.0.0 release process are
  1. Stabilize HEAD and keep it stable going forward
  2. Broaden community involvement by removing bottlenecks
  3. Make automated testing a standard part of the process

Releasing-type activities:

1) What can we do to stabilize incoming code?
  feature freeze - ask developers not to commit new features
  soft code freeze - ask developers not to commit anything dangerous
  hard code freeze - all checkins are blocked and must be code
  reviewed
  branch the code (when?  tradeoff between stability and future merge pain?  in conjunction with which freeze?)
    email committers
    announcement on front page
    announcement with news system


2) What can we do to test the code?
  get more attention to test servers
    announcement on front page
    announcement with news system
    email ... who?
  schedule a test bash w/IRC
  get stable test server with A code
  ask people to write test cases - have test case bash w/IRC

2a) test installs 
  ask for volunteers for each combination
    Linux
    Debian
    OSX
    FreeBSD
    other OS?
    PostGreSQL (7.2.4, 7.3.?)
    Oracle 8.1.x, 9i
  volunteer will install each A, B tarball
  
3) What can we do to fix the code?
  ask for package maintainers to work on bugs
  schedule bug bash

4) What other tasks?
  inspect per-package documentation
  major broken things: 
    home page isn't useful out-of-the-box
  translations
    get translation server updated and ready
    get attention
    merge new work
  main documentation updated
Collapse
Posted by Dave Bauer on
Joel,

We should have already branched 5.0 when the 4.6 branch was declared closed.

I have work to commit that may or may not be finished by 5.0. I am reluctant to commit it to HEAD because I don't want half-finished work to be released as 5.0.

I think in general we need to have a little more structured plan for CVS tagging and branching.

Its probably a good idea to have a mailing list of people with CVS commit so that we can be sure they are notified of the status of the CVS repository.

Collapse
Posted by Lars Pind on
Dave,

What are those changes?

Experience has taught at least me, that having the 4.6 release branch go on for so long, and having so much development on both HEAD and oacs-4-6 continuously, has caused frustration, because some cool or useful new feature was on the wrong branch, and had to be merged forward, then backwards, etc.

So I think we should try and keep the 5.0 release branch as short-lived as possible. Which is why we haven't branched off yet, because a later branch point means less divergence, means a happier life.

Also, if we can do the 3-month release cycle, then having your work postponed from one release to the next isn't too bad, because it won't be that long before the next release goes out. Is my thinking.

So: What are your changes? And could you hold off committing for another few weeks?

/Lars

Collapse
Posted by Dave Bauer on
Lars, that's the whole point. I would like to commit the work somewhere :) I'd hate to just have these changes local for a few weeks.

Anyway, I think I can get it done in a few days, so it should be testable in time for 5.0.

I am adding a file-upload feature, so you can upload html content into ETP. We needed this on OpenACS.org and I know others have asked for the feature.

Collapse
Posted by Dave Bauer on
Also re: automated testing, I would love a short list of guidlines of what kind of things tests are written for and a basic idea of how to write the most common types of tests.
Collapse
Posted by Simon Carstensen on
Dave,

I wrote up my own stab at how to do automated testing.

https://openacs.org/forums/message-view?message_id=121426

Now I'm no "Joel Aufrecht" when it comes to documentation, but I did my best 😉. Hope you and others find it useful.

Collapse
Posted by Jade Rubick on
Another critical element of the 5.0 release is going to be upgrades.

There are several elements of this.

First of all, apparently, Postgres 7.2 support is being deprecated (according to dave on IRC, and Jon in this post https://openacs.org/forums/message-view?message_id=121643).

Because the Postgres 7.2 - 7.3 or 7.4 upgrade is non-trivial due to problems with function name truncation...

1) We need to have a document that describes the order that the upgrade needs to happen (upgrade first, then Postgres?, or the other way around?)

2) We'll also need an upgrade testing strategy. I personally don't think 5.0 should be released unless the upgrade document is out and well tested.

I tried to install head yesterday, not realizing that it required Postgres 7.3 or greater. I personally won't be able to help much on testing head until this issue is taken care of. I know the scripts have been written, but I don't know if they work well enough to upgrade, and nobody's written up an upgrade doc that I'm aware of.

I unfortunately don't have much time to devote to this... I can help with testing a little.

Collapse
Posted by Dave Bauer on
Woah :) I don't have any official word, just that it has been stated previosuly that our goal is the current version plus one previous, and that postgresql 7.4 will be out shortly.

I don't think there are any major issues to supporting 7.2 in openacs 5.0 though. What is the offical opinion?

I will write up the exciting journey from OpenACS 4.5 - 4.6.3 while upgrading from Postgresql 7.2-7.3 for OpenACS.org soon.

Collapse
Posted by Peter Marklund on
Jade,
AFAIK HEAD doesn't requite PG 7.3. I'm running the test server on PG 7.2.2 and I don't know that this has caused any problems.

I mostly worry about all the brokenness in .LRN that is obvious if you browse the test servers a little. Calendar is still broken and I am talking to Dirk about a resolution. Quite a few bugs seem related to I18N and noquote and feature quite prominently in the UI. Hopefully they will mostly be trivial fixes.

Collapse
Posted by Alfred Werner on
What version of AOLserver is being supported with 5.0?
Collapse
Posted by Lars Pind on
The usual one, AOLserver 3.3.1 or whatnot. 4.0 still isn't out of beta, and there are still some critical bugs.
Collapse
Posted by Lars Pind on
The reason I'm very reluctant to branching now is that there a a gazillion of little trivial bugs in the tree, mostly due to noquote and internationalization, which has touched the entire tree.

If we branch now, we run a serious risk that all these bugs will be fixed twice. We saw that with the very long-running 4.6 branch.

And merging is painful as well, because it's hard to keep a clear state of what's been merged and what hasn't been merged. A simple efficient strategy is to merge each release back to the branch, but that means that the branch and HEAD diverges inbetween releases (with duplicate fixes for the same bugs).

I'd much rather we spend a few weeks shaking out bugs, then branch.

/Lars

Collapse
Posted by Barry Books on
Lars,

Do you know what the issues with AOL 4.0 are? I've been watching the bug list and I don't see anything major. I'm working on upgrading my ACS4.2 AOL3.2 and Oracle 8i site to 5.0, 4.0 and 9i. I'm trying to get 9i and AOL4.0 done in October and 5.0 in November. I think I've got 4.0 and 9i running without any major problems or am I missing something.

Collapse
Posted by Lars Pind on
Barry,

I don't in detail. My latest status is from Joel who checked about 3 weeks ago.

I believe there was something about the thread safety of Tcl's 'cd' command, and site-map being completely hosed.

Don't know if that's been fixed.

Don? Others?

/Lars

Collapse
Posted by Dave Bauer on
The cd command was a Tcl bug and was fixed in Tcl 8.4.4. The site map is working fine. There was a change in the way ns_eval worked. The ns_eval was removed from OpenACS so it is not an issue.

I don't know of anything stopping OpenACS from running on AOLserver 4 except the lack of SSL. Nsopenssl is not ported to AOLserver 4 yet.

I have installed 5.0 on AOLserver 4 and I will continue to test it so I'll post if anything comes up.

Collapse
Posted by Tom Jackson on

I believe the cd problem has been fixed. I'm using 4.0 right now and haven't had any problems with it.

A bigger question might be i18n support. This is obviously important for 5.0. Has anyone installed and used this type of application?

Collapse
Posted by Karl Thiessen on
My experience with AOLServer 4.0beta10 was that it fell over while fetching the RSS feeds for News Aggregator about one in three times.  I couldn't get it to stay up for more than an hour at a time, whereas 3.3ad13 stays up with no problem.  Both are using recent HEAD (kernel 5.0d6), same tree, same db.
Collapse
Posted by Dave Bauer on
Aolserver 4 has the changes from 3.3+ad13 for i18n.

Interestingly, I use news aggregator with Aolserver 4 and I haven't had any problems. I guess it does need some more testing.

Collapse
Posted by Lars Pind on
Karl,

Try increasing the stacksize in your config.tcl file.

That's solved the problems when I've run into the server restarting on httpget.

/Lars

Collapse
Posted by Karl Thiessen on
Thanks for the quick reply, Lars.  Sorry to have not gotten back to you with results as quickly.

Unfortunately, no luck.  I've tried 256K, 500K, 1M, 2M, and 5M for the stacksize.  In each case, AOLServer 4 falls over after less than an hour.  I've only got 64M of physical memory on the machine; I'd be tempted to call it resource scarcity, except that 3.3ad13 runs so smoothly.  And it's only eight feeds; I'm not trying to take over the world here.

Any idea why the stacksizes for 3.3ad13 and 4.0 would be so different?

I'm running FreeBSD 4.8-STABLE, if that helps.

Collapse
Posted by Dave Bauer on
Karl,

I suggest you post a new thread to discuss this. AOLserver 4.0 definitely works fine, including with news-aggregator, at least on Linux. I suspect some other problem. You should run AOLserver under gdb or something similar to find out where the problem is.

Anyway, if you want more help figuring it out, let's do so in a new thread.