jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Angela Schreiber <anch...@day.com>
Subject SPI Contribution: Status
Date Wed, 28 Mar 2007 15:20:55 GMT
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



Mime
View raw message