On 12/14/06, Greg Reddin <[EMAIL PROTECTED]> wrote:

On Dec 13, 2006, at 5:47 PM, Craig McClanahan wrote:

<snip>
> One thing that might affect Greg's enthusiasm :-) I'd like to see
> us do is
> try to position for a GA release of everything except shale-tiles,
> either by
> marking it with a separate release grade when we ultimately vote,
> or by
> making it available separately as its own release.  I think we can
> be ready
> to have API stability on everything else in just a short while.

I agree.  I don't think the tiles piece should hold up the whole
project from going GA.  I want to have a way to promote components to
GA as they are ready.  I think I prefer the approach of marking
separate release grades over creating separate releases.  It seems
like there's too much to do to roll out a release for each component
to have its own cycle.  We already distribute everything as separate
packages, right?  It doesn't seem like it would be too hard to apply
a quality label to each package individually.

As the shale-tiles module has no dependency on the rest of shale and
can be used in a vanilla JSF environment wouldn't it make more sense
to move this to the proposed Tiles project? I think the argument for
having JSF support in Tiles is different to the one of including
support for Struts or any other framework in the Tiles project since
JSF is a standard. That would resolve the potentially confusing issue
of having different pieces with different quality labels?

On the topic of separate releases it seems that you have two scenarios
in Shale - components which have inter-dependencies (usually core) and
those that don't (not including a "test" dependency on shale-test). In
the first case as well as being practical from a release management
POV to release together - it also makes it easier to understand for
users if the version number of these is the same and they don't have
to work out which versions are compatible. In the second case where
there are no inter-dependencies then there would seem to be more value
in allowing for the possibility of separate release cycles.

A couple of points about Shale's inter-dependencies:
1) shale-tiles and shale-spring have a dependency on shale-core in
their pom.xml but I can't see any actual need for this?
2) shale-application's only dependency on shale-core seems to be the
Messages class and the actual messages which are in the core's bundle
(is that a mistake?). Since the Messages class is only used for
logging/exception messages with the default Locale and only one
instance uses a replacement argument - most of the value of using this
convenience class over a ResourceBundle directly seems to be not
utilized. IMO it would be worth removing this so that
shale-application could be used on its own.

...anyway back to the point, from what I can see "core", "clay",
"designtime", "tiger", "validator" and "view" are inter-dependant
whereas "application" (with slight change),
"dialog/dialog-basic/dialog-scxml",  "spring", "test" and  "tiles"
could be used standalone with any JSF app? Having an "all" distro is a
good plan IMO - but also making the independent components also
available as separate downloads would help communicate that there are
pieces available to use on their own and having independent version
numbers for them and not precluding the possibility of separate
release in the future would seem like a good idea IMO. Whether that's
a practical approach release/maven wise is another thing and I'm sure
other people are better qualified to say.

Just my 2cents.

Niall

Reply via email to