CustomRecentChanges-Talk

Summary: Talk page for CustomRecentChanges.
Maintainer:
Users: (View / Edit)

This space is for User-contributed commentary and notes. Please include your name and a date along with your comment.

Comments

Here's a possible solution for a CMS-type installation. It's some code that keeps a special AllRencentChanges page in the Main group that you can use for your public web feeds. It also affects RecentChanges logs in groups.

## Make sure $pagename is resolved and formatted predictably.
$pagename = ResolvePageName($pagename);
## Specify a "public" A.R.C. page to use for web feeds.
SDV($FeedAllRecentChanges, 'Main.AllRecentChanges');
## Create custom (All)RecentChanges pages to use for web feeds.
if (preg_match('!\\.(GroupHeader|GroupFooter|GroupAttributes|WikiSandbox)$!', $pagename)
    || preg_match('!^(PmWiki|Test|Site|Profiles)\\.!', $pagename)) {
  $RecentChangesFmt['$Group.RecentChanges'] = '';
  $RecentChangesFmt[$FeedAllRecentChanges] = '';
} else {
  $RecentChangesFmt[$FeedAllRecentChanges] =
    '* [[$Group.$Name]]  $[was modified] $CurrentTime. [=$ChangeSummary=]';
  $RecentChangesFmt['Main.AllRecentChanges'] =
    '* [[{$Group}.{$Name}]]  $[was modified] $CurrentTime. [=$ChangeSummary=]';
}
## Require non-editors to use the public A.R.C. page.  (Requires setting a read
## password of @_site_edit on $SiteGroup.AllRecentChanges .)
if ($pagename == $SiteGroup.".AllRecentChanges" && ! CondAuth($pagename, 'read')) {
  Redirect($FeedAllRecentChanges);
}

--Hagan

Questions

After modifying the format of '$SiteGroup.AllRecentChanges' in the $RecentChangesFmt array, is it possible to force the concerned page to regenerate a list according to the new layout ? Similarly, if a new entry is created in this array, is it possible to force a scan so that it lists all teh previous changes, not only the ones posterior to its creation ? Gvdm 2016-10-20

No both are not possible. But if you need lists of pages in specific formats, see PageLists. --Petko October 21, 2016, at 03:57 AM

Talk page for the CustomRecentChanges recipe (users).