You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Christophe Lombart <ch...@gmail.com> on 2007/09/05 22:08:58 UTC

[OCM] Reorganize the contrib

Following the issue on the jackrabbit core dependency (
http://issues.apache.org/jira/browse/JCR-1115) and seeing other dependency
issues, I would like to reorganize the OCM contrib.
Indeed, the subproject jcr-mapping & annotation should not depend on :
- Jackrabbit core
- Digester
- Lucene
- Derby
-  ...

Of course, we still need those dependencies in the unit tests.

Furthermore, the jcr-mapping which is the ocm core should not depend  on the
DigesterMapper & Reader impl and finally the jcr-nodemanagement should have
a different implementation for each JCR repo.

Is it make sense for you if we reorganize the ocm contrib with the following
subprojects :
1/ core ( now called jcr-mapping).
2/ mapper (which will contains different subprojects / one per Mapper impl
(digester, annotation, ...)
3/ nodemanagement (now called jcr-nodemanagement). It will contains
different subprojects / one per JCR repo impl.

The current subproject annotation will be move under the subproject mapper.
Last point, I would like to use the same unit tests for the different mapper
impl. I don't want to write duplicate unit tests. I don't know how we can
avoid this situation. still thinking about that ...

What do you think about that ?

br
Christophe

Re: [OCM] Reorganize the contrib

Posted by Christophe Lombart <ch...@gmail.com>.
Hi Jukka,

On 9/12/07, Jukka Zitting <ju...@gmail.com> wrote:
>
>
>
> OK. I'd like to start pushing for the 1.4 release though, and it would
> be good to have the OCM included in the preliminary release builds as
> soon as possible even if there still remains some work to be done.



Annotation is almost done. I would like to add more unit tests (I mean,
reuse the same unit tests).
I can takes time due to my current dailly activities.

Re: [OCM] Reorganize the contrib

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 9/11/07, Christophe Lombart <ch...@gmail.com> wrote:
> > Sounds good. Would you mind doing JCR-995 (moving the core part
> > outside contrib) as well while you're at it?
>
> I would like to finalise the annotation support before moving outside the
> contrib. Just to be sure to have something stable in term of code and in
> term of ocm project structure.

OK. I'd like to start pushing for the 1.4 release though, and it would
be good to have the OCM included in the preliminary release builds as
soon as possible even if there still remains some work to be done.

> > 2/ mapper (which will contains different subprojects / one per Mapper impl
> > > (digester, annotation, ...)
> >
> > Do we need to have the different mapper implementations in separate
> > subprojects? If they don't add too much overhead (complexity, extra
> > dependencies, etc.) then I'd keep them inside the core project just
> > like we keep a number of alternative persistence managers within
> > jackrabbit-core.
>
> Concerning the annotation support, we have to use java 1.5 but maybe some
> jackrabbit/ocm users are still in java 1.4.

Good point. I'd rather keep all main component with 1.4 for now unless
there's an obvious need for them to go with 1.5 (like being based on
annotations :-).

BR,

Jukka Zititng

Re: [OCM] Reorganize the contrib

Posted by Felix Meschberger <fm...@gmail.com>.
Hi,

Am Dienstag, den 11.09.2007, 09:00 +0200 schrieb Christophe Lombart:
> Concerning the annotation support, we have to use java 1.5 but maybe some
> jackrabbit/ocm users are still in java 1.4.
> For Sling, Felix is using another framework (Kxml if I remember). I'm not
> sure that it is interesting to group togehter all thoses dependencies in the
> core.

The reason I chose KXml is that it is much more lightweight than
Digester and has no additional dependencies. No that Sling is in the
Incubator and requires Java 5 anyway, we (the Sling project) might want
to consider moving away from the XML-based configurationn to standard
annotations.

But I agree with Christophe, that as long as Jackrabbit declares to be
running Java 1.4, we should not mix Java 5 stuff into other libraries.

Regards
Felix


Re: [OCM] Reorganize the contrib

Posted by Christophe Lombart <ch...@gmail.com>.
Hi Jukka,



> Sounds good. Would you mind doing JCR-995 (moving the core part
> outside contrib) as well while you're at it?


I would like to finalise the annotation support before moving outside the
contrib. Just to be sure to have something stable in term of code and in
term of ocm project structure.


>
> How about calling it jackrabbit-ocm or jackrabbit-jcr-ocm for
> consistency with the other release subprojects?


+1

> 2/ mapper (which will contains different subprojects / one per Mapper impl
> > (digester, annotation, ...)
>
> Do we need to have the different mapper implementations in separate
> subprojects? If they don't add too much overhead (complexity, extra
> dependencies, etc.) then I'd keep them inside the core project just
> like we keep a number of alternative persistence managers within
> jackrabbit-core.


Concerning the annotation support, we have to use java 1.5 but maybe some
jackrabbit/ocm users are still in java 1.4.
For Sling, Felix is using another framework (Kxml if I remember). I'm not
sure that it is interesting to group togehter all thoses dependencies in the
core.




> Last point, I would like to use the same unit tests for the different
> mapper
> > impl. I don't want to write duplicate unit tests. I don't know how we
> can
> > avoid this situation. still thinking about that ...
>
> Something like jackrabbit-jcr-tests? Or simply you put all mapper
> implementations inside the core project as suggested above.


Yes if the mapper are outside the code, I will do something like this.



br,
Christophe




BR,
>
> Jukka Zitting
>

Re: [OCM] Reorganize the contrib

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 9/5/07, Christophe Lombart <ch...@gmail.com> wrote:
> Following the issue on the jackrabbit core dependency (
> http://issues.apache.org/jira/browse/JCR-1115) and seeing other dependency
> issues, I would like to reorganize the OCM contrib.

Sounds good. Would you mind doing JCR-995 (moving the core part
outside contrib) as well while you're at it?

> Is it make sense for you if we reorganize the ocm contrib with the following
> subprojects :
> 1/ core ( now called jcr-mapping).

How about calling it jackrabbit-ocm or jackrabbit-jcr-ocm for
consistency with the other release subprojects?

> 2/ mapper (which will contains different subprojects / one per Mapper impl
> (digester, annotation, ...)

Do we need to have the different mapper implementations in separate
subprojects? If they don't add too much overhead (complexity, extra
dependencies, etc.) then I'd keep them inside the core project just
like we keep a number of alternative persistence managers within
jackrabbit-core.

> 3/ nodemanagement (now called jcr-nodemanagement). It will contains
> different subprojects / one per JCR repo impl.

Note that we may want to encourage other repository implementations to
host their own extension components. For example we can't do Alfresco
extensions due to the license mismatch.

> Last point, I would like to use the same unit tests for the different mapper
> impl. I don't want to write duplicate unit tests. I don't know how we can
> avoid this situation. still thinking about that ...

Something like jackrabbit-jcr-tests? Or simply you put all mapper
implementations inside the core project as suggested above.

BR,

Jukka Zitting