You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Wes <ja...@wesware.securebeer.com> on 2008/06/25 20:13:09 UTC
Jackrabbit temporal content
We are working on a project that has the requirement that content has a
temporal quality in that it will become effective at a particular
date/time and become expired at a future date/time. All of the
information also needs to be versioned and auditable. Has anyone
leveraged Jackrabbit to support this type of temporal processing? My
initial thought is this could be performed within the repository as a
mixin on a node that would need temporal qualities.
As an example we have a node that has 3 differing temporal versions that
should be active for during a particular time period.
Version A : 1/1/2000 - 1/1/2001
Version B : 1/1/2001 - 1/1/2002
Version C : 1/1/2002 - present(12/12/9999)
There may also be an update to say Version B above in that we would have a
new version for that time period.
Version B1: 1/1/2001 - 1/1/2002
Any thoughts, pointers, suggestions?
Thanks
Wes
Re: Jackrabbit temporal content
Posted by Sébastien Launay <se...@anyware-tech.com>.
Hi,
In the same spirit of read-only versions, you can rely on
the labeling feature of a node (this is like tagging in SCM):
- create 3 versions of the content (A, B, C)
- label the version you want to use using
VersionHistory#addVersionLabel(...)**
- retrieve the node with this label using
VersionHistory#getVersionByLabel(...)
- when you want to switch to another version reuse
VersionHistory#addVersionLabel(...)
And you still can edit your content (root version) without
compromising the labeled (active) version.
If you need to update the versions, you can also use the following
labels with Node#*restoreByLabel*(...) :
- "A" for the latest version A
- "B" for the latest version B
- "C" for the latest version C
- "active" for the version to be active
There is also the branching feature with Node#clone(...) but i do not
know if a label is local to a branch or global to the node.
--
Sébastien
Tobias Bocanegra wrote:
> hi,
> i case your 'versions' are read-only, you could add your mixin to the
> nodes and then create a version. you could then retrieve the
> respective version that matches your timeframe and access the
> jcr:frozenNode transparently.
>
> regards, toby
>
> On 6/25/08, Wes <ja...@wesware.securebeer.com> wrote:
>
>> We are working on a project that has the requirement that content has a
>> temporal quality in that it will become effective at a particular
>> date/time and become expired at a future date/time. All of the
>> information also needs to be versioned and auditable. Has anyone
>> leveraged Jackrabbit to support this type of temporal processing? My
>> initial thought is this could be performed within the repository as a
>> mixin on a node that would need temporal qualities.
>>
>> As an example we have a node that has 3 differing temporal versions that
>> should be active for during a particular time period.
>> Version A : 1/1/2000 - 1/1/2001
>> Version B : 1/1/2001 - 1/1/2002
>> Version C : 1/1/2002 - present(12/12/9999)
>>
>> There may also be an update to say Version B above in that we would have a
>> new version for that time period.
>> Version B1: 1/1/2001 - 1/1/2002
>>
>> Any thoughts, pointers, suggestions?
>>
>> Thanks
>>
>> Wes
>>
>>
>>
Re: Jackrabbit temporal content
Posted by Tobias Bocanegra <to...@day.com>.
hi,
i case your 'versions' are read-only, you could add your mixin to the
nodes and then create a version. you could then retrieve the
respective version that matches your timeframe and access the
jcr:frozenNode transparently.
regards, toby
On 6/25/08, Wes <ja...@wesware.securebeer.com> wrote:
> We are working on a project that has the requirement that content has a
> temporal quality in that it will become effective at a particular
> date/time and become expired at a future date/time. All of the
> information also needs to be versioned and auditable. Has anyone
> leveraged Jackrabbit to support this type of temporal processing? My
> initial thought is this could be performed within the repository as a
> mixin on a node that would need temporal qualities.
>
> As an example we have a node that has 3 differing temporal versions that
> should be active for during a particular time period.
> Version A : 1/1/2000 - 1/1/2001
> Version B : 1/1/2001 - 1/1/2002
> Version C : 1/1/2002 - present(12/12/9999)
>
> There may also be an update to say Version B above in that we would have a
> new version for that time period.
> Version B1: 1/1/2001 - 1/1/2002
>
> Any thoughts, pointers, suggestions?
>
> Thanks
>
> Wes
>
>
Re: Jackrabbit temporal content
Posted by Michael Wechner <mi...@wyona.com>.
Wes wrote:
>We are working on a project that has the requirement that content has a
>temporal quality in that it will become effective at a particular
>date/time and become expired at a future date/time. All of the
>information also needs to be versioned and auditable. Has anyone
>leveraged Jackrabbit to support this type of temporal processing? My
>initial thought is this could be performed within the repository as a
>mixin on a node that would need temporal qualities.
>
>As an example we have a node that has 3 differing temporal versions that
>should be active for during a particular time period.
>Version A : 1/1/2000 - 1/1/2001
>Version B : 1/1/2001 - 1/1/2002
>Version C : 1/1/2002 - present(12/12/9999)
>
>There may also be an update to say Version B above in that we would have a
>new version for that time period.
>Version B1: 1/1/2001 - 1/1/2002
>
>Any thoughts, pointers, suggestions?
>
>
sounds to me more like a workflow thing (combined with a scheduler
executing the workflow) than a data model thing, whereas of course the
workflow states could be part of the same data store and one has to note
that the "live" state isn't really treated as a workflow state, but
rather like a flag/property saying this version is currently the one
which should be used as the effective content.
But maybe I misunderstand your requirement, but if not then you might
want check Yanel (http://yanel.wyona.org) which has impelemnted what I
have described above through the interfaces
http://yanel.wyona.org/javadoc/org/wyona/yanel/core/api/attributes/WorkflowableV1.html
http://yanel.wyona.org/javadoc/org/wyona/yanel/core/api/attributes/VersionableV2.html
and hence could use Jackrabbit underneath
HTH
Michael
>Thanks
>Wes
>
>
>
--
Michael Wechner
Wyona - Open Source Content Management - Yanel, Yulup
http://www.wyona.com
michael.wechner@wyona.com, michi@apache.org
+41 44 272 91 61