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}

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}

PageTimeByChange
Cookbook.Sort By ScoreOctober 16, 2017, at 03:27 PMPetkoformatting - some spaces were missing
Cookbook.B 3October 15, 2017, at 03:21 PMPetkode-sandbox
Cookbook.Comment Box Plus-TalkOctober 15, 2017, at 02:35 AMJun Fukumitsu? 
Cookbook.Markdown Markup ExtensionOctober 14, 2017, at 01:12 AMSaid AchmizVersion: 0.2 Last-tested-with: pmwiki-2.2.102 * Said Achmiz !! Comments I updated this recipe to work with PHP 5.5 and PHP 7.2, and tested it with the latest (as of 2012-10-14) versions of PHP Markdown (1.7.0) and PHP Markdown Classic (1.0.2). It works with both; by default the script is set to use the newer (1.7.0) version, but if you want to use classic just comment/uncomment the appropriate lines in the script. ~~~~
Cookbook.Pm Doc ConvertOctober 13, 2017, at 02:44 PMccoxbug fix for file=DifferentGroup/Name/file
Cookbook.Fox DeleteOctober 11, 2017, at 05:04 AMBenjichange broken link
Cookbook.Lazy Web LinksOctober 11, 2017, at 12:19 AMPetkoupdate for PHP 5.5 and 7.2, take over maintenance

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.