Hi,

I know the chances for my proposal are low ;-) Just brainstorming.

> > - Add a lot of tests (functional coverage 100%, code coverage >90%)
> Who's going to write all those tests?

Mainly Jackrabbit developers, but also users. More automated tests
would improve the quality no matter what the release cycle is. But a
short release cycle requires more tests.

> > - Only check in fully tested features (or mark them as "beta")
> Then where do we work together?
> We need somewhere where we can try
> out, comment on, and co-develop new features (cf. ISM locking, data
> store, indexing enhancements, etc.).

We could use 'compile time' (constants) or 'run time' switches (system
properties) to enable new features (or make them the default) after we
consider them stable. Old code is removed when no longer needed.

> parts of the release process:
> schedule/fix issues

I would argue that's an ongoing effort.

> test

Tests should be run automatically in different environments.

> Review/vote on the release

Because it's only 2 weeks, people still know what was changed, so this
becomes easier. And people would just vote on what settings to enable.

> > - Release every 2 weeks
> Then what's the difference between a release and an svn checkout?

Not much: releases would have no failed tests on target platforms.

> we should only make feature release whenever we reach a reasonably
> stable state

Sure! So would need to make sure the trunk (with default settings)
doesn't get unstable ;-)

> This will likely
> always take longer than 2 weeks for any non-trivial enhancements.

Yes, but with compile / run time switches those are not a problem.

> What about production environments where you just want bug fixes to a
> well tested base release instead of code from the bleeding edge?

With enough automated tests the trunk would be more stable than
releases are now (at least that's the idea :-)

> > - Only one jar file
> What about people that just want to depend on our tools that work on
> top of the JCR API?

I didn't think about that - OK three jar files: API, core, tools

Regards,
Thomas

Reply via email to