This Wiki contains concepts, results and brainstormings concerning the repository integration done at the SprintZurich20040514.

Goals

Ideas

Definitions

;Delegation Protocol:The protocol to be delegated to by the LenyaSourceFactory used to access the repository ;Delegation Prefix: A prefix to be prepended to the url before it is delegated to the delegation protocol

Reasons

Diagrams

                       <map:generate>
- - - - - - - - - - -         |
Lenya API                     v
                       +-------------------+ +--------+ +----------+
                       |LenyaSourceFactory | |Version | |Resource  |
                       +-------------------+ +--------+ +----------+
- - - - - - - - - - - - - - -  A - - - - -
Repository Block               |
            +----------+-------+-------+
            v          v               v
        +------+ +-----------+ +---------------+
        |Source| |Versionable| |Transactionable|
        +------+ +-----------+ +---------------+

        +------------------+
        |TransactionManager|
        +------------------+

- - - - - - - - - - - - - - - - - - - - -
Repository Block Implementation
         Slide | JCR | ...
- - - - - - - - - - - - - - - - - - - - - 

Approach

  1. move publication API draft from University of Zurich Publication into Lenya and merge
  2. extend Slide source with transactable interface
  3. Implement a LenyaSourceFactory as described in this document
  4. Replace <map:generate src="path"/> by <map:generate src="lenya://path"/> or <map:generate src="lenya:/path"/>. The LenyaSourceFactory will delegate to the context: protocol until the Lenya API uses ModifiableTraversableSource to change/create files in the repository.

Transactions

Interface extensions

Versionable Source

Results