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/09/28 10:18:09 UTC

JCR-only approach

Hi Lenya devs,

IIUC we decided to follow a JCR-only approach for the Lenya repository.

I tried to implement the changes to the meta data handling that were
recently discussed, but this requires quite a lot of effort in the
Source-based repository, so I'd be glad if we could start with the
JCR-only approach as soon as possible.

Could we just

- check in a repository
- set the SourceNodeFactory to JCR in lenya.roles

to get started?

WDYT?

-- Andreas


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


Re: JCR-only approach

Posted by Andreas Hartmann <an...@apache.org>.
Jann Forrer wrote:

[...]

> What is not clear to me is how the structure of the site is
> determined in the JCR approach. For example is the sitetree of the
> default publication determined by the design of the repository or
> is it defined externally e.g. by a sitetree.xml file?

IMO that should be entirely up to the site manager.

The TreeSiteManager might store an extra XML file (which would be
a bad idea because of performance), use an extra node structure, or
use the implicit node structure of the repository.

Anyway,

   <map:generate src="content/{pe:area}/sitetree.xml"/>

should be replaced with

   <map:generate type="site-structure">
     <map:parameter name="area" value="{pe:area}"/>
     <map:parameter name="root" value="/foo/bar"/>
     <map:parameter name="language" value="{pe:language}"/>
   </map:generate>

This would use the SiteManager to produce an XML representation
of the site structure.


> Can the data be stored in the repository anyhow and
> are ardressed by the UUID in the second case? Is this even possible in a
> JCR-approach?

I guess so. I discussed the node structure with Felix and Josias and
IIRC we came to the following conclusion:

- the nodes should be stored in a hierarchical manner which corresponds
   to the URL space

- this results in an implicit site structure (equivalent to the
   TreeSiteManager)


> What about visibility or more generally attributes of a node(there is
> still a bug in "create language version")?
> Should we store attributes of a node as properties of a node in the
> repository? This certainly make sense in the case where the structure is
> defined by the repository.

That would be up to the site manager.

I guess using repo nodes for site nodes and properties for site node
attributes would be a reasonable approach.

-- Andreas


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


Re: JCR-only approach

Posted by Jann Forrer <ja...@id.unizh.ch>.
On Wed, 28 Sep 2005, Andreas Hartmann wrote:

> Hi Lenya devs,
>
> IIUC we decided to follow a JCR-only approach for the Lenya repository.
>
> I tried to implement the changes to the meta data handling that were
> recently discussed, but this requires quite a lot of effort in the
> Source-based repository, so I'd be glad if we could start with the
> JCR-only approach as soon as possible.
>
> Could we just
>
> - check in a repository
> - set the SourceNodeFactory to JCR in lenya.roles
>
> to get started?
>
+1

What is not clear to me is how the structure of the site is
determined in the JCR approach. For example is the sitetree of the
default publication determined by the design of the repository or
is it defined externally e.g. by a sitetree.xml file?
Can the data be stored in the repository anyhow and
are ardressed by the UUID in the second case? Is this even possible in a
JCR-approach?

What about visibility or more generally attributes of a node(there is
still a bug in "create language version")?
Should we store attributes of a node as properties of a node in the
repository? This certainly make sense in the case where the structure is
defined by the repository.

Jann

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


Re: JCR-only approach

Posted by Edith Chevrier <ed...@wyona.com>.
Andreas Hartmann wrote:

> Michael Wechner wrote:
>
> [...]
>
>> We actually already have some code to do this with spring and would be
>> happy to contribute, but I am not sure if we want to introduce 
>> another application framework beside Avalon ...
>
>
What a pity , because with Spring it will be very easy to do it (see 
below). But i don't think it's good to introduce another application 
framework. Let's port it to Avalon

> If it works, I'd be happy to take a look at it.
> Maybe it can easily be ported to Avalon?
>
With Spring it would be something like this:

    ApplicationContext context = ...;
    Repository repository = (Repository)
        context.getBean("repository", Repository.class);

and the bean's configuration:

for Jackrabbit
<beans>
  <bean id="repository" 
class="org.apache.jackrabbit.core.RepositoryImpl" 
depends-on="repository-config">
    <constructor-arg><ref local="repository-config"/></constructor-arg>
  </bean>

  <bean id="repository-config" 
class="org.apache.jackrabbit.core.config.RepositoryConfig" 
factory-method="create">
    <constructor-arg type="java.lang.String" index="0">
      <value>src/repository.xml</value>
    </constructor-arg>
    <constructor-arg type="java.lang.String" index="1">
      <value>build/repository</value>
    </constructor-arg>
  </bean>


and for Jeceira
<beans>

  <!-- The factory bean, which contains a method called
     createInstance -->
  <bean id="repositoryFactoryBean" 
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property 
name="staticMethod"><value>com.jeceira.repository.RepositoryFactory.getInstance</value></property>
  </bean>

  <!-- The bean to be created via the factory bean -->
  <bean id="repository" factory-bean="repositoryFactoryBean" 
factory-method="getRepository">
    <constructor-arg type="java.lang.String" index="0">
      <value>test</value>
    </constructor-arg>
  </bean>
     
</beans>


Edith

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


-- 
Edith Chevrier
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://wyona.com                          http://lenya.apache.org
edith.chevrier@wyona.com                         edith@apache.org




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


Re: JCR-only approach

Posted by Andreas Hartmann <an...@apache.org>.
Michael Wechner wrote:

[...]

> We actually already have some code to do this with spring and would be
> happy to contribute, but I am not sure if we want to introduce another 
> application framework beside Avalon ...

If it works, I'd be happy to take a look at it.
Maybe it can easily be ported to Avalon?

-- Andreas


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


Re: JCR-only approach

Posted by Emmanouil Batsis <mb...@geekologue.com>.
On Wednesday 28 September 2005 13:04, Felix Röthenbacher wrote:
> The way to get a repository independent of the implementation is to use
> the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
> or with the rmiregistry which comes with the jdk.

Yup, as with any datasource-ish resource. We usually put the initialization 
logic in a ServletContextListener.

MAnos


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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
Hi Felix,

On Friday 14 October 2005 14:43, Felix Röthenbacher wrote:
> interface org.apache.lenya.cms.repository.RepositoryFactory
> class org.apache.lenya.cms.repository.DefaultRepositoryFactory

Got it, thanks :-)

Manos

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Emmanouil Batsis wrote:

>Hi Felix,
>
>On Tuesday 25 October 2005 15:53, Felix Röthenbacher wrote:
>
>  
>
>>Hi Emmanouil
>>
>>I updated Jetty to version 5.1.4 with the JettyPlus libraries [1] which
>>means that there will be a JNDI context that can be used to get the
>>JCR repository.
>>    
>>
>
>Thanks; i was watching the jetty thread yestarday morning :-)
>
>Hiding JNDI (or whatever) from the rest of the app can be usefull in the 
>future, so the repo factory is still the way to go right? Getting a repo 
>with:
>
>Repository repo = RepositoryFactory.getInstance().getRepository();
>
>is better than doing JNDI lookups, plus it's easy to refactor/extend in the 
>future.
>  
>

agreed, but I would try to use JNDI lookup if possible anyway.
But it would certainly make sense if for instance a container does not 
support JNDI or some other Repository instantiation is preferred

>The ContextListener can be used to initialize the factory based on it's 
>web.xml configuration, with JNDI as the default. The factory can be a 
>concrete class/singleton for the local JVM.
>
>Some issues:
>
>* The factory will be initialized right after the web conext is up. If nothing 
>tries to obtain a repo before that then this is OK.
>
>* Can we throw out LenyaRepository? It extends a jackrabbit-specific class and 
>the wrong one as well.
>

sure, if that's the case. I think one should be able to compile
Lenya itself without having a specific JCR implementation.

Hence I would split the compile target in two targets resp. separate the 
specific instatiator code from the Lenya code.

Michi

> Instead of JackRabbitRepository it should extend 
>org.apache.jackrabbit.core.jndi.BindableRepository AFAIK (for which i can 
>find the xref but not the javadocs online; it does live on the trunk). 
>LenyaRepository also has a configure who's javadoc points to Avalon's 
>Configurable but the class itself does not implement the interface?
>
>Thanks again,
>
>Manos
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
>For additional commands, e-mail: dev-help@lenya.apache.org
>
>
>  
>


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
Hi Felix,

On Tuesday 25 October 2005 15:53, Felix Röthenbacher wrote:

> Hi Emmanouil
>
> I updated Jetty to version 5.1.4 with the JettyPlus libraries [1] which
> means that there will be a JNDI context that can be used to get the
> JCR repository.

Thanks; i was watching the jetty thread yestarday morning :-)

Hiding JNDI (or whatever) from the rest of the app can be usefull in the 
future, so the repo factory is still the way to go right? Getting a repo 
with:

Repository repo = RepositoryFactory.getInstance().getRepository();

is better than doing JNDI lookups, plus it's easy to refactor/extend in the 
future.

The ContextListener can be used to initialize the factory based on it's 
web.xml configuration, with JNDI as the default. The factory can be a 
concrete class/singleton for the local JVM.

Some issues:

* The factory will be initialized right after the web conext is up. If nothing 
tries to obtain a repo before that then this is OK.

* Can we throw out LenyaRepository? It extends a jackrabbit-specific class and 
the wrong one as well. Instead of JackRabbitRepository it should extend 
org.apache.jackrabbit.core.jndi.BindableRepository AFAIK (for which i can 
find the xref but not the javadocs online; it does live on the trunk). 
LenyaRepository also has a configure who's javadoc points to Avalon's 
Configurable but the class itself does not implement the interface?

Thanks again,

Manos

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


Re: Are you guys interested in the (Re: JCR-only approach)

Posted by Michael Wechner <mi...@wyona.com>.
Emmanouil Batsis wrote:

>Nobody answered so... i want to help since i'm using Lenya, but really need 
>help from you guys to actually manage doing this in my little free time.
>  
>

I am actually very interested in this, but currently don't find
the time to take a closer look at it. I first want to look
at Robert's code (GoSC), because I will be on vacation next week.

I hope that somebody else will be able to help you.

Michi

>Cheers,
>
>Manos
>
>On Tuesday 11 October 2005 19:59, Emmanouil Batsis wrote:
>  
>
>>Hi,
>>
>>I've created a ServletContextListener as agreed in previous thread posts
>>but need some help here :-)
>>
>>Right now, the covered scenarios are:
>>
>>* Container config is used so no initialization is needed. Classes can use
>>the repo by simply obtaining it from JNDI.
>>
>>* Still working on this: Explicit initialization by the listener can be
>>configured in web.xml for cases where JNDI is not available or you do not
>>want to use container config files.
>>
>>* The ServletContextListener can be configured in web.xml to properly
>>shutdown the repo (see JCR-120 at [1]).
>>
>>To absract JNDI use (mostly for Jetty) i intent to make the repo available
>>as a static member in some class (because i would like to avoid using
>>application context). Do you guys agree on this and if yes, is there any
>>appropriate class available? If not which package should i use? For the
>>ServletContextListener i've used org.apache.lenya.util.
>>
>>[1] http://issues.apache.org/jira/browse/JCR-120?page=all
>>
>>Cheers,
>>
>>Manos
>>
>>On Wednesday 05 October 2005 10:20, Emmanouil Batsis wrote:
>>    
>>
>>>On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
>>>      
>>>
>>>>right, but I guess the binding then needs to be configurable
>>>>within the container, right? And we basically have to
>>>>provide different bindings related to the various implementations, e.g.
>>>>Jackrabbit, Jeceira, etc. ...
>>>>        
>>>>
>>>True, but Lenya can be shipped with jackrabbit by default and the user
>>>can switch to another implementations; binding howtos will be provided by
>>>the community i guess :-)
>>>
>>>I forgot to make clear that the container will need some configuration as
>>>well, for example i Tomcat will need a Resource in it's server.xml. I'll
>>>provide documentation for Tomcat/JBoss but i really do not have the time
>>>to check out other containers. Also, as Felix pointed out, Jetty needs a
>>>solution too as the binary distribution is very convenient and that
>>>should not be lost :-/ Perhaps this can be solved by the build.
>>>
>>>BTW, how should docos be provided? I see no xdocs or anything, do i have
>>>to use the wiki?
>>>
>>>Manos
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
>>>For additional commands, e-mail: dev-help@lenya.apache.org
>>>      
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
>>For additional commands, e-mail: dev-help@lenya.apache.org
>>    
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
>For additional commands, e-mail: dev-help@lenya.apache.org
>
>
>  
>


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Are you guys interested in the (Re: JCR-only approach)

Posted by Emmanouil Batsis <ma...@geekologue.com>.
Nobody answered so... i want to help since i'm using Lenya, but really need 
help from you guys to actually manage doing this in my little free time.

Cheers,

Manos

On Tuesday 11 October 2005 19:59, Emmanouil Batsis wrote:
> Hi,
>
> I've created a ServletContextListener as agreed in previous thread posts
> but need some help here :-)
>
> Right now, the covered scenarios are:
>
> * Container config is used so no initialization is needed. Classes can use
> the repo by simply obtaining it from JNDI.
>
> * Still working on this: Explicit initialization by the listener can be
> configured in web.xml for cases where JNDI is not available or you do not
> want to use container config files.
>
> * The ServletContextListener can be configured in web.xml to properly
> shutdown the repo (see JCR-120 at [1]).
>
> To absract JNDI use (mostly for Jetty) i intent to make the repo available
> as a static member in some class (because i would like to avoid using
> application context). Do you guys agree on this and if yes, is there any
> appropriate class available? If not which package should i use? For the
> ServletContextListener i've used org.apache.lenya.util.
>
> [1] http://issues.apache.org/jira/browse/JCR-120?page=all
>
> Cheers,
>
> Manos
>
> On Wednesday 05 October 2005 10:20, Emmanouil Batsis wrote:
> > On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
> > > right, but I guess the binding then needs to be configurable
> > > within the container, right? And we basically have to
> > > provide different bindings related to the various implementations, e.g.
> > > Jackrabbit, Jeceira, etc. ...
> >
> > True, but Lenya can be shipped with jackrabbit by default and the user
> > can switch to another implementations; binding howtos will be provided by
> > the community i guess :-)
> >
> > I forgot to make clear that the container will need some configuration as
> > well, for example i Tomcat will need a Resource in it's server.xml. I'll
> > provide documentation for Tomcat/JBoss but i really do not have the time
> > to check out other containers. Also, as Felix pointed out, Jetty needs a
> > solution too as the binary distribution is very convenient and that
> > should not be lost :-/ Perhaps this can be solved by the build.
> >
> > BTW, how should docos be provided? I see no xdocs or anything, do i have
> > to use the wiki?
> >
> > Manos
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
> > For additional commands, e-mail: dev-help@lenya.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
> For additional commands, e-mail: dev-help@lenya.apache.org

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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.
Hi Manos

Emmanouil Batsis wrote:
> Hi,
> 
> I've created a ServletContextListener as agreed in previous thread posts but 
> need some help here :-)
> 
> Right now, the covered scenarios are:
> 
> * Container config is used so no initialization is needed. Classes can use the 
> repo by simply obtaining it from JNDI.
> 
> * Still working on this: Explicit initialization by the listener can be 
> configured in web.xml for cases where JNDI is not available or you do not 
> want to use container config files.
> 
> * The ServletContextListener can be configured in web.xml to properly shutdown 
> the repo (see JCR-120 at [1]).
> 
> To absract JNDI use (mostly for Jetty) i intent to make the repo available as 
> a static member in some class (because i would like to avoid using 
> application context). Do you guys agree on this and if yes, is there any 
> appropriate class available? If not which package should i use? For the 
> ServletContextListener i've used org.apache.lenya.util.

What if we use a repository factory class? Should be an avalon component
for easy access. I would suggest to add the class to
org.apache.lenya.cms.repository.

So, it's

interface org.apache.lenya.cms.repository.RepositoryFactory
class org.apache.lenya.cms.repository.DefaultRepositoryFactory

Thanks for your effort!

- Felix


> 
> [1] http://issues.apache.org/jira/browse/JCR-120?page=all
> 
> Cheers,
> 
> Manos
> 
> On Wednesday 05 October 2005 10:20, Emmanouil Batsis wrote:
> 
>>On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
>>
>>>right, but I guess the binding then needs to be configurable
>>>within the container, right? And we basically have to
>>>provide different bindings related to the various implementations, e.g.
>>>Jackrabbit, Jeceira, etc. ...
>>
>>True, but Lenya can be shipped with jackrabbit by default and the user can
>>switch to another implementations; binding howtos will be provided by the
>>community i guess :-)
>>
>>I forgot to make clear that the container will need some configuration as
>>well, for example i Tomcat will need a Resource in it's server.xml. I'll
>>provide documentation for Tomcat/JBoss but i really do not have the time to
>>check out other containers. Also, as Felix pointed out, Jetty needs a
>>solution too as the binary distribution is very convenient and that should
>>not be lost :-/ Perhaps this can be solved by the build.
>>
>>BTW, how should docos be provided? I see no xdocs or anything, do i have
>>to use the wiki?
>>
>>Manos
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
>>For additional commands, e-mail: dev-help@lenya.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
> For additional commands, e-mail: dev-help@lenya.apache.org
> 
> 

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.
Emmanouil Batsis wrote:
> Hi,
> 
> I've created a ServletContextListener as agreed in previous thread posts but 
> need some help here :-)
> 
> Right now, the covered scenarios are:
> 
> * Container config is used so no initialization is needed. Classes can use the 
> repo by simply obtaining it from JNDI.
> 
> * Still working on this: Explicit initialization by the listener can be 
> configured in web.xml for cases where JNDI is not available or you do not 
> want to use container config files.
> 
> * The ServletContextListener can be configured in web.xml to properly shutdown 
> the repo (see JCR-120 at [1]).
> 
> To absract JNDI use (mostly for Jetty) i intent to make the repo available as 
> a static member in some class (because i would like to avoid using 
> application context). Do you guys agree on this and if yes, is there any 
> appropriate class available? If not which package should i use? For the 
> ServletContextListener i've used org.apache.lenya.util.
> 
> [1] http://issues.apache.org/jira/browse/JCR-120?page=all
> 
> Cheers,
> 
> Manos
> 
> On Wednesday 05 October 2005 10:20, Emmanouil Batsis wrote:
> 
>>On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
>>
>>>right, but I guess the binding then needs to be configurable
>>>within the container, right? And we basically have to
>>>provide different bindings related to the various implementations, e.g.
>>>Jackrabbit, Jeceira, etc. ...
>>
>>True, but Lenya can be shipped with jackrabbit by default and the user can
>>switch to another implementations; binding howtos will be provided by the
>>community i guess :-)
>>
>>I forgot to make clear that the container will need some configuration as
>>well, for example i Tomcat will need a Resource in it's server.xml. I'll
>>provide documentation for Tomcat/JBoss but i really do not have the time to
>>check out other containers. Also, as Felix pointed out, Jetty needs a
>>solution too as the binary distribution is very convenient and that should
>>not be lost :-/ Perhaps this can be solved by the build.

Hi Emmanouil

I updated Jetty to version 5.1.4 with the JettyPlus libraries [1] which
means that there will be a JNDI context that can be used to get the
JCR repository.

- Felix

[1] http://issues.apache.org/bugzilla/show_bug.cgi?id=37240


>>
>>BTW, how should docos be provided? I see no xdocs or anything, do i have
>>to use the wiki?
>>
>>Manos
>>

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
Hi,

I've created a ServletContextListener as agreed in previous thread posts but 
need some help here :-)

Right now, the covered scenarios are:

* Container config is used so no initialization is needed. Classes can use the 
repo by simply obtaining it from JNDI.

* Still working on this: Explicit initialization by the listener can be 
configured in web.xml for cases where JNDI is not available or you do not 
want to use container config files.

* The ServletContextListener can be configured in web.xml to properly shutdown 
the repo (see JCR-120 at [1]).

To absract JNDI use (mostly for Jetty) i intent to make the repo available as 
a static member in some class (because i would like to avoid using 
application context). Do you guys agree on this and if yes, is there any 
appropriate class available? If not which package should i use? For the 
ServletContextListener i've used org.apache.lenya.util.

[1] http://issues.apache.org/jira/browse/JCR-120?page=all

Cheers,

Manos

On Wednesday 05 October 2005 10:20, Emmanouil Batsis wrote:
> On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
> > right, but I guess the binding then needs to be configurable
> > within the container, right? And we basically have to
> > provide different bindings related to the various implementations, e.g.
> > Jackrabbit, Jeceira, etc. ...
>
> True, but Lenya can be shipped with jackrabbit by default and the user can
> switch to another implementations; binding howtos will be provided by the
> community i guess :-)
>
> I forgot to make clear that the container will need some configuration as
> well, for example i Tomcat will need a Resource in it's server.xml. I'll
> provide documentation for Tomcat/JBoss but i really do not have the time to
> check out other containers. Also, as Felix pointed out, Jetty needs a
> solution too as the binary distribution is very convenient and that should
> not be lost :-/ Perhaps this can be solved by the build.
>
> BTW, how should docos be provided? I see no xdocs or anything, do i have
> to use the wiki?
>
> Manos
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
> For additional commands, e-mail: dev-help@lenya.apache.org

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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
On Wednesday 05 October 2005 02:39, Michael Wechner wrote:
> right, but I guess the binding then needs to be configurable
> within the container, right? And we basically have to
> provide different bindings related to the various implementations, e.g.
> Jackrabbit, Jeceira, etc. ...

True, but Lenya can be shipped with jackrabbit by default and the user can 
switch to another implementations; binding howtos will be provided by the 
community i guess :-)

I forgot to make clear that the container will need some configuration as 
well, for example i Tomcat will need a Resource in it's server.xml. I'll 
provide documentation for Tomcat/JBoss but i really do not have the time to 
check out other containers. Also, as Felix pointed out, Jetty needs a solution 
too as the binary distribution is very convenient and that should not be 
lost :-/ Perhaps this can be solved by the build.

BTW, how should docos be provided? I see no xdocs or anything, do i have 
to use the wiki?

Manos

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Emmanouil Batsis wrote:

>On Wednesday 28 September 2005 22:32, Michael Wechner wrote:
>  
>
>>Emmanouil Batsis wrote:
>>    
>>
>>>Now, JSR-170 does *not* specify how a Repository should be obtained. This
>>>probably means that to abstract implementation-dependent initialization of
>>>repos, you probably have to come up with an abstraction for this. One
>>>possibility is to come up with an interface like RepoFactory and load the
>>>implementation by getting the actual classname from web.xml.
>>>      
>>>
>>well, it seems to me that it would make sense that JCR itself would
>>provide such an interface, just as jdbc is providing a DatabaseDriver.
>>    
>>
>
>The JCR does not but the container infrastructure does; I posted about this on 
>jackrabbit-dev and it seems that indeed JNDI is the way to go;
>

right, but I guess the binding then needs to be configurable
within the container, right? And we basically have to
provide different bindings related to the various implementations, e.g.
Jackrabbit, Jeceira, etc. ...

> additionally, 
>implementation-related dependencies can be avoided and there should be no 
>need for implementation dependent initializers.
>
>Instead, along with JNDI, the app descriptor will have to declare the repo as 
>a resource like:
>
><resource-env-ref>
>  <description>Content Repository</description>
>  <resource-env-ref-name>jcr/repository</resource-env-ref-name>
>  <resource-env-ref-type>javax.jcr.Repository</resource-env-ref-type>
></resource-env-ref>
>
>and use the value of resource-env-ref-name to obtain the repo from JNDI. If 
>you guys give me a go,
>
I don't think there is any reason to wait ;-) please go :-)

Michi

> i'll start working on a patch and test on JBoss and 
>Tomcat.
>  
>


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


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.
Hi Emmanouil

Emmanouil Batsis wrote:
> On Wednesday 28 September 2005 22:32, Michael Wechner wrote:
> 
>>Emmanouil Batsis wrote:
>>
>>>Now, JSR-170 does *not* specify how a Repository should be obtained. This
>>>probably means that to abstract implementation-dependent initialization of
>>>repos, you probably have to come up with an abstraction for this. One
>>>possibility is to come up with an interface like RepoFactory and load the
>>>implementation by getting the actual classname from web.xml.
>>
>>well, it seems to me that it would make sense that JCR itself would
>>provide such an interface, just as jdbc is providing a DatabaseDriver.
> 
> 
> The JCR does not but the container infrastructure does; I posted about this on 
> jackrabbit-dev and it seems that indeed JNDI is the way to go; additionally, 
> implementation-related dependencies can be avoided and there should be no 
> need for implementation dependent initializers.
> 
> Instead, along with JNDI, the app descriptor will have to declare the repo as 
> a resource like:
> 
> <resource-env-ref>
>   <description>Content Repository</description>
>   <resource-env-ref-name>jcr/repository</resource-env-ref-name>
>   <resource-env-ref-type>javax.jcr.Repository</resource-env-ref-type>
> </resource-env-ref>
> 
> and use the value of resource-env-ref-name to obtain the repo from JNDI. If 
> you guys give me a go, i'll start working on a patch and test on JBoss and 
> Tomcat.

Go ahead, but we also have to find a solution for "JNDI-unaware" Jetty
that is shipped as out-of-the-box servlet container with Lenya ...

- Felix

> 
> Manos
> 

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
On Wednesday 28 September 2005 22:32, Michael Wechner wrote:
> Emmanouil Batsis wrote:
> >Now, JSR-170 does *not* specify how a Repository should be obtained. This
> >probably means that to abstract implementation-dependent initialization of
> >repos, you probably have to come up with an abstraction for this. One
> >possibility is to come up with an interface like RepoFactory and load the
> >implementation by getting the actual classname from web.xml.
>
> well, it seems to me that it would make sense that JCR itself would
> provide such an interface, just as jdbc is providing a DatabaseDriver.

The JCR does not but the container infrastructure does; I posted about this on 
jackrabbit-dev and it seems that indeed JNDI is the way to go; additionally, 
implementation-related dependencies can be avoided and there should be no 
need for implementation dependent initializers.

Instead, along with JNDI, the app descriptor will have to declare the repo as 
a resource like:

<resource-env-ref>
  <description>Content Repository</description>
  <resource-env-ref-name>jcr/repository</resource-env-ref-name>
  <resource-env-ref-type>javax.jcr.Repository</resource-env-ref-type>
</resource-env-ref>

and use the value of resource-env-ref-name to obtain the repo from JNDI. If 
you guys give me a go, i'll start working on a patch and test on JBoss and 
Tomcat.

Manos

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Emmanouil Batsis wrote:

>On Wednesday 28 September 2005 15:40, Michael Wechner wrote:
>  
>
>>Felix Röthenbacher wrote:
>>    
>>
>>>>but doesn't that mean we would have to run a JNDI service as a server
>>>>parallel to Lenya (similar to a DNS demon)? Also the binding would
>>>>have to happen during startup, because it's implementation specific.
>>>>If we can do this out of the box, then great, but I don't know how
>>>>simple this is to integrate.
>>>>        
>>>>
>>>web.xml is the place where it can be defined for Tomcat. With Jetty,
>>>either JettyPlus has to be used or the rmiregistry has to be started.
>>>Out-of-the-box is possible and not too hard to implement.
>>>      
>>>
>>you might want to give it a try ;-)
>>
>>What about other servlet containers, e.g WebLogic?
>>    
>>
>
>Making this container-neutral should be no problem. To expand in my previous 
>post, the solution seems to be a ServletContextListener that just initializes 
>the insert-whatever-here* and puts it under the JNDI tree. 
>
>insert-whatever-here can be anything from your-clusterable-singleton to 
>hibernate to a jsr-170 implementation; although i havent tried the latter, 
>i'm confident this is the right direction.
>
>The good thing about this pattern is that it works well in all JNDI-aware 
>containers (that includes all J2EE appservers) and can be modified to work in 
>all topologies as well. In short this goes like 
>
>//======================================================================
>// foo can be the repository, a datasource, a clusterable singleton etc
>Foobar foo = FoobarFactory.initializeOrConfigureOrWhatever();
>
>// not sure this is needed, see below
>Properies props = new Properties();
>props.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
>props.put(Context.PROVIDER_URL, PROVIDER_URL)
>
>// calling the same constructor with no args should be fine too
>// we are not trying to do any lookups
>InitialContext context = new InitialContext(props);
>
>// ok now put it under the JNDI tree
>String key = "some key that can could be retreived form web.xml or other 
>conf";
>context.bind(key, foo);
>//======================================================================
>
>  
>

it seems like you have done something like this before.
Maybe you wanna give it a try and contribute a patch ;-)
(passing the ball ....)

>Now, JSR-170 does *not* specify how a Repository should be obtained. This 
>probably means that to abstract implementation-dependent initialization of 
>repos, you probably have to come up with an abstraction for this. One 
>possibility is to come up with an interface like RepoFactory and load the 
>implementation by getting the actual classname from web.xml.
>  
>

well, it seems to me that it would make sense that JCR itself would
provide such an interface, just as jdbc is providing a DatabaseDriver.

Michi

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


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Emmanouil Batsis <ma...@geekologue.com>.
On Wednesday 28 September 2005 15:40, Michael Wechner wrote:
> Felix Röthenbacher wrote:
> >> but doesn't that mean we would have to run a JNDI service as a server
> >> parallel to Lenya (similar to a DNS demon)? Also the binding would
> >> have to happen during startup, because it's implementation specific.
> >> If we can do this out of the box, then great, but I don't know how
> >> simple this is to integrate.
> >
> > web.xml is the place where it can be defined for Tomcat. With Jetty,
> > either JettyPlus has to be used or the rmiregistry has to be started.
> > Out-of-the-box is possible and not too hard to implement.
>
> you might want to give it a try ;-)
>
> What about other servlet containers, e.g WebLogic?

Making this container-neutral should be no problem. To expand in my previous 
post, the solution seems to be a ServletContextListener that just initializes 
the insert-whatever-here* and puts it under the JNDI tree. 

insert-whatever-here can be anything from your-clusterable-singleton to 
hibernate to a jsr-170 implementation; although i havent tried the latter, 
i'm confident this is the right direction.

The good thing about this pattern is that it works well in all JNDI-aware 
containers (that includes all J2EE appservers) and can be modified to work in 
all topologies as well. In short this goes like 

//======================================================================
// foo can be the repository, a datasource, a clusterable singleton etc
Foobar foo = FoobarFactory.initializeOrConfigureOrWhatever();

// not sure this is needed, see below
Properies props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
props.put(Context.PROVIDER_URL, PROVIDER_URL)

// calling the same constructor with no args should be fine too
// we are not trying to do any lookups
InitialContext context = new InitialContext(props);

// ok now put it under the JNDI tree
String key = "some key that can could be retreived form web.xml or other 
conf";
context.bind(key, foo);
//======================================================================


Now, JSR-170 does *not* specify how a Repository should be obtained. This 
probably means that to abstract implementation-dependent initialization of 
repos, you probably have to come up with an abstraction for this. One 
possibility is to come up with an interface like RepoFactory and load the 
implementation by getting the actual classname from web.xml.

Cheers,

Manos


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


Re: JCR-only approach

Posted by Edith Chevrier <ed...@wyona.com>.
Felix Röthenbacher wrote:

>
> Michael Wechner wrote:
>
>> Felix Röthenbacher wrote:
>>
[...]

>>>
>>> Michael Wechner wrote:
>>>
>>>
>>> web.xml is the place where it can be defined for Tomcat. With Jetty,
>>> either JettyPlus has to be used or the rmiregistry has to be started.
>>> Out-of-the-box is possible and not too hard to implement.
>>
>>
>>
>>
>> you might want to give it a try ;-)
>>
>> What about other servlet containers, e.g WebLogic?
>
>
> Use Spring :-) I googled for the Spring framework and what I have found
> sounds promising, especially when it comes to abstracting the J2EE
> environment. Edith, do you like to give it a try?

Sure, but i don't think it's good to have 2 frameworks and i have no 
time to replace avalon with spring :).

> Another approach may be Avalon (with the constraint that it does not
> seem to be tailored to J2EE applications) ...
>
So, 1+ for Avalon

Edith

> - Felix
>
>>
>> Michi
>>
>>>
>>> - Felix
>>>
>>>
>>>> Michi
>>>>
>>>>>
>>>>>
>>>>> - Felix
>>>>>
>>>>>> Michi
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Michi
>>>>>>>
>>>>>>>>
>>>>>>>> -- Andreas
>>>>>>>>
>>>
>>
>>
>


-- 
Edith Chevrier
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://wyona.com                          http://lenya.apache.org
edith.chevrier@wyona.com                         edith@apache.org




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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.
Michael Wechner wrote:
> Felix Röthenbacher wrote:
> 
>>
>>
>> Michael Wechner wrote:
>>
>>> Felix Röthenbacher wrote:
>>>
>> [...]
>>
>>>>
>>>>>
>>>>> Also I think we should make it independent of Jackrabbit, either by
>>>>> using Avalon or Spring or programming something on our own, but such
>>>>> that we can decide on runtime what implementation to use, either 
>>>>> Jackrabbit or
>>>>> Jeceira or whatever, whereas Jackrabbit could be default, because it's
>>>>> already being shipped with Cocoon and it's Apache ;-)
>>>>>
>>>>> We actually already have some code to do this with spring and would be
>>>>> happy to contribute, but I am not sure if we want to introduce 
>>>>> another application framework beside Avalon ...
>>>>>
>>>>
>>>> The way to get a repository independent of the implementation is to use
>>>> the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
>>>> or with the rmiregistry which comes with the jdk.
>>>
>>>
>>>
>>>
>>>
>>> but doesn't that mean we would have to run a JNDI service as a server
>>> parallel to Lenya (similar to a DNS demon)? Also the binding would
>>> have to happen during startup, because it's implementation specific.
>>> If we can do this out of the box, then great, but I don't know how
>>> simple this is to integrate.
>>>
>>
>> web.xml is the place where it can be defined for Tomcat. With Jetty,
>> either JettyPlus has to be used or the rmiregistry has to be started.
>> Out-of-the-box is possible and not too hard to implement.
> 
> 
> 
> you might want to give it a try ;-)
> 
> What about other servlet containers, e.g WebLogic?

Use Spring :-) I googled for the Spring framework and what I have found
sounds promising, especially when it comes to abstracting the J2EE
environment. Edith, do you like to give it a try?
Another approach may be Avalon (with the constraint that it does not
seem to be tailored to J2EE applications) ...

- Felix

> 
> Michi
> 
>>
>> - Felix
>>
>>
>>> Michi
>>>
>>>>
>>>>
>>>> - Felix
>>>>
>>>>> Michi
>>>>>
>>>>>>
>>>>>>
>>>>>> Michi
>>>>>>
>>>>>>>
>>>>>>> -- Andreas
>>>>>>>
>>
> 
> 

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Felix Röthenbacher wrote:

>
>
> Michael Wechner wrote:
>
>> Felix Röthenbacher wrote:
>>
> [...]
>
>>>
>>>>
>>>> Also I think we should make it independent of Jackrabbit, either by
>>>> using Avalon or Spring or programming something on our own, but such
>>>> that we can decide on runtime what implementation to use, either 
>>>> Jackrabbit or
>>>> Jeceira or whatever, whereas Jackrabbit could be default, because it's
>>>> already being shipped with Cocoon and it's Apache ;-)
>>>>
>>>> We actually already have some code to do this with spring and would be
>>>> happy to contribute, but I am not sure if we want to introduce 
>>>> another application framework beside Avalon ...
>>>>
>>>
>>> The way to get a repository independent of the implementation is to use
>>> the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
>>> or with the rmiregistry which comes with the jdk.
>>
>>
>>
>>
>> but doesn't that mean we would have to run a JNDI service as a server
>> parallel to Lenya (similar to a DNS demon)? Also the binding would
>> have to happen during startup, because it's implementation specific.
>> If we can do this out of the box, then great, but I don't know how
>> simple this is to integrate.
>>
>
> web.xml is the place where it can be defined for Tomcat. With Jetty,
> either JettyPlus has to be used or the rmiregistry has to be started.
> Out-of-the-box is possible and not too hard to implement.


you might want to give it a try ;-)

What about other servlet containers, e.g WebLogic?

Michi

>
> - Felix
>
>
>> Michi
>>
>>>
>>>
>>> - Felix
>>>
>>>> Michi
>>>>
>>>>>
>>>>>
>>>>> Michi
>>>>>
>>>>>>
>>>>>> -- Andreas
>>>>>>
>


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.

Michael Wechner wrote:
> Felix Röthenbacher wrote:
> 
[...]
>>
>>>
>>> Also I think we should make it independent of Jackrabbit, either by
>>> using Avalon or Spring or programming something on our own, but such
>>> that we can decide on runtime what implementation to use, either 
>>> Jackrabbit or
>>> Jeceira or whatever, whereas Jackrabbit could be default, because it's
>>> already being shipped with Cocoon and it's Apache ;-)
>>>
>>> We actually already have some code to do this with spring and would be
>>> happy to contribute, but I am not sure if we want to introduce 
>>> another application framework beside Avalon ...
>>>
>>
>> The way to get a repository independent of the implementation is to use
>> the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
>> or with the rmiregistry which comes with the jdk.
> 
> 
> 
> but doesn't that mean we would have to run a JNDI service as a server
> parallel to Lenya (similar to a DNS demon)? Also the binding would
> have to happen during startup, because it's implementation specific.
> If we can do this out of the box, then great, but I don't know how
> simple this is to integrate.
> 

web.xml is the place where it can be defined for Tomcat. With Jetty,
either JettyPlus has to be used or the rmiregistry has to be started.
Out-of-the-box is possible and not too hard to implement.

- Felix


> Michi
> 
>>
>>
>> - Felix
>>
>>> Michi
>>>
>>>>
>>>>
>>>> Michi
>>>>
>>>>>
>>>>> -- Andreas
>>>>>

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Felix Röthenbacher wrote:

>
>
> Michael Wechner wrote:
>
>> Michael Wechner wrote:
>>
>>> Andreas Hartmann wrote:
>>>
>>>> Hi Lenya devs,
>>>>
>>>> IIUC we decided to follow a JCR-only approach for the Lenya 
>>>> repository.
>>>>
>>>> I tried to implement the changes to the meta data handling that were
>>>> recently discussed, but this requires quite a lot of effort in the
>>>> Source-based repository, so I'd be glad if we could start with the
>>>> JCR-only approach as soon as possible.
>>>>
>>>> Could we just
>>>>
>>>> - check in a repository
>>>
>>>
>>>
>>>
>>>
>>> you mean instead of calling the import usecase?
>>>
>>>> - set the SourceNodeFactory to JCR in lenya.roles
>>>>
>>>> to get started?
>>>>
>>>> WDYT?
>>>
>>>
>>>
>>>
>>>
>>> +1 whereas I think it's very important that we write some 
>>> import/export  resp.
>>> dump which can be used from the command line, e.g. which would be 
>>> part of
>>> the build.
>>
>>
>>
>>
>> Also I think we should make it independent of Jackrabbit, either by
>> using Avalon or Spring or programming something on our own, but such
>> that we can decide on runtime what implementation to use, either 
>> Jackrabbit or
>> Jeceira or whatever, whereas Jackrabbit could be default, because it's
>> already being shipped with Cocoon and it's Apache ;-)
>>
>> We actually already have some code to do this with spring and would be
>> happy to contribute, but I am not sure if we want to introduce 
>> another application framework beside Avalon ...
>>
>
> The way to get a repository independent of the implementation is to use
> the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
> or with the rmiregistry which comes with the jdk.


but doesn't that mean we would have to run a JNDI service as a server
parallel to Lenya (similar to a DNS demon)? Also the binding would
have to happen during startup, because it's implementation specific.
If we can do this out of the box, then great, but I don't know how
simple this is to integrate.

Michi

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


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Felix Röthenbacher <fe...@wyona.com>.

Michael Wechner wrote:
> Michael Wechner wrote:
> 
>> Andreas Hartmann wrote:
>>
>>> Hi Lenya devs,
>>>
>>> IIUC we decided to follow a JCR-only approach for the Lenya repository.
>>>
>>> I tried to implement the changes to the meta data handling that were
>>> recently discussed, but this requires quite a lot of effort in the
>>> Source-based repository, so I'd be glad if we could start with the
>>> JCR-only approach as soon as possible.
>>>
>>> Could we just
>>>
>>> - check in a repository
>>
>>
>>
>>
>> you mean instead of calling the import usecase?
>>
>>> - set the SourceNodeFactory to JCR in lenya.roles
>>>
>>> to get started?
>>>
>>> WDYT?
>>
>>
>>
>>
>> +1 whereas I think it's very important that we write some 
>> import/export  resp.
>> dump which can be used from the command line, e.g. which would be part of
>> the build.
> 
> 
> 
> Also I think we should make it independent of Jackrabbit, either by
> using Avalon or Spring or programming something on our own, but such
> that we can decide on runtime what implementation to use, either 
> Jackrabbit or
> Jeceira or whatever, whereas Jackrabbit could be default, because it's
> already being shipped with Cocoon and it's Apache ;-)
> 
> We actually already have some code to do this with spring and would be
> happy to contribute, but I am not sure if we want to introduce another 
> application framework beside Avalon ...
> 

The way to get a repository independent of the implementation is to use
the JNDI registry, either in a Servlet-Container (Tomcat, jettyPlus)
or with the rmiregistry which comes with the jdk.

- Felix

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

-- 
Felix Röthenbacher                  felix.roethenbacher@wyona.com
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org

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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Michael Wechner wrote:

> Andreas Hartmann wrote:
>
>> Hi Lenya devs,
>>
>> IIUC we decided to follow a JCR-only approach for the Lenya repository.
>>
>> I tried to implement the changes to the meta data handling that were
>> recently discussed, but this requires quite a lot of effort in the
>> Source-based repository, so I'd be glad if we could start with the
>> JCR-only approach as soon as possible.
>>
>> Could we just
>>
>> - check in a repository
>
>
>
> you mean instead of calling the import usecase?
>
>> - set the SourceNodeFactory to JCR in lenya.roles
>>
>> to get started?
>>
>> WDYT?
>
>
>
> +1 whereas I think it's very important that we write some 
> import/export  resp.
> dump which can be used from the command line, e.g. which would be part of
> the build.


Also I think we should make it independent of Jackrabbit, either by
using Avalon or Spring or programming something on our own, but such
that we can decide on runtime what implementation to use, either 
Jackrabbit or
Jeceira or whatever, whereas Jackrabbit could be default, because it's
already being shipped with Cocoon and it's Apache ;-)

We actually already have some code to do this with spring and would be
happy to contribute, but I am not sure if we want to introduce another 
application framework beside Avalon ...

Michi

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


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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


Re: JCR-only approach

Posted by Michael Wechner <mi...@wyona.com>.
Andreas Hartmann wrote:

> Hi Lenya devs,
>
> IIUC we decided to follow a JCR-only approach for the Lenya repository.
>
> I tried to implement the changes to the meta data handling that were
> recently discussed, but this requires quite a lot of effort in the
> Source-based repository, so I'd be glad if we could start with the
> JCR-only approach as soon as possible.
>
> Could we just
>
> - check in a repository


you mean instead of calling the import usecase?

> - set the SourceNodeFactory to JCR in lenya.roles
>
> to get started?
>
> WDYT?


+1 whereas I think it's very important that we write some import/export  
resp.
dump which can be used from the command line, e.g. which would be part of
the build.

Michi

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


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner@wyona.com                        michi@apache.org


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