Return-Path: Delivered-To: apmail-jackrabbit-users-archive@minotaur.apache.org Received: (qmail 22835 invoked from network); 16 Feb 2009 19:26:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Feb 2009 19:26:38 -0000 Received: (qmail 72193 invoked by uid 500); 16 Feb 2009 19:26:36 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 72181 invoked by uid 500); 16 Feb 2009 19:26:36 -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 72168 invoked by uid 99); 16 Feb 2009 19:26:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Feb 2009 11:26:36 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of crankydillo@gmail.com designates 209.85.134.191 as permitted sender) Received: from [209.85.134.191] (HELO mu-out-0910.google.com) (209.85.134.191) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Feb 2009 19:26:28 +0000 Received: by mu-out-0910.google.com with SMTP id i10so929174mue.1 for ; Mon, 16 Feb 2009 11:26:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=8Yu8dp/dkUHkIiXEiU2C0T3rMxAM0aJ5D2mlLZnd71g=; b=TAyane9Wh58rhJmaBTj3ux7Q8AsSKVrUGmUpG0VziLgrgfdIBXw5TIVh6qKwPzLfEy kTCxgh3qcMYeRXWSU+T0ybhDryHuP4Z+dXPMEQGfekpmm6GRS/o+eu3vHNfgqDkk7kYB 98PBFydhtX6jpD9GuAM3F1rKaTRQdiTCcy+kg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=ujANRM3+4Hodwe7gwaPa9Vaq738TVDRScrFQySgFoMU24QbO5eQ2jO+97z/o6MGyTh RFgeBq9/xHieeZ/+2QFBk+O/obTjmFMToLhwJ8WFz6DXIaToNQcjckVHtR+480wqscE3 IhKfdcyppJA4csFgmDiW/OmhWfX5T1IeKNdps= Received: by 10.103.229.12 with SMTP id g12mr2533039mur.87.1234812366643; Mon, 16 Feb 2009 11:26:06 -0800 (PST) Received: from ?172.16.7.45? (64-132-13-2.static.twtelecom.net [64.132.13.2]) by mx.google.com with ESMTPS id 30sm32522399ugf.45.2009.02.16.11.26.05 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 16 Feb 2009 11:26:06 -0800 (PST) Message-ID: <4999BE18.5090908@gmail.com> Date: Mon, 16 Feb 2009 13:27:20 -0600 From: Samuel Cox User-Agent: Thunderbird 2.0.0.18 (X11/20081125) MIME-Version: 1.0 To: Jackrabbit Subject: Versioning nodes to accomplish snapshot behavior Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi, I'm trying to give my users the ability to snapshot a hierarchy of documents. For example, Let's say I have the following hierarchy where Ns are nodes and Ps are properties. N1 |---------| N2 N3 |---| |---| P P P N4 | P My users can change Ps or add Ns a bunch of times and we don't generally care about those changes. However, at some point in time we want to take a snapshot so that the current state of the hierarchy can be retrieved after future edits. What I've been doing is marking the nodes as versionable and the removing the previous versions using VersionHistory.removeVersion(versionName). Of course this gets kind of tricky. For example, if I change N4.P, then I need to remove the versions created for N1, N3, and N4. Does this sound crazy??? -- Samuel Cox