You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Derek Palma <de...@gmail.com> on 2010/11/02 23:22:09 UTC

Remotely controlling NodeTypes and Workspaces

Hi,

 

I noticed remote operations for NodeTypeDefinitions using NodeTypeManager
and creating workspaces using session.getWorkspace().createWorkspace() are
not supported. I am just wondering what the possible solutions are for this.
I thought of the following:

1)      Create a servlet or extend the existing one and perform these
operations using local API calls to the Repository.

2)      Create a repository using the local APIs and then use this set of
files as the default for any new repository instances.

 

Is there any other solution?

 

These the NodeTypeManager operations worked remotely in 1.x. Is there a
particular reason they are not supported?  

 

Thanks in advance,

Derek


RE: Remotely controlling NodeTypes and Workspaces

Posted by Jukka Zitting <jz...@adobe.com>.
Hi,

From: Derek Palma [mailto:derek.palma@gmail.com]
> 1) Create a servlet or extend the existing one and perform these
> operations using local API calls to the Repository.

We'd love to have such an extension included directly in jackrabbit-webapp, so it would be great if you were interested in contributing one!

> 2) Create a repository using the local APIs and then use this set
> of files as the default for any new repository instances.
> 
> Is there any other solution?

My typical recommendation is to do such administration-level tasks (node type registration, workspace creation, etc.) using a local repository instance, which both of your suggestions implement. See also https://issues.apache.org/jira/browse/JCR-836 for a related feature idea.

> These the NodeTypeManager operations worked remotely in 1.x.

Correct, here's the relevant backwards compatibility note from Jackrabbit 2.0:

  * The JCR-RMI layer no longer implements the Jackrabbit API extensions.
    Code that uses JCR-RMI with distributed transactions or for administration
    operations like creating workspaces or registering node types needs to
    be updated accordingly.

> Is there a particular reason they are not supported?

There were some complications in having JCR-RMI support the Jackrabbit API extensions while still keeping it usable for non-Jackrabbit repositories, so the support for those extensions was dropped. The plan is to re-implement the same features using the now standard JCR 2.0 APIs, but so far nobody has had time to do that. Contributions in this area would be very much welcome.

BR,

Jukka Zitting