Christophe,

maybe you already know that Eclipse has some very elegant features to create
patches, just create a CVS project, right click on the source file (that you
have wonderfully enhanced with all the nice features), select => Team =
Create Patch.
And please do not format the code, because that will make diff think that
there are a lot of changes, and it becomes difficult to see from the patch
file what has really changed.

And just submit a JIRA issue, describe the problem or requirement, and
attach the patch file. One of the core developers will then hopefully pick
it up and commit it to CVS.


regards,
Harry Metske

2008/1/31, Janne Jalkanen <[EMAIL PROTECTED]>:
>
>
> Hi!
>
> Please learn to use the diff and patch tools, the following is
> incomprehensible.  Sorry to say that :-(
>
> Also I agree that something like this has already been covered in
> JSPWIKI-100.
>
> I would encourage you to add any contributions to the issue tracker
> in the form of a patch file.  That would make it a lot easier to
> track.  Stuff that just gets posted on the mailing list tends to be
> forgotten.
>
> /Janne
>
> On 30 Jan 2008, at 16:14, Christophe Dupriez wrote:
>
> > Hi JSPWiki Developpers!
> >
> > As I am preparing upgrade from 2.4 to 2.6, I list hereby the
> > changes made to two JSPWiki plugins:
> > 1)       RecentChangesPlugin where a new attribute "referring"
> > allows to list only changes to pages referring to a given page
> > 2)       ReferringPagesPlugin where I propose the same
> > functionalities than the one recently discussed (count, last
> > modification date) but without adding attributes to the existing
> > Plugin.
> >
> > If the specifications / examples below are appealing for the
> > community, I will forward the modifications made for 2.6 (after
> > testing!)
> >
> > Christophe
> >
> > *** MODIFICATIONS TO ADD a referring='PageName' attribute to the
> > RecentChanges plugin ***
> > *** PageName can be {$username}: the pageName is Wikified.
> > *** List only pages recently changed that contains a link referring
> > to a given page (User page, category, etc.)
> > *** Allows a user to know the pages (s)he signed recently modified.
> > *** Example: !Changes to pages signed by [{$username}]:
> > ***          [{INSERT com.ecyrd.jspwiki.plugin.RecentChangesPlugin
> > referring='{$username}'}]
> >
> >
> > Within src\com\ecyrd\jspwiki\plugin\RecentChangesPlugin.java, we add:
> > import java.security.Principal;
> > import com.ecyrd.jspwiki.ReferenceManager;
> > import com.ecyrd.jspwiki.parser.MarkupParser;
> > ...
> >     private static final String PARAM_REFERRING = "referring";
> > ...
> > (((Within function execute, after:)))
> >         //
> >         //  Which format we want to see?
> >         //
> >         if( "compact".equals( params.get(PARAM_FORMAT) ) )
> >         {
> >             spacing  = 0;
> >             showAuthor = false;
> >             showChangenote = false;
> >         }
> > (((Please Insert:)))
> >         ReferenceManager mgr = engine.getReferenceManager();
> >         Collection filterRef = null;
> >         Object ptr = params.get(PARAM_REFERRING);
> >         if (ptr != null) {
> >           String pageName = (String) ptr;
> >           if ("".equals(filterRef)||"{$username}".equals(pageName)) {
> >              Principal currUser = context.getCurrentUser();
> >              if (currUser != null) pageName = currUser.getName();
> >              else pageName = null;
> >           }
> >           if (pageName != null) {
> >              pageName = MarkupParser.cleanLink( pageName );
> >              filterRef = mgr.findReferrers( pageName );
> >              log.debug("Pages referring to "+pageName+" =
> > "+filterRef);
> >           }
> >         }
> >
> > (((BEFORE :if( !isSameDay( lastmod, olddate ) )       INSERT:)))
> >                 boolean accepted = true;
> >                 if (filterRef != null) accepted = filterRef.contains
> > (pageref.getName());
> >                 if (accepted) {
> > (((ADD A CLOSING } JUST AFTER THE COMMENT AFTER // Revert note )))
> >
> > **** MODIFICATIONS TO ALLOW DISPLAY OF THE NUMBER OF REFERRING
> > PAGES WITHOUT THE LIST
> > **** AND TO ALLOW DISPLAY OF THE LAST MODIFICATION DATE.
> > **** max=0 : no list of pages
> > **** extras='... %d = number of pages ... %m = last modification
> > date ...'
> > **** EXAMPLE: [{INSERT ReferringPagesPlugin max=0 extras='%d pages,
> > last modification: %m'}]:
> > (((WITHIN src\com\ecyrd\jspwiki\plugin\ReferringPagesPlugin.java,
> > REPLACE the following block of instructions: )))
> >             if( links != null && (links.size() > 0) )
> >             {
> >                 if (extras.indexOf("%m") >= 0) m_lastModified = true;
> >
> >                 links = filterCollection( links );
> >                 wikitext = wikitizeCollection( links, m_separator,
> > items );
> >
> >                 if( (links.size() > 0) && (items < links.size()) &&
> > (items >= 0) )
> >                 {
> >                     extras = TextUtil.replaceString( extras, "%d",
> >                                                      ""+(links.size
> > ()-items) );
> >                     extras = TextUtil.replaceString( extras, "%m",
> >                                                      ""+(df.format
> > (m_dateLastModified)) );
> >                     wikitext += extras;
> >                 }
> >             }
> >
> >             //
> >             //  If nothing was left after filtering or during search
> >             //
> >             if( links == null || links.size() == 0 )
> >             {
> >                 wikitext = "(no referring pages)\\\\";
> >             }
> >
> > *** MODIFICATION TO KNOW THE LAST MODIFICATION DATE WITHIN
> > ReferringPagesPlugin ***
> > In src\com\ecyrd\jspwiki\plugin\AbstractReferralPlugin.java, we add:
> >
> > import java.util.Date;
> > import java.text.SimpleDateFormat;
> > ...
> >     protected           boolean m_lastModified=false;
> >     // the last modified date of the page that has been last modified:
> >     protected           Date m_dateLastModified = new Date(0);
> >     protected           SimpleDateFormat df = new SimpleDateFormat
> > ("yyyy-MM-dd HH:mm:ss");
> > (((before:     protected           WikiEngine m_engine;)))
> > ...
> > (((ALSO CHANGE: )))
> >             if( includeThis )
> >             {
> >                 if (result.add( pageName )) {
> >                 //  if we want to show the last modified date of
> > the most recently change page, we keep a "high watermark" here:
> >                   if (m_lastModified) {
> >                     WikiPage page = m_engine.getPage(pageName);
> >                     if (page!= null)
> >                     {
> >                         Date lastModPage = page.getLastModified();
> >                         if (lastModPage.after(m_dateLastModified)){
> >                             m_dateLastModified=lastModPage;
> >                         }
> >                     }
> >                   }
> >                 }
> >             }
> > (((in place of:)))
> >             if( includeThis )
> >             {
> >                 result.add( pageName );
> >             }
>
>


-- 
met vriendelijke groet,
Harry Metske
Telnr. +31-548-512395
Mobile +31-6-51898081

Reply via email to