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