Pagelist Recent Changes

Summary: A recent changes page created using Page lists
Version: 1.0
Prerequisites: 2.2.0
Status: Mature
Maintainer: Simon
Categories: PageList, MarkupOnly
Users: +1 (view / edit)

Questions answered by this recipe

  • How do I roll my own recent changes page?
  • How can I gain more control over the recent changes I display?

Description

Using a pagelist to create a recent changes page.

After copying the code, you need to restore the lines, by removing the unnecessary line breaks.

Create a pagelist in Site.LocalTemplates as follows

#recentlychanged

>>comment<<
[[#recentlychanged]]
(:template defaults trail=Site.AllRecentChanges:)
(:template first:)
||width=* 
||!Page ||! Time||!By ||!Change ||
(:template each:)
||''[[{=$FullName} | {=$Groupspaced}.{=$Namespaced}]]'' || [[{=$FullName}?action=diff | {=$LastModified}]]||(:if !equal {=$LastModifiedBy}:)[[~{=$LastModifiedBy}]](:ifend:) ||{=$LastModifiedSummary} ||
[[#recentlychangedend]]
>>font-size:smaller<<

(:pagelist fmt=#recentlychanged count=12:)

(:template defaults trail=Site.AllRecentChanges:) (:template first:)

PageTimeByChange

(:template each:)

{=$Groupspaced}.{=$Namespaced}{=$LastModified}{=$LastModifiedBy}{=$LastModifiedSummary}

PageTimeByChange
Pm Wiki.Auth User-TalkJune 12, 2026, at 03:28 pmPetkoAuthUser needs to run as early as possible (+548)
Pm Wiki Fr.ImagesJune 12, 2026, at 08:07 amnoetranslation (-178)
Pm Wiki.Change LogJune 11, 2026, at 03:17 pmPetkoAdd warning for read-only temporary directories. Fix TraceMarkup to correctly show closures. (+125)
Pm Wiki.TroubleshootingJune 11, 2026, at 02:31 pmPetkoPmWiki is unable to save long pages, or any uploads. (+474)
Test.Large PageJune 11, 2026, at 11:55 amPetkoExpunged 1 edits. (+0)
Pm Wiki De.Markup ExpressionsJune 10, 2026, at 05:36 amMFWolffA hash character after the percent sign would cause leading spaces and zeros to be removed (+204)
Main.Wiki SandboxAugust 26, 2004, at 07:27 pm  
Pm Wiki.Markup ExpressionsJune 09, 2026, at 02:31 pmPetkoA hash character after the percent sign would cause leading spaces and zeros to be removed. (+167)
Pm Wiki.My First Blog PostJune 12, 2026, at 07:11 pm  
Site Admin.BlocklistJune 09, 2026, at 01:32 pmPetko+1 (+31)
Pm Wiki.Markup Expressions-TalkJune 08, 2026, at 06:14 amPetkoRemove leading zeros or spaces (if any). (+383)
Cookbook.Auth User FederatedJune 05, 2026, at 08:54 pmsimonhlt (+457)

Add the pagelist to the page of your choice, specifying group, name, count, etc pagelist parameters

(:pagelist fmt=#recentlychanged)

Please note that it is very much faster and less heavy for PmWiki to use trail=Group.RecentChanges count=7 instead of group=Group order=-time count=7. To list all 7 most recent changes, you could have trail=Site.AllRecentChanges count=7. --Petko April 21, 2009, at 06:50 PM

fmt=#recentchanges

>>comment<<
[[#recentchanges]]
(:template defaults order=-time name=-GroupAttributes,-Site.AllRecentChanges,-Site.LastChanged,-RecentChanges,-RecentUploads,-SiteAdmin.Blocklist-*:)
(:template first:)
||width=* 
||!Page ||! Time||!By ||!Change ||
(:template each:)
||''[[{=$FullName} | {=$Groupspaced}.{=$Namespaced}]]'' || [[{=$FullName}?action=diff | {=$LastModified}]]||(:if !equal {=$LastModifiedBy}:)[[~{=$LastModifiedBy}]](:ifend:) ||{=$LastModifiedSummary} ||
[[#recentchangesend]]
>>font-size:smaller<<

(:pagelist group={*$Group} fmt=#recentchanges count=7:)

(:template defaults order=-time name=-GroupAttributes,-Site.AllRecentChanges,-Site.LastChanged,-RecentChanges,-RecentUploads,-SiteAdmin.Blocklist-*:) (:template first:)

PageTimeByChange

(:template each:)

{=$Groupspaced}.{=$Namespaced}{=$LastModified}{=$LastModifiedBy}{=$LastModifiedSummary}

Add the pagelist to the page of your choice, specifying group, name, count, etc pagelist parameters

(:pagelist fmt=#recentchanges)

This lists differently from the standard Recent Changes as follows

  • it does not display deleted pages
  • it does show all pages that are updated as the result of a change, eg RecentChanges, RecentUploads, LastChanged, AllRecentChanges
  • if there are zero length files in the page store they are all shown as having changed now.
  • it displays other pages that are updated, eg GroupAttributes, Category pages, SiteAdmin,Blocklist-* pages

Release Notes

If the recipe has multiple releases, then release notes can be placed here. Note that it's often easier for people to work with "release dates" instead of "version numbers".

See Also

Contributors

  • Simon

Comments

See discussion at PagelistRecentChanges-Talk

User notes +1: If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.