You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Florian Holeczek <fl...@holeczek.de> on 2007/12/18 08:57:54 UTC

Re[2]: [jira] Created: (JSPWIKI-110) time machine

>> Versioning and viewing the history is limited to one single page. If
>> you want to see the whole wiki state as of timestamp X, you have to
>> manually open the corresponding history entry of each page. Therefore,
>> a time machine may be an interesting feature.

> I've been looking into something like this as a feature addition to the
> wiki provider API, as one of the projects I am working on has a hazy
> requirement for some kind of ability to pull a snapshot of the wiki as
> of a given timestamp.
> Will keep in mind for the future...

I haven't been looking at Java Content Repository (JSR-170/283) in
depth (will do this soon), but I guess with underlying JCR support
this feature won't be a big thing to implement.

Regards,
 Florian


Re: [jira] Created: (JSPWIKI-110) time machine

Posted by Janne Jalkanen <Ja...@ecyrd.com>.
> This would then permit the addition of a "time machine" that would put
> together a catalog of the pages based on their versions as of that  
> Date.
> I.e., the time machine would simply create an alternative set of wiki
> pages as of a given date.

May be.  With JCR you need to first fetch the version history, and  
then perform a "checkout" for each version you want to manage.  It  
also supports things like forks, which may be a tad too complicated  
for us.  One option would be to have a separate "wiki:versions" tree,  
where we would just move() the old pages.  Or maybe, have the version  
history available as a subnode of a particular page.

e.g. path /wiki:pages/RecentChanges/wiki:content would give the text  
of a page,
/wiki:pages/RecentChanges/wiki:versions/23/wiki:content would give  
the text of page at version 23.

(Of course, the regular user would not see the full JCR paths; just  
shortcuts.)

/Janne

Re: [jira] Created: (JSPWIKI-110) time machine

Posted by Murray Altheim <mu...@altheim.com>.
Janne Jalkanen wrote:
>> I haven't been looking at Java Content Repository (JSR-170/283) in
>> depth (will do this soon), but I guess with underlying JCR support
>> this feature won't be a big thing to implement.
> 
> Might be.  I have a nagging feeling that the versioning support of JCR 
> is not what we want.  The check-in/check-out process is not really 
> designed for this kind of an usecase.

With the existing WikiPageProvider API I was thinking of something akin
to adding a single method to support this (which is after all a pretty
common archiving feature):

    /**
     *  Returns the most recent version number of the wiki page
     *  as of the Date <tt>date</tt>. If the page did not exist
     *  at that time, returns -1.
     */
    public int getVersionAsOfDate( String page, Date date )
            throws ProviderException;

This would then permit the addition of a "time machine" that would put
together a catalog of the pages based on their versions as of that Date.
I.e., the time machine would simply create an alternative set of wiki
pages as of a given date.

Murray

...........................................................................
Murray Altheim <murray07 at altheim.com>                           ===  = =
http://www.altheim.com/murray/                                     = =  ===
SGML Grease Monkey, Banjo Player, Wantanabe Zen Monk               = =  = =

       Boundless wind and moon - the eye within eyes,
       Inexhaustible heaven and earth - the light beyond light,
       The willow dark, the flower bright - ten thousand houses,
       Knock at any door - there's one who will respond.
                                       -- The Blue Cliff Record

Re: Re[2]: [jira] Created: (JSPWIKI-110) time machine

Posted by Janne Jalkanen <Ja...@ecyrd.com>.
> I haven't been looking at Java Content Repository (JSR-170/283) in
> depth (will do this soon), but I guess with underlying JCR support
> this feature won't be a big thing to implement.

Might be.  I have a nagging feeling that the versioning support of  
JCR is not what we want.  The check-in/check-out process is not  
really designed for this kind of an usecase.

/Janne