Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D12669C06 for ; Tue, 28 Feb 2012 15:40:40 +0000 (UTC) Received: (qmail 17745 invoked by uid 500); 28 Feb 2012 15:40:40 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 17705 invoked by uid 500); 28 Feb 2012 15:40:40 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 17697 invoked by uid 99); 28 Feb 2012 15:40:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Feb 2012 15:40:40 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mueller@adobe.com designates 64.18.1.181 as permitted sender) Received: from [64.18.1.181] (HELO exprod6og101.obsmtp.com) (64.18.1.181) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Feb 2012 15:40:30 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob101.postini.com ([64.18.5.12]) with SMTP ID DSNKT0z1WLqeFV57ZNHaqhgkXdNgikgK2lnB@postini.com; Tue, 28 Feb 2012 07:40:10 PST Received: from inner-relay-1.corp.adobe.com ([153.32.1.51]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q1SFcAJ0015102 for ; Tue, 28 Feb 2012 07:38:10 -0800 (PST) Received: from nahub02.corp.adobe.com (nahub02.corp.adobe.com [10.8.189.98]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q1SFe8MM001742 for ; Tue, 28 Feb 2012 07:40:08 -0800 (PST) Received: from eurhub01.eur.adobe.com (10.128.4.30) by nahub02.corp.adobe.com (10.8.189.98) with Microsoft SMTP Server (TLS) id 8.3.192.1; Tue, 28 Feb 2012 07:40:08 -0800 Received: from eurmbx01.eur.adobe.com ([10.128.4.32]) by eurhub01.eur.adobe.com ([10.128.4.30]) with mapi; Tue, 28 Feb 2012 15:40:06 +0000 From: Thomas Mueller To: "dev@jackrabbit.apache.org" Date: Tue, 28 Feb 2012 15:40:03 +0000 Subject: Re: [jr3] Tree model Thread-Topic: [jr3] Tree model Thread-Index: Acz2Lz6DhnHswyDESImlBhD2zE+hlA== Message-ID: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.14.0.111121 acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org Hi, >It would basically be at a similar level as the PersistenceManager in >current Jackrabbit. Instead of returning concrete ItemState objects >(or JsonObject/NodeData), the storage layer would make persisted >content available through the proposed Tree and Leaf interfaces. So far we used the MicroKernel API (JSON / JSOP API) on the low level. I agree the conversion between String and JSON / JSOP is problematic. To avoid it, there is org.apache.jackrabbit.mk.json.JsopStream, and a wrapper for the MicroKernel API: org.apache.jackrabbit.mk.wrapper.Wrapper and WrapperBase. I prepared a few presentations, I can upload them to the Jackrabbit Wiki once I cleaned them up. >And since it's an interface, we could also implement features like >virtual content without the complexities of the current >VirtualItemStateProvider mechanism. I think that's possible even with the current API. One reason to use the MicroKernel API is so we can implement a native version of the MicroKernel. See also http://wiki.apache.org/jackrabbit/Goals%20and%20non%20goals%20for%20Jackrab bit%203 - TBD - Microkernel portable to C: Regards, Thomas