You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by UpAndGone <up...@web.de> on 2005/10/18 17:44:26 UTC

Connect to multiple repositories?

Hi,

 

Is it okay to register multiple repositories and use them together or are
there any performance problems?

 

Background:

I want to write an application to manage "projects". It should be possible
that each project has its own database. So I plan to use one JCR repository
each (configured with a database store).

 

There is also common content to be accessed by every project. So I thought
up to use another repository. While a user usually only connects to his
project, he would at least need to retrieve content from the project and
from the common repository.

The common repository would also store some minimal information about the
projects (like the title and the repository context name). This would be
used to manage (add, remove, etc.) projects.

 

So, is this all fine with jackrabbit or should I be careful?

 

Thanks in advance!

 

 


AW: Connect to multiple repositories?

Posted by UpAndGone <up...@web.de>.
Hi David,

> yes. however a content repository's persistence layer could be
> configured to for example separate the different workspaces into
> different persistence layers (like different databases)
That's a good idea!

> for simplicity reasons and possibly extend it from there, once you have
> the customer requirement to actually have the projects in different
> repositories... does that make sense?
Okay, you are probably right. Maybe I am thinking too big anyway. But if the
time comes, I will consider your thoughts from above.

Thank you very much
Patrick




Re: Connect to multiple repositories?

Posted by David Nuescheler <da...@gmail.com>.
hi patrick,

> Not a reason, but an idea: To physically divide the projects. One project
> belongs to one client. So a person who works on "project1" has nothing to do
> with "project2". Sure, I could use ACLs, but with different databases it is
> more separated.
> Also client #1 may >want< to use his own database. And
> client #2's project might be very large and generate a lot of traffic, so he
> >should< use his own database. Well, was it understandable?
yes. however a content repository's persistence layer could be
configured to for example separate the different workspaces into
different persistence layers (like different databases)
[possibly even different sections of the tree]

> It's just an idea after all. So if you tell me that this would produce too
> much overhead or simply would not work in a way, I'm fine with it and will
> use the (all-in-one) tree based approach.
i would start with the all in one tree solution (using access control) just
for simplicity reasons and possibly extend it from there, once you have
the customer requirement to actually have the projects in different
repositories... does that make sense?

regards,
david

AW: Connect to multiple repositories?

Posted by UpAndGone <up...@web.de>.
Hi David,

> ... is there a reason why you do not just have the
> content in a tree...
> something like this:
> 
> [rootnode]
>  + projects
>     + myproject1
>        - title
>        - description
>        + other project stuff
>     + myproject2
>        - title
>        - description
>        + other project stuff
>

Not a reason, but an idea: To physically divide the projects. One project
belongs to one client. So a person who works on "project1" has nothing to do
with "project2". Sure, I could use ACLs, but with different databases it is
more separated. Also client #1 may >want< to use his own database. And
client #2's project might be very large and generate a lot of traffic, so he
>should< use his own database. Well, was it understandable?

It's just an idea after all. So if you tell me that this would produce too
much overhead or simply would not work in a way, I'm fine with it and will
use the (all-in-one) tree based approach. 

Best regards,
Patrick 

.


Re: Connect to multiple repositories?

Posted by David Nuescheler <da...@gmail.com>.
> I want to write an application to manage "projects".
> It should be possible that each project has its own
> database. So I plan to use one JCR repository
> each (configured with a database store).
> There is also common content to be accessed
> by every project. So I thought up to use another
> repository. While a user usually only connects to his
> project, he would at least need to retrieve content from
> the project and from the common repository.
to me it sounds like this could be a good application
for a workspace per "project", what do you think?
the good thing is that you still have cross workspace
operations like merge, update, clone that allow you
to keep the "general" content updated in a number of
different workspaces. however (see below) ...

> The common repository would also store some
> minimal information about the projects (like the title and
> the repository context name). This would be
> used to manage (add, remove, etc.) projects.
... is there a reason why you do not just have the
content in a tree...

something like this:

[rootnode]
 + projects
    + myproject1
       - title
       - description
       + other project stuff
    + myproject2
       - title
       - description
       + other project stuff

> So, is this all fine with jackrabbit or should I be careful?
well, it is all fine... but unless you have a requirement of
actually having separate repositories i would probably suggest
to take the above tree based approach.

regards,
david