You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Angela Schreiber <an...@day.com> on 2007/03/28 17:20:55 UTC
SPI Contribution: Status
hi
i would like summarize the current status of the SPI contribution,
after i spent a couple of days consolidating and testing the
work done so far.
JSR 170 -> SPI (jcr2spi)
-----------------------------------------------------------------------
- Implementation of the JSR170 API on top of any SPI implementation.
- Covering transient space [1] (separation transient / persistent layer)
- Separation of hierarchy and state information
- CacheBehaviour with 2 Modi
> Observation: Notification about external modifications using
Observation mechanism. No refresh required.
> Invalidation: Refresh required in order be informed about
external modifications. Items get invalidated thus
forcing a reload upon next access.
SPI Implementations [2]
-----------------------------------------------------------------------
a) SPI2JCR: Implementation on top of any JSR 170 repo.
b) SPI-RMI: RMI implementation that can be used to connect
to SPI2JCR.
c) SPI2DAV: WebDAV client functionality that can be used to
connect to the jcr-server (WebDAV server on
top of any JSR 170 repository).
Status
-----------------------------------------------------------------------
1) JCR2SPI
all features implemented and tested with TCK (and a few extra tests).
there are a couple of TODOs left (and probably a lot of undetected
bugs).
knows bugs:
- reverting combined move/reorder operations with SNS
- session-scoped lock: transfering token to another session
is not supported (won't be possible with jsr283 anyway)
issues with cachebehaviour INVALIDATION:
- NodeCanAddMixinTest.testLocked fails due to lasy lock
detection.
issues with cachebehaviour OBSERVATION:
- quite some observation tests fail (??)
- tests relying on external observation events fail occasionally
if conditions are tested before events got processed.
2) SPI2JCR
tested in the setup
- jcr2spi-(invalidation)-spi2jcr-jackrabbit
- jcr2spi-(observation)-spi2jcr-jackrabbit
known issues:
- some observation test fail due to missing features
(nodetype, uuid filtering)
3) SPI2DAV
partially tested in the setup
jcr2spi-(invalidation)-spi2dav-jackrabbit.
since clone and Workspace.copy are not implemented by the
jcr-server (but heavily used by various tests) futher testing
has been postponed.
known issues:
- some observation test fail due to missing features.
- due to limitations in jcr-server: missing impl for
> invalidate
> clone
> workspace-copy
4) Status SPI-RMI
no TODOs left (but i didn't test it up to now).
Misc
-----------------------------------------------------------------------
- project has been migrated to maven2
- building the spi contrib will run the TCK and some impl specific
tests using the setup jcr2spi-(invalidation)-spi2jcr-jackrabbit.
- i managed to run Day's CRX on top of JCR2SPI (instead of
the implementation shipped with CRX)
regards
angela
[1]
http://svn.apache.org/repos/asf/jackrabbit/trunk/contrib/spi/docs/spi_arch.jpg
[2]
http://svn.apache.org/repos/asf/jackrabbit/trunk/contrib/spi/docs/overview.gif
Re: SPI Contribution: Status
Posted by Marcel Reutegger <ma...@gmx.net>.
just one minor remark...
Angela Schreiber wrote:
> SPI Implementations [2]
> -----------------------------------------------------------------------
>
> a) SPI2JCR: Implementation on top of any JSR 170 repo.
>
> b) SPI-RMI: RMI implementation that can be used to connect
> to SPI2JCR.
>
> c) SPI2DAV: WebDAV client functionality that can be used to
> connect to the jcr-server (WebDAV server on
> top of any JSR 170 repository).
the SPI-RMI module can be used to remote any SPI implementation not just
SPI2JCR. While SPI2JCR and SPI2DAV really are repository implementations, the
SPI-RMI is rather a 'repeater' for SPI calls using RMI.
regards
marcel
Re: SPI Contribution: Status
Posted by Julian Reschke <ju...@gmx.de>.
Angela Schreiber schrieb:
> hi
>
> i would like summarize the current status of the SPI contribution,
> after i spent a couple of days consolidating and testing the
> work done so far.
> ...
Hi,
we are using JCR2SPI with a custom SPI implementation on an existing
system. I can report that this really works as intended: most of the
transient layer gets abstracted away, and the implementor of the SPI can
focus on a much simpler interface.
Good work (so far)!
Best regards, Julian