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 58EFB9D3D for ; Thu, 12 Apr 2012 07:48:40 +0000 (UTC) Received: (qmail 52720 invoked by uid 500); 12 Apr 2012 07:48:40 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 52645 invoked by uid 500); 12 Apr 2012 07:48:39 -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 52627 invoked by uid 99); 12 Apr 2012 07:48:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 07:48:38 +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 anchela@adobe.com designates 64.18.1.29 as permitted sender) Received: from [64.18.1.29] (HELO exprod6og112.obsmtp.com) (64.18.1.29) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 07:48:28 +0000 Received: from outbound-smtp-1.corp.adobe.com ([192.150.11.134]) by exprod6ob112.postini.com ([64.18.5.12]) with SMTP ID DSNKT4aItjW7szq7NzVybgnFlGI+4Ked1b1e@postini.com; Thu, 12 Apr 2012 00:48:08 PDT Received: from inner-relay-4.eur.adobe.com (inner-relay-4.adobe.com [193.104.215.14]) by outbound-smtp-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q3C7jwJ0022508 for ; Thu, 12 Apr 2012 00:45:58 -0700 (PDT) Received: from nacas02.corp.adobe.com (nacas02.corp.adobe.com [10.8.189.100]) by inner-relay-4.eur.adobe.com (8.12.10/8.12.9) with ESMTP id q3C7m4Yr017156 for ; Thu, 12 Apr 2012 00:48:04 -0700 (PDT) Received: from eurhub01.eur.adobe.com (10.128.4.30) by nacas02.corp.adobe.com (10.8.189.100) with Microsoft SMTP Server (TLS) id 8.3.192.1; Thu, 12 Apr 2012 00:48:03 -0700 Received: from angela.corp.adobe.com (10.132.1.18) by eurhub01.eur.adobe.com (10.128.4.111) with Microsoft SMTP Server id 8.3.192.1; Thu, 12 Apr 2012 08:48:01 +0100 Message-ID: <4F8688B1.5050206@adobe.com> Date: Thu, 12 Apr 2012 09:48:01 +0200 From: Angela Schreiber User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11 MIME-Version: 1.0 To: Subject: Re: Different types of 'item modification' on oak-jcr (and oak-api) References: <4F85A60E.3020709@adobe.com> <4F85B19C.5030601@apache.org> In-Reply-To: <4F85B19C.5030601@apache.org> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit hi michael > On 11.4.12 16:41, Angela Schreiber wrote: >> hi >> >> thinking about how to implement the various JCR level operations >> that are beyond regular item modification, i found that IMO >> will face at least the following 4 types of writing that would >> from a oak-api point of view may just look like item state >> modifications: >> >> a) Regular JCR Item Modification [...] >> b) Special JCR Item Modification [...] >> c) Non-Transient JCR Item Modifications [...] >> d) Non-Transient Special Item Modification [...] >> when looking at the current oak-api and the NodeStateEditor i >> don't see how we would currently be able to distinguish these >> different types. > > The current API should be able to cope with transient modifications and > non-transient modifications. The latter can be done by obtaining a new > connection just for those changes. that looks really wrong to me. the way i think of the oak-api is that i obtain the connection from oak-api upon Repository.login and it would be used for the communication for the lifespan of the JCR session obtained. retrieving another connection is definitely not what i am looking for as it would require separate authentication. that doesn't make sense to me. > Regarding the "special modifications" we still need to come up with a > way to handle those. They should IMO also be done through the > Connection, NodeEditor, etc. interfaces which might need to be tweaked > accordingly. as stated before i have the impression that this would need to be reflected on the API. > The name reflects "transient" from JCR and should emphasis the fact that > instances of this class are - in contrast to NodeState - not Immutable. > However, we could rename this not MutableNodeState or something > different if you prefer. well... but in fact we would probably want to distinguish between transient operations that mark the associated JCR items modified/new until Session.save() is call, whereas all kind of workspace operations would never have that effect.... figure out the workspace operation fails during validation on oak-core. there should by no means a 'modified' flag being pending on the corresponding jcr items... we didn't that in the early stages of jackrabbit-core (as long as we had no real access control) and it didn't work. kind regards angela > Michael > >> >> kind regards >> angela >>