Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 30FF2910B for ; Thu, 15 Mar 2012 13:18:06 +0000 (UTC) Received: (qmail 70075 invoked by uid 500); 15 Mar 2012 13:18:05 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 69995 invoked by uid 500); 15 Mar 2012 13:18:04 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 69877 invoked by uid 99); 15 Mar 2012 13:18:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Mar 2012 13:18:04 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stefan.guggisberg@gmail.com designates 74.125.83.42 as permitted sender) Received: from [74.125.83.42] (HELO mail-ee0-f42.google.com) (74.125.83.42) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Mar 2012 13:17:56 +0000 Received: by eekb57 with SMTP id b57so2745286eek.1 for ; Thu, 15 Mar 2012 06:17:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=ODvgJGNAnFzkr78tZDna8EKQvLvgfWzCInAqHF9Zr/k=; b=BQ+n/C4aITDnd00FX+SY1sar/1JxdhooYtEo3XHpQRdPbVt+c4OzD+XdYLwELoLzdx ENOFYAJnkzD2z5JRwbh6nZXhVveX1Iz2W52WU1ef05JDqj33o953Be+xKy5fmjnYaBYZ z6vGeTXGb75p82V3A8kudrfQznVOKoPl/wzxj02imOVVlO6/R3o31CINLjifoSPYJiF4 bG61SdvZMs4w9pRdPvlJ66IE7y8gqG9YuZW6N8FE5aRtFxyThUG32Nfrx/0+gQbzCMZW 30rRwIV29DUL+mPF6L7CPsKrKYXuTO9t3IArNK/+cww6nzGe410s+HxRRNY/GXnOK9RM DDjg== MIME-Version: 1.0 Received: by 10.50.192.196 with SMTP id hi4mr9090008igc.55.1331817455974; Thu, 15 Mar 2012 06:17:35 -0700 (PDT) Received: by 10.42.174.1 with HTTP; Thu, 15 Mar 2012 06:17:35 -0700 (PDT) In-Reply-To: References: <4F5A025B.8050600@adobe.com> <4F61A34C.80501@adobe.com> Date: Thu, 15 Mar 2012 14:17:35 +0100 Message-ID: Subject: Re: On setting component boundaries in Oak From: Stefan Guggisberg To: oak-dev@jackrabbit.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org On Thu, Mar 15, 2012 at 1:57 PM, Jukka Zitting wrote: > Hi, > > On Thu, Mar 15, 2012 at 10:19 AM, Stefan Guggisberg > wrote: >> On Thu, Mar 15, 2012 at 9:07 AM, Angela Schreiber wrote: >>>> The API and protocol bindings on the top are just some examples. >>> >>> ok... because i am not so sure about a plain WebDAV binding. >>> imo that one would rather belong on top of the JCR binding. >>> so, i would rather not have listed here as long as we don't >>> really plan to build that as it might cause confusion. > > OK, let's drop the WebDAV bit for now from the diagram. As I said, > it's just an example of what we could do. > >>> well... but this means that the mk implementations that are >>> currently located in the oak-core module should be moved out >>> to some different component. >> >> agreed, and that's IMO good. we should allow for alternative >> mk impls (like we did with the jr pm's) but we also should >> also designate a default impl (sort of a mk api reference impl). > > Yep. I'd like to see that default MK be as simple as possible, ideally > just an in-memory implementation designed mostly for testing and as a > reference point for other implementations. well, i don't understand why you would want to limit it to a mockup impl. in jr2 we do have a default pm which is readily useable. > >>> and if we do that i don't really like the idea of having the >>> MK-API being part of the oak-core module as it requires >>> MK-implementations to have a dependency to oak-core including >>> the API... that looks odd to me. >> >> same here. the mk api should IMO be a separate individually >> versioned maven project. > > Note that we can (and should) version the MK API package independently > on the OSGi package export level. There's no need for the API to > reside in a separate component for that. i am not convinced. i would still prefer a separate component. > > Also, since different MK implementations are not meant to be used > directly without going through oak-core (i.e. there is no deployment > scenario where oak-core is not included), I don't see a problem with > having an MK implementation depend on oak-core. Just like a custom > PersistenceManager implementation needs to depend on jackrabbit-core > in jr2. IMO the microkernel is on clearly distinct layer from the oak-core. there's also the possible scenario of remoting the mk api (whereas the pm interface was never intended to be remoted). i'd really prefer to have clear separation on the project layout, i.e. a mk impl should have its own pom/source tree. cheers stefan > > BR, > > Jukka Zitting