PagelistSortVariable

Making pagelists more useful
Requirements, be able to test in a pagelist a change in the order of something other than the pagename.

For example, say I have a number of pages with page text variables, and I wish to list those pages grouped by page text value grouping, eg

>>comment<<
[[#PagelistSortVariableORIGINAL]]
(:template default group=Test $:Maintainer=- order=$:Maintainer,name:)
(:template first {=$:Maintainer} :)
!! Maintained by {=$:Maintainer}
(:template each:)
* [[{=$FullName}]]
[[#PagelistSortVariableEndORIGINAL]]
>><<

(:template default group=Test $:Maintainer=- order=$:Maintainer,name:) (:template first {=$:Maintainer} :)

Maintained by {=$:Maintainer}

(:template each:)

>>comment<<
[[#PagelistSortVariable]]
(:template default group=Test $:Maintainer=?* order=$:Maintainer,$Name:)
(:template first {=$:Maintainer} :)
!! Maintained by {=$:Maintainer}
(:template each:)
* [[{=$FullName}]] by [-({=$:Maintainer})-]
[[#PagelistSortVariableEnd]]
>><<

(:template default group=Test $:Maintainer=?* order=$:Maintainer,$Name:) (:template first {=$:Maintainer} :)

Maintained by {=$:Maintainer}

(:template each:)

  • note default is to select pages with a "Maintainer" page text variable, and output pages grouped by (ie in order by) maintainer

Original proposal by Simon

(:pagelist fmt=#PagelistSortVariableORIGINAL count=16:)

Maintained by Dfaure

Maintained by [~Simon]

Maintained by Aaron

Maintained by Petko

Maintained by Simon

Maintained by Zachary

Maintained by Simon

With some modifications to the pagelist template definition

(:pagelist fmt=#PagelistSortVariable count=16:)

Maintained by Dfaure

Maintained by [~Simon]

Maintained by Aaron

Maintained by Petko

Maintained by Simon

Maintained by Zachary

Maintained by Simon

Testing including the order=$:Maintainer explicitly

(:pagelist fmt=#PagelistSortVariable count=16 group=Test $:Maintainer=?* order=$:Maintainer,$Name:)

Maintained by Dfaure

Maintained by [~Simon]

Maintained by Aaron

Maintained by Petko

Maintained by Simon

Maintained by Zachary

Maintained by Simon

Maintainer:Simon

  0: 00.00 00.00 EnablePost = 1, keys=
  1: 00.00 00.00 config start
  2: 00.01 00.01 config end
  3: 00.03 00.03 MarkupToHTML begin
  4: 00.03 00.03 MarkupToHTML begin
  5: 00.04 00.04 MarkupToHTML end
  6: 00.04 00.04 MarkupToHTML begin
  7: 00.04 00.04 MarkupToHTML end
  8: 00.04 00.04 MarkupToHTML begin
  9: 00.04 00.04 FPLTemplate: Chain begin
 10: 00.04 00.04 FPLTemplate: FPLTemplateLoad
 11: 00.04 00.04 FPLTemplate: FPLTemplateDefaults
 12: 00.05 00.04 FPLTemplate: FPLTemplatePageList
 13: 00.05 00.04 MakePageList pre
 14: 00.05 00.04 PageListSources begin
 15: 00.05 00.04 PageStore::ls begin wiki.d/{$FullName}
 16: 00.05 00.05 PageStore::ls merge wiki.d/{$FullName}
 17: 00.05 00.05 PageStore::ls end wiki.d/{$FullName}
 18: 00.05 00.05 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
 19: 00.05 00.05 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
 20: 00.05 00.05 PageStore::ls end $FarmD/wikilib.d/{$FullName}
 21: 00.06 00.05 PageListSources end count=1144
 22: 00.06 00.05 PageListSort pre ret=4 order=$:Maintainer,name
 23: 00.06 00.05 MakePageList items count=1144, filters=PageListVariables
 24: 00.64 00.33 MakePageList post count=10, readc=0
 25: 00.64 00.33 PageListSort begin
 26: 00.64 00.33 PageListSort sort
 27: 00.64 00.33 PageListSort end
 28: 00.64 00.33 MakePageList end
 29: 00.64 00.33 FPLTemplate: FPLTemplatePmWikiOrg
 30: 00.64 00.33 MarkupToHTML begin
 31: 00.64 00.33 MarkupToHTML end
 32: 00.64 00.33 FPLTemplate: FPLTemplateSliceList
 33: 00.64 00.33 FPLTemplate: FPLTemplateFormat
 34: 00.64 00.33 MarkupToHTML begin
 35: 00.65 00.34 MarkupToHTML end
 36: 00.65 00.34 FPLTemplate: FPLTemplatePmWikiOrgPostFormat
 37: 00.65 00.34 FPLTemplate: Chain end
 38: 00.65 00.34 MarkupToHTML end
 39: 00.65 00.34 MarkupToHTML begin
 40: 00.65 00.34 FPLTemplate: Chain begin
 41: 00.65 00.34 FPLTemplate: FPLTemplateLoad
 42: 00.66 00.34 FPLTemplate: FPLTemplateDefaults
 43: 00.66 00.34 FPLTemplate: FPLTemplatePageList
 44: 00.66 00.34 MakePageList pre
 45: 00.66 00.34 PageListSources begin
 46: 00.66 00.34 PageStore::ls begin wiki.d/{$FullName}
 47: 00.66 00.34 PageStore::ls merge wiki.d/{$FullName}
 48: 00.66 00.34 PageStore::ls end wiki.d/{$FullName}
 49: 00.66 00.34 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
 50: 00.66 00.35 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
 51: 00.66 00.35 PageStore::ls end $FarmD/wikilib.d/{$FullName}
 52: 00.67 00.35 PageListSources end count=1144
 53: 00.67 00.35 PageListSort pre ret=4 order=$:Maintainer,$Name
 54: 00.67 00.35 MakePageList items count=1144, filters=PageListVariables
 55: 00.67 00.36 MakePageList post count=10, readc=0
 56: 00.67 00.36 PageListSort begin
 57: 00.67 00.36 PageListSort sort
 58: 00.67 00.36 PageListSort end
 59: 00.67 00.36 MakePageList end
 60: 00.67 00.36 FPLTemplate: FPLTemplatePmWikiOrg
 61: 00.67 00.36 MarkupToHTML begin
 62: 00.68 00.36 MarkupToHTML end
 63: 00.68 00.36 FPLTemplate: FPLTemplateSliceList
 64: 00.68 00.36 FPLTemplate: FPLTemplateFormat
 65: 00.68 00.36 MarkupToHTML begin
 66: 00.69 00.37 MarkupToHTML end
 67: 00.69 00.37 FPLTemplate: FPLTemplatePmWikiOrgPostFormat
 68: 00.69 00.37 FPLTemplate: Chain end
 69: 00.69 00.37 MarkupToHTML end
 70: 00.69 00.37 MarkupToHTML begin
 71: 00.69 00.37 FPLTemplate: Chain begin
 72: 00.69 00.37 FPLTemplate: FPLTemplateLoad
 73: 00.69 00.37 FPLTemplate: FPLTemplateDefaults
 74: 00.69 00.37 FPLTemplate: FPLTemplatePageList
 75: 00.69 00.37 MakePageList pre
 76: 00.69 00.37 PageListSources begin
 77: 00.69 00.37 PageStore::ls begin wiki.d/{$FullName}
 78: 00.69 00.37 PageStore::ls merge wiki.d/{$FullName}
 79: 00.69 00.38 PageStore::ls end wiki.d/{$FullName}
 80: 00.70 00.38 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
 81: 00.70 00.38 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
 82: 00.70 00.38 PageStore::ls end $FarmD/wikilib.d/{$FullName}
 83: 00.70 00.38 PageListSources end count=1144
 84: 00.70 00.38 PageListSort pre ret=4 order=$:Maintainer,$Name
 85: 00.70 00.38 MakePageList items count=1144, filters=PageListVariables
 86: 00.71 00.39 MakePageList post count=10, readc=0
 87: 00.71 00.39 PageListSort begin
 88: 00.71 00.39 PageListSort sort
 89: 00.71 00.39 PageListSort end
 90: 00.71 00.39 MakePageList end
 91: 00.71 00.39 FPLTemplate: FPLTemplatePmWikiOrg
 92: 00.71 00.39 MarkupToHTML begin
 93: 00.71 00.39 MarkupToHTML end
 94: 00.71 00.39 FPLTemplate: FPLTemplateSliceList
 95: 00.71 00.39 FPLTemplate: FPLTemplateFormat
 96: 00.71 00.39 MarkupToHTML begin
 97: 00.72 00.40 MarkupToHTML end
 98: 00.72 00.40 FPLTemplate: FPLTemplatePmWikiOrgPostFormat
 99: 00.72 00.40 FPLTemplate: Chain end
100: 00.72 00.40 MarkupToHTML end
101: 00.72 00.40 MarkupToHTML end
102: 00.73 00.41 MarkupToHTML begin
103: 00.74 00.42 ReadApprovedUrls SiteAdmin.ApprovedUrls begin
104: 00.74 00.42 ReadApprovedUrls SiteAdmin.ApprovedUrls end
105: 00.75 00.43 MarkupToHTML end
106: 00.75 00.43 MarkupToHTML begin
107: 00.75 00.43 MarkupToHTML end
108: 00.75 00.43 now
Peak memory: 7,229,800 bytes