Hi Juanjo,

Juanjo Vázquez schrieb:
> Hi,
> 
> On the other hand, the jcr/jackrabbit-server bundle has a
>>  DynamicImport-Package: *
>>
>> header, which allows it to import just about everything which is
>> exported elsewhere, dynamically and on-demand.
>>
>> This means, you could create a bundle, which exports for example your
>> LoginModule and the jcr/jackrabbit-server bundle could pick it up.
>>
> 
> Yes it´s true. That´s the way.
> 
> It gets more complicated with providing a PersistenceManager, because
>> there is no proper API for that, the respective interfaces and abstract
>> classes are intermixed with implementation classes. Thus exporting the
>> required packages is simply not possible.
> 
> 
> Oops, bad news.
> 
> And finally: Jackrabbit setup is static. Jackrabbit is not prepared to
>> implementations going away (or being updated) at runtime. This makes
>> hooking in PersistenceManagers or LoginModules even more problematic.
>> Again, we might raise a case in Jackrabbit and try to convince them
>> about the issues.
> 
> 
> Do you think jackrabbit team could be sensitive to this issue?. IMHO, this
> is an important thing to Sling.

Agreed. I think if we can present a good use case for the requirement
(which IMHO is a good requirement in itself) the Jackrabbit team would
be more sensitive to the issue.

Until now, they have not been that much sensitive to this because they
are more concerned with support for the upcoming JCR 2.0 (JSR-283) standard.

The problem is, that, though it is perfectly feasible, it is probably
quite some work and in addition requires backwards-compatibility
consideration.

> 
> Alternatively, you may create your own jackrabbit-server bundle
>> including your special PersistenceManager (or whatever it is). But I
>> agree, this is not the best of all solutions.
> 
> 
> I know, but sure you hate duplicated code, aren´t you? ;)

I do, of course ;-)

But you could create a bundle, which depends on Sling's
jcr/jackrabbit-server bundle but extends it. When building the final
bundle, the jcr/jackrabbit-server bundle stuff would just be included in
your own bundle, for example by means of the <Embed-Dependency> element
of the bundle plugin or by using svn:externals (though this would be
kind of a last ressort IMHO).

Regards
Felix

Reply via email to