JSPWiki is great in handling multiple versions of a page. However, there is no easy way to add meta data to a version of a page.

It would be useful to add a versionLabel and a liveVersion to a page. The versionLabel indicates the 'state' of that page : e.g. 'Draft', 'Approved', 'Under construction', etc. The liveVersion refers to the actual stable version of the page. (i got the idea of a liveVersion from Daisy)

Here is my (to) simplistic approach. --DF

Add meta data to a page. #

An easy way to introduce the versionLabel and liveVersion in a page, is to use a wiki variable. You can change the value of this variable at each edit session of the page.

  [{SET versionLabel='First DRAFT' }]
  [{SET liveVersion='14' }]

A few small changes are needed on the InfoContent.jsp to display the versionLabel for each version, and a orange marker for the live version.


  <table class="wikitable">
    <tr>
      <th>Version</th>                        
      ...

      <wiki:PageType type="page">
        <th>Version Label</th>  <!-- insert extra column here -->
      </wiki:PageType>
    </tr>

    <wiki:HistoryIterator id="currentPage">
    <tr>
      <td>
        <wiki:LinkTo version="<%=Integer.toString(currentPage.getVersion())%>">
          <wiki:PageVersion/>
        </wiki:LinkTo>
        <%= ( (liveVersion!= 0) && (liveVersion == currentPage.getVersion() ) ) 
            ? "&nbsp;&nbsp;<span style=\"background:#FF9933;\">&laquo;Live</span>" : "" 
         %>             
      </td>
      ...
      <!-- get value of the wiki variable of this page -->
      <wiki:PageType type="page">
        <td><wiki:Variable var='versionLabel' default="&nbsp;"/></td>
      </wiki:PageType>
    </tr>
    </wiki:HistoryIterator>
  </table>
Note: the HistoryIterator allows for automatic retrieval of the variable of that specific page. Magic !

Simplified editing of the meta data of the page#

Using a variable is probably not convenient for all kinds of users. Some more support by the Edit.jsp would be welcome.
FFS

Establish a hyperlink to a specific version of a page#

JSPWiki does not allow you to insert a hyperlink to a specific version of a page unless you are using the external hyperlink syntax.

One solution is to use an interwiki link.

  • Definition in jspwiki.properties
   jspwiki.interWikiRef.Version = Wiki.jsp?page=%s
  • Usage in a wiki page.
   [Baseline|Version:Sandbox?version=120]

Another, more elaborated solution, is to use a plugin to expand the link. This approach should allow for automatic indication whether the referred version is the latest or whether a newer version exists. (this is already available in the wiki jsp-tags)
FFS.

Some other ideas#

(this should probably be moved to the Ideas page)

The JSPWiki syntax for links could be expanded to support version hyperlinks. Similary a reference to a variable in a page would be useful as well.

The suggested syntax restricts somewhat the naming allowed for attachments but I assume this should be acceptable.

   [SandBox]   
   [SandBox/Attachement_x.jpg]
new:
   [SandBox/$variable_x]
   [SandBox/v.123]
   [SandBox/v.123/Attachment_x.jpg]
   [SandBox/v.123/$variable_x]

Cool idea, thanks :). Actually, I was thinking about using a ReiserFS-style naming convention for page properties and so on, which is pretty much what you suggest there. But I don't know if that is going to make it to the next or the release thereafter...

This does remind me though that we could use the WikiFormsPlugin to handle editing as well (UseWikiFormsForEditing)... Would make templating a lot easier, and it would also allow user-editable properties to go along with each page. But that requires better handling of WikiPageMetadata.

-- JanneJalkanen


Small update, introducing a liveVersion and updating the InfoContent.jsp. --26 nov 04, DF

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-5) was last changed on 26-Nov-2004 09:21 by DirkFrederickx