You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Jukka Karvanen <ju...@iki.fi> on 2009/05/28 08:19:20 UTC

JSPWiki clone Template with Variables

Hi All,

I have used JSPWiki 2.8 version for a while and I am not familiar with 
3.0 features and development status. I decided to check first with email 
before doing any further investigations.

I am not sure is it possible to do same thing other way in 3.0 version. 
I checked that the modified files still exist in 3.0, but I am not sure 
are those working same way.

Need:
Make end user easier to create consistent wiki pages with template page 
with variables.

I found the clone feature, but I did not find similar variable expansion 
as for example in TWiki.

After modifcation with a couple of lines of extra code, I can call 
Edit.jsp with variables expanded in new clone page.
Edit.jsp?page=Notes%20Db%20View%20times&clone=DefaultNote&expand=true&backpage=Db%20View%20times

So I can create this kind of links in my pages:
[{InsertPage page='Notes Db View times'},default=
'Auto-generated page. Add description and comments to page <a 
href="Edit.jsp?page=Notes Db View 
times&clone=DefaultNote&expand=true&backpage=Db View times"\>Notes Db 
View times</a>'}]

Content of page file Defaultnote.txt:
![{$backpage}]
[Edit:{$pagename}]
----



Modified files FCK.jsp and plain.jsp:

--------------
...
<%
  String clone = request.getParameter( "clone" );
  if( clone != null )
  {
    WikiPage p = engine.getPage( clone );
    if( p != null )
    {
        AuthorizationManager mgr = engine.getAuthorizationManager();
        PagePermission pp = new PagePermission( p, 
PagePermission.VIEW_ACTION );

        try
        {           
          if( mgr.checkPermission( context.getWikiSession(), pp ) )
          {
            usertext = engine.getPureText( p );
          }
        }
        catch( Exception e ) {  /*log.error( "Accessing clone page 
"+clone, e );*/ }
//**********************************************************//
        //Adding parameter expand to url with clone variables like 
{$pagename},... are expanded
        //Note variables are plain {$name} without []-characters
        //by Jukka Karvanen
        String expand = request.getParameter( "expand" );
        if( expand != null )
        {
          usertext=engine.getVariableManager().expandVariables(context 
,usertext);
        }
//**********************************************************//
    }
  }
%>

-------

What you think is this feasible also for 3.0 version?

Jukka


Re: JSPWiki clone Template with Variables

Posted by Janne Jalkanen <ja...@ecyrd.com>.
That should still work, and it might be useful to bring in a feature  
like this into 3.0 mainline as well, but we might also want to review  
the params a bit.  Can you please open up a JIRA issue and attach a  
patch?

/Janne

On 28 May 2009, at 09:19, Jukka Karvanen wrote:

> Hi All,
>
> I have used JSPWiki 2.8 version for a while and I am not familiar  
> with 3.0 features and development status. I decided to check first  
> with email before doing any further investigations.
>
> I am not sure is it possible to do same thing other way in 3.0  
> version. I checked that the modified files still exist in 3.0, but I  
> am not sure are those working same way.
>
> Need:
> Make end user easier to create consistent wiki pages with template  
> page with variables.
>
> I found the clone feature, but I did not find similar variable  
> expansion as for example in TWiki.
>
> After modifcation with a couple of lines of extra code, I can call  
> Edit.jsp with variables expanded in new clone page.
> Edit.jsp?page=Notes%20Db%20View 
> %20times&clone=DefaultNote&expand=true&backpage=Db%20View%20times
>
> So I can create this kind of links in my pages:
> [{InsertPage page='Notes Db View times'},default=
> 'Auto-generated page. Add description and comments to page <a  
> href="Edit.jsp?page=Notes Db View  
> times&clone=DefaultNote&expand=true&backpage=Db View times"\>Notes  
> Db View times</a>'}]
>
> Content of page file Defaultnote.txt:
> ![{$backpage}]
> [Edit:{$pagename}]
> ----
>
>
>
> Modified files FCK.jsp and plain.jsp:
>
> --------------
> ...
> <%
> String clone = request.getParameter( "clone" );
> if( clone != null )
> {
>   WikiPage p = engine.getPage( clone );
>   if( p != null )
>   {
>       AuthorizationManager mgr = engine.getAuthorizationManager();
>       PagePermission pp = new PagePermission( p,  
> PagePermission.VIEW_ACTION );
>
>       try
>        
> {                    if 
> ( mgr.checkPermission( context.getWikiSession(), pp ) )
>         {
>           usertext = engine.getPureText( p );
>         }
>       }
>       catch( Exception e ) {  /*log.error( "Accessing clone page  
> "+clone, e );*/ }
> //**********************************************************//
>       //Adding parameter expand to url with clone variables like  
> {$pagename},... are expanded
>       //Note variables are plain {$name} without []-characters
>       //by Jukka Karvanen
>       String expand = request.getParameter( "expand" );
>       if( expand != null )
>       {
>          
> usertext 
> =engine.getVariableManager().expandVariables(context ,usertext);
>       }
> //**********************************************************//
>   }
> }
> %>
>
> -------
>
> What you think is this feasible also for 3.0 version?
>
> Jukka