You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by Andreas Hartmann <an...@apache.org> on 2005/07/22 17:46:40 UTC

Next steps in Lenya repo layer / JCR integration

Hi Lenya devs,

in the Cocoon community there seems to be a certain interest in extending
the JCR block signatures to leverage JCR functionality.

A valid approach seems to be to implement the repository block interfaces,
especially

- InspectableSource (adding properties to sources)
- VersionableSource
- LockableSource

This would mean that the repository block components (especially
RepositorySource) could be used to access a JCR repository.

A benefit of this approach is that Cocoon would provide a generic
repository access API. If our o.a.lenya.cms.cocoon.source.RepositorySource
implemented these interfaces as well, we could use the Cocoon repository
block API throughout Lenya, and switch between our repo implementation
and the JCR block.

+-----------------------------------------------------+
| Lenya usecases etc.                                 |
+-----------------------------------------------------+
| Cocoon repository block                             |
+-----------+-+-----------------+---------------------+
| JCR block | | Lenya repo impl | ...
+-----------+ +-----------------+

Advantages:

- We would do things the Cocoon way.
- As soon as the JCR block is stable, we can drop all Lenya repository code.
- We don't have to care for JCR integration at all (the only notion of
   "JCR" in Lenya would be a declaration in cocoon.xconf).

Disadvantages:

- We have to live with the repository block API.
- We lose direct control over the repository API.

As a comparison, the approach that we followed up to now:

+-----------------------------------------------------+
| Lenya usecases etc.                                 |
+-----------------------------------------------------+
| Lenya repository interfaces                         |
+----------------+-+-----------------+----------------+
| Lenya JCR conn | | Lenya repo impl | ...
+----------------+ +-----------------+
| JCR block      |
+----------------+


WDYT?

-- Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Re: Next steps in Lenya repo layer / JCR integration

Posted by Andreas Hartmann <an...@apache.org>.
J. Wolfgang Kaltz wrote:

[...]

> To be honest, I'm not sure I understand ;)
> I am wondering about one thing though: is it our goal to
> 1. replace Lenya's content sources by JCR (be it through Cocoon or not), 
> meaning all content *must* be stored in a JCR-compliant backend;
> or
> 2. add JCR as one possible backend, while content need not necessarily 
> reside in a JCR-repository, but could also be in files (as is the case 
> now), in a database, ...

IMO number (2) is the way to go, at least for the next steps.


> IIUC having the usecases directly using the Cocoon repository block 
> would imply option 1 ?

No, it would mean that we would have to provide an implementation of
the repository block interfaces for our existing "storage system"
(files, revision controller, meta data).


> Whereas keeping "Lenya repository interfaces" would allow for 2. as well.
> 
> Would the following make sense ?
>  +-----------------------------------------------------+
>  | Lenya usecases etc.                                 |
>  +-----------------------------------------------------+
>  | Lenya repository interfaces                         |
>  +-------------------------+-+-----------------+-------+
>  | Cocoon repository block | | Lenya repo (file) impl | ...
>  +-------------------------+ +-------------------------+

That would be an option as well.

-- Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Re: Next steps in Lenya repo layer / JCR integration

Posted by "J. Wolfgang Kaltz" <ka...@interactivesystems.info>.
Andreas Hartmann schrieb:
> (...)
> +-----------------------------------------------------+
> | Lenya usecases etc.                                 |
> +-----------------------------------------------------+
> | Cocoon repository block                             |
> +-----------+-+-----------------+---------------------+
> | JCR block | | Lenya repo impl | ...
> +-----------+ +-----------------+
> (...)
> 
> As a comparison, the approach that we followed up to now:
> 
> +-----------------------------------------------------+
> | Lenya usecases etc.                                 |
> +-----------------------------------------------------+
> | Lenya repository interfaces                         |
> +----------------+-+-----------------+----------------+
> | Lenya JCR conn | | Lenya repo impl | ...
> +----------------+ +-----------------+
> | JCR block      |
> +----------------+
> 
> 
> WDYT?

To be honest, I'm not sure I understand ;)
I am wondering about one thing though: is it our goal to
1. replace Lenya's content sources by JCR (be it through Cocoon or not), 
meaning all content *must* be stored in a JCR-compliant backend;
or
2. add JCR as one possible backend, while content need not necessarily 
reside in a JCR-repository, but could also be in files (as is the case 
now), in a database, ...

IIUC having the usecases directly using the Cocoon repository block 
would imply option 1 ?
Whereas keeping "Lenya repository interfaces" would allow for 2. as well.

Would the following make sense ?
  +-----------------------------------------------------+
  | Lenya usecases etc.                                 |
  +-----------------------------------------------------+
  | Lenya repository interfaces                         |
  +-------------------------+-+-----------------+-------+
  | Cocoon repository block | | Lenya repo (file) impl | ...
  +-------------------------+ +-------------------------+


--
Wolfgang

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org