Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lenya Wiki" for change 
notification.

The following page has been changed by MichaelRalston:
http://wiki.apache.org/lenya/EjbRepository

New page:
= EjbRepository =

== Why? ==

I wanted to use relational and object oriented techniques to manage content 
which I found impossible with the XML-File storage backend.

== What does it require? ==

Lenya has to be run inside the JBoss application server to use the EJB 
Repository.

== What does it do? ==

It is a reimplementation of several Lenya interfaces including:

* AC stuff, AccreditableManager, PolicyManager etc

* RepositorySource

* SiteManager

* RevisionController

== How does it work? ==

The EJB code and the Lenya code run in seperate areas of JBoss, these two areas 
need to share a common jar of interfaces to speak to each other. To do this I 
made a 'common' directory under 'src' and moved interfaces from src/java and 
other places into the common directory.

The second directory I made was src/ejb, this holds all the Entity Beans, 
Stateful and Stateless beans.

I also made two lenya modules, one for the new AC backend, and the other for 
the content repository. These are modules/ejbac and modules/ejbsource

The new implementations contained in ejbac and ejbsource look up a stateless 
session bean which queries the database for the required entity bean and 
returns it. From there it's compatible with lenya's normal repository. (There 
are some exceptions to this, eg RevisionControl is done differently, I'll write 
more on that later).

My main repository node is a 'ContentNode' which has a 1-1 relationship with an 
EjbContent. At the moment there is only a simple 'BlobContent' which stored a 
byte[] in the database, basically like a file. You can implement an EjbContent 
in any way you like as long as it can generate XML. There is also alot of 
useful helpers in AbstractContent, eg it allows you to embed content from other 
nodes.

== How do I get it? ==

I'm adding patches and zips to bugzilla, see:

http://issues.apache.org/bugzilla/show_bug.cgi?id=40683

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to