Am Montag, den 14.01.2008, 12:52 +0200 schrieb Jukka Zitting:
> Hi,
> 
> On Jan 14, 2008 10:28 AM, Felix Meschberger <[EMAIL PROTECTED]> wrote:
> > Am Sonntag, den 13.01.2008, 16:21 +0200 schrieb Jukka Zitting:
> > > JCR (the current Jira project)
> > > [...]
> >
> > Wow ! I think this should still be split:
> 
> I don't see how you could end up with a manageable number of
> subprojects if you want to split down this one. I used the vague
> number of past cross-component issues as a way to group things
> together, and this core cluster came up as the most interdependent set
> of components. We probably should strive to split it down at some
> point, but only after we've first done the required refactoring work.
> 
> As mentioned in my previous message, I want our codebase to drive the
> organizational boundaries, not the other way around.
> 
> >   * jackrabbit-jcr-commons: Is very much API like, so we could move it
> >        to the API cluster, right ?
> 
> Not really. There's lots of implementation classes (with
> implementation bugs) there and traditionally the component has been
> tightly coupled with jackrabbit-core. Much of it's original contents
> (the name, util, uuid, and value packages) are essentially just parts
> of jackrabbit-core that could be extracted to a separate component due
> to having no dependencies to other parts of the core. I think much of
> that code is much better located in spi-commons where it actually can
> and will be reused by multiple backends.
> 
> The new stuff in o.a.j.commons has IMHO a clearer architectural
> separation to jackrabbit-core and thus could warrant separate
> releases, but until we have deprecated and removed the rest of the
> component I don't think we should take separate jcr-commons too far
> from core.
> 
> >   * jackrabbit-spi-commons, -jcr2spi, -spi2jcr: These are the SPI
> > cluster
> 
> I was actually even considering including jackrabbit-spi in the core
> cluster as an internal component until it's more stabilized (at some
> point we need to start considering backwards compatibility for all spi
> changes). The spi implementation components (at least spi-commons and
> jcr2spi) are code-wise quite related to core and jcr-commons, and
> quite recently we were still moving large chunks of code between these
> components. I don't think we've yet reached an architecturally stable
> componentization there and we still should make core depend on jcr2spi
> to avoid duplicate code, so IMHO it's premature to split these SPI
> components to a separate subproject.

After all these words I have to come to the conclusion, that all this
code looks somewhat convoluted ... So, we have to keep this cluster ...

> 
> >   * jackrabbit-classloader: There isn't much work going on here, apart
> > from bugfixing. So there will be no reasons for new releases !
> 
> Even bug fixes need to be released. Are you suggesting we just drop
> the component?

Definitely not, there will be bugfixes and we will not drop this. But we
should certainly not raise the version number and create new releases
just for fun. I would say the classloader component is largely in
maintenance mode at the moment.

> 
> >   * jackrabbit-text-extractors: Is this a movable target ? Otherwise, I
> >        don't see much release work here ...
> 
> We need to keep text-extractors around until we can replace the
> functionality with Apache Tika or something like that. We had one
> change (JCR-1247) to text-extractors in 1.4, and there might well be
> bug fixes or other minor changes that we need to do before we can drop
> the component.

By "movable target" I meant: This is probably in maintenance mode just
like the class loader. Of course, if there were changes to this before
the latest release, there is a new version released. But same as with
class loader, no release and version number incrementing just for fun.

> 
> >   * jackrabbit-jcr-tests: Some fixes now and then ... I would make this
> > a separate cluster
> 
> Quite a few actually, jcr-tests is one of our more actively developed
> components.
> 
> Architecturally it would warrant it's own subproject (like JCRTCK),
> but I pooled it in the core project to keep the number of subprojects
> manageable. There is also little end-user demand for jcr-tests.
> 
> But yes, if we want to split down the core JCR subproject, I would
> first go with JCRTCK and only after that start considering any other
> splittings.

ACK.

> 
> > > JCRWEB
> >
> > I would separate these, too: -jcr-server and -webdav in one cluster,
> > -jcr-servlet and -webapp in another one.
> 
> That may make sense architecturally, but again we should keep the
> number of subprojects down to a manageable level.

Again: No changes, no release, no management. Therefore we should strive
for this separation.

Regards
Felix

Reply via email to