Return-Path: X-Original-To: apmail-jackrabbit-users-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0B209963E for ; Fri, 21 Oct 2011 14:42:01 +0000 (UTC) Received: (qmail 39387 invoked by uid 500); 21 Oct 2011 14:42:00 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 39353 invoked by uid 500); 21 Oct 2011 14:42:00 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 39345 invoked by uid 99); 21 Oct 2011 14:42:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Oct 2011 14:42:00 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of justinedelson@gmail.com designates 74.125.82.170 as permitted sender) Received: from [74.125.82.170] (HELO mail-wy0-f170.google.com) (74.125.82.170) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Oct 2011 14:41:55 +0000 Received: by wyf23 with SMTP id 23so8819662wyf.1 for ; Fri, 21 Oct 2011 07:41:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=LdUbsm0V+tthwYbqIyIlWGIco+nFS1p90SBHpAKD8Cs=; b=FIs++QZb9jP1yx06LWEKML1LrQmjEBLANfSHOrSW4tzv3hMV2GXj6ApXwaGwTMwX6P ZWGN6UhbfHOKorM6MzXVU5DTw/jeJMr3FFf0LJHLc145CvbbLtVaVcB6YmPaHXg8eXBt clKutn+3nuNZLkLedkiVG0n92PvoGEu4e1kpA= MIME-Version: 1.0 Received: by 10.227.25.197 with SMTP id a5mr5739366wbc.71.1319208094195; Fri, 21 Oct 2011 07:41:34 -0700 (PDT) Sender: justinedelson@gmail.com Received: by 10.180.103.134 with HTTP; Fri, 21 Oct 2011 07:41:34 -0700 (PDT) In-Reply-To: References: Date: Fri, 21 Oct 2011 10:41:34 -0400 X-Google-Sender-Auth: WyxZyvyYw7CtdYX5uKuyKhbp6lI Message-ID: Subject: Re: Is it possible to have multiple repositories in one web app? From: Justin Edelson To: users@jackrabbit.apache.org, ardamangrewal@gmail.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable It is a universal truism that for security to work, you have to do it correctly :) On Fri, Oct 21, 2011 at 10:26 AM, Ardaman Grewal wrote: > Thanks for the replies so far, appreciate it. > > One of the reason for multi-subscriber/multi-repository, is the system wi= ll > be a multi-tenant system. Managing access just via security will involve > quite a bit of security and access management. And you have to get it rig= ht > so you don't allow subscriber A to look at subscriber B's data. Also, whe= n > you turn on versioning, that is repo global, therefore more security > management. > > > On Fri, Oct 21, 2011 at 9:09 AM, Justin Edelson wrote: > >> Indeed, but that's not to say that a repository per subscriber is :) >> Access Control is the way to do what you want to do. >> >> That said, AFAIK, there's no reason you can't have multiple >> repositories per VM as long as each point to a different directories >> and (if you're using a database-backed pm) different table spaces. >> It's just not typical and seems very heavyweight for what you want to >> do. >> >> Justin >> >> 2011/10/21 Fabi=E1n Mandelbaum : >> > I thought that different-workspaces-for-each-subscriber (read: user) >> > was discouraged by David's Model Rule #3: >> > >> > http://wiki.apache.org/jackrabbit/DavidsModel >> > >> > On Fri, Oct 21, 2011 at 10:45 AM, Gustavo Henrique Orair >> > wrote: >> >> What about using different workspaces for each subcriber? >> >> >> >> >> >> 2011/10/20 Ardaman Grewal >> >> >> >>> I am trying to design and implement a version-able document system t= hat >> is >> >>> meant for multiple subscribers of the system. Data for each subscrib= er >> has >> >>> to be isolated from each other. A Web app will provide REST API for = the >> >>> client applications to access data. Web app will also handle some of >> the >> >>> security and subscription aspects of the subscribing users. I have b= een >> >>> considering Jackrabbit for data management and versioning backed by = a >> >>> relational database. For the web app, thinking of hosting it in Tomc= at. >> >>> Hopefully, the following figure comes through properly formatted. In >> case >> >>> it >> >>> doesn't, it shows a web app which layers a REST api on top of multip= le >> >>> (separate) JR repositories. >> >>> >> >>> Is this a correct approach? Is Jackrabbit intended to be used like t= his >> or >> >>> am I in the weeds? Any other suggestions. >> >>> >> >>> Thank you very much. >> >>> >> >>> >> >>> >> >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0+-----------+ >> >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0| =A0 =A0 =A0 =A0 =A0 | >> >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0+------+ =A0 =A0 =A0 =A0 =A0 =A0| =A0= =A0 =A0 =A0 =A0 | >> >>> +--------------+ >> >>> =A0 =A0 =A0 =A0+------>|Repo A|<---------->| =A0 =A0Web =A0 =A0|<---= -----> | Subscriber >> A | >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 +------+ =A0 =A0 =A0 =A0 =A0 =A0| =A0 = =A0App =A0 =A0| >> +--------------+ >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= | =A0Exposes =A0| >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= | =A0 =A0REST =A0 | >> +--------------+ >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 +------+ =A0 =A0 =A0 =A0 =A0 =A0| =A0 = =A0Svcs =A0 |<--------> | Subscriber >> B | >> >>> =A0 =A0 =A0 =A0+------>|Repo B|<---------->| =A0 =A0 =A0 =A0 =A0 | >> +--------------+ >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 +------+ =A0 =A0 =A0 =A0 =A0 =A0| =A0 = =A0 =A0 =A0 =A0 | >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= | =A0 =A0 =A0 =A0 =A0 | >> >>> =A0 =A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= +-----------+ >> >>> =A0 =A0 =A0 \|/ >> >>> =A0 =A0+------------+ >> >>> =A0 =A0| one or more| >> >>> =A0 =A0| RDMS Store | >> >>> =A0 =A0+------------+ >> >>> >> >> >> > >> > >> > >> > -- >> > Fabi=E1n Mandelbaum >> > IS Engineer >> > >> >