Änderungen von Dokument Contributors
Zuletzt geändert von xwikiadmin am 2025/12/11 07:49
Von Version 1.1
bearbeitet von xwikiadmin
am 2024/06/24 15:17
am 2024/06/24 15:17
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.19.4]
Auf Version 6.1
bearbeitet von xwikiadmin
am 2025/12/11 07:49
am 2025/12/11 07:49
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.28.5]
Zusammenfassung
-
Objekte (13 geändert, 1 hinzugefügt, 0 gelöscht)
- XWiki.WikiMacroClass[0]
- XWiki.WikiMacroParameterClass[0]
- XWiki.WikiMacroParameterClass[1]
- XWiki.WikiMacroParameterClass[2]
- XWiki.WikiMacroParameterClass[3]
- XWiki.WikiMacroParameterClass[4]
- XWiki.WikiMacroParameterClass[5]
- XWiki.WikiMacroParameterClass[6]
- XWiki.WikiMacroParameterClass[7]
- XWiki.WikiMacroParameterClass[8]
- XWiki.WikiMacroParameterClass[9]
- XWiki.WikiMacroParameterClass[10]
- XWiki.WikiMacroParameterClass[11]
- XWiki.WikiMacroParameterClass[12]
Details
- XWiki.WikiMacroClass[0]
-
- Makro-Code
-
... ... @@ -1,16 +14,3 @@ 1 -{{groovy output="false"}} 2 - xcontext.put("sortContributions", (contributions, key, reverse) -> { 3 - def c = new ArrayList(contributions) 4 - Collections.sort(c, new Comparator<HashMap>() { 5 - @Override 6 - public int compare(HashMap<String, Object> v1, HashMap<String, Object> v2) { 7 - return reverse ? v2.get(key).compareTo(v1.get(key)) : v1.get(key).compareTo(v2.get(key)) 8 - } 9 - }) 10 - return c 11 - }) 12 -{{/groovy}} 13 - 14 14 {{velocity output="false"}} 15 15 #macro (datemax $d1 $d2) 16 16 #if ($d1.compareTo($d2))## ... ... @@ -20,7 +20,7 @@ 20 20 #end 21 21 #end 22 22 #macro (showContribution $contribution) 23 - <a class="contributor-name" href="$escapetool.xml($xwiki.getURL($contribution['name']))">$xwiki.get LocalUserName($contribution['name'])</a>10 + <a class="contributor-name" href="$escapetool.xml($xwiki.getURL($contribution['name']))">$xwiki.getUserName($contribution['name'], false)</a> 24 24 #if ($showCount) 25 25 <span class="contributor-contribution-count"> $contribution['count'] </span> 26 26 #end ... ... @@ -28,8 +28,8 @@ 28 28 <span class="contributor-last-contribution-date">($xwiki.formatDate($contribution['update']))</span> 29 29 #end 30 30 #end 31 -#macro (addContributions $query $page) 32 - #foreach($r in $query.bindValue('d', $page).execute()) 18 +#macro (addContributions $query $pages) 19 + #foreach($r in $query.bindValue('d', $pages).execute()) 33 33 #set($c = $contributors[$r[0]]) 34 34 #if (!$c) 35 35 #set($contributors[$r[0]] = {"name": $r[0], "update": $r[1], "count": $r[2]}) ... ... @@ -42,12 +42,12 @@ 42 42 #end 43 43 #end 44 44 #macro (executeMacro) 45 - #set($include = "$! wikimacro.parameters.get('include')")46 - #set($include = $include.split("\s*,\s*")) 32 + #set ($include = "$!xcontext.macro.params.include") 33 + #set ($include = $include.split("\s*,\s*")) 47 47 #if ($include.isEmpty()) 48 48 #set($include = ["authors"]) ## Other supported values: "comments", "labels", "watches" 49 49 #end 50 - #set($order = "$! wikimacro.parameters.get('order')")37 + #set ($order = "$!xcontext.macro.params.order") 51 51 #if ($order.isEmpty()) 52 52 #set ($order = "count") 53 53 #end ... ... @@ -58,7 +58,7 @@ 58 58 #else 59 59 #set($limit = $numbertool.toNumber($limit)) 60 60 #end 61 - #set($isList = "$! wikimacro.parameters.get('mode')" == "list")48 + #set ($isList = "$!xcontext.macro.params.mode" == "list") 62 62 #set($showCount = "$!wikimacro.parameters.get('showCount')" == "true" || "$!wikimacro.parameters.get('showCount')" == "1") 63 63 #set($showLastTime = "$!wikimacro.parameters.get('showLastTime')" == "true" || "$!wikimacro.parameters.get('showLastTime')" == "1") 64 64 #set($showPages = "$!wikimacro.parameters.get('showPages')" == "true" || "$!wikimacro.parameters.get('showPages')" == "1") ... ... @@ -66,8 +66,15 @@ 66 66 #if ($noneFoundMessage.isEmpty()) 67 67 #set($noneFoundMessage = "$services.localization.render('confluence.nonefound')") 68 68 #end 69 - #set($scope = "$!wikimacro.parameters.get('scope')") 70 - #set($spaces = "$!wikimacro.parameters.get('spaces')") 56 + #set ($scope = "$!xcontext.macro.params.scope") 57 + #if ($scope == 'specified') 58 + #set ($scope = "") 59 + #end 60 + ## TODO When https://jira.xwiki.org/browse/XWIKI-18965 is fixed move back to the newer $wikimacro API 61 + #set ($spaces = "$!xcontext.macro.params.spaces") 62 + #if ($xcontext.macro.params.global != 'false') 63 + #set ($spaces = "@ALL") 64 + #end 71 71 #set($global = $spaces.contains("@ALL") || $spaces.contains("@global")) 72 72 #set($page = "$!wikimacro.parameters.get('page')") 73 73 #if ($page.isEmpty()) ... ... @@ -93,7 +93,7 @@ 93 93 #else 94 94 #set($pages = $services.query.hql("select distinct doc.fullName from XWikiDocument doc where doc.space in :spaces and doc.fullName not like '%.WebPreferences' $hqlHiddenFilter $hqlOrder").bindValue('spaces', $spaces).execute()) 95 95 #end 96 - #elseif ($scope == "descendents") 90 + #elseif ($scope == "descendents" || $scope == "descendants") 97 97 #set($pages = []) 98 98 #if ($global) 99 99 #set($pages = $services.query.xwql("select distinct doc.fullName from Document doc where doc.fullName not like '%.WebPreferences' $hqlHiddenFilter $hqlOrder").execute()) ... ... @@ -106,20 +106,19 @@ 106 106 #set($pages = [$page]) 107 107 #end 108 108 #set($contributors = {}) 109 - #foreach ($page in $pages) 110 - #set($d = $xwiki.getDocument($page)) 111 - #if (!$d.isNew()) 112 - #if ($include.contains('authors')) 113 - #set($query = $services.query.hql("select rcs.author, max(rcs.date), 1 from XWikiDocument doc, XWikiRCSNodeInfo rcs where doc.fullName = :d and doc.id = rcs.id.docId group by rcs.author")) 114 - #addContributions($query, $page) 115 - #end 116 - #if ($include.contains('comments')) 117 - #set($query = $services.query.xwql("select comment.author, max(comment.date), count(distinct comment) from Document doc, doc.object('XWiki.XWikiComments') comment where doc.fullName = :d group by comment.author")) 118 - #addContributions($query, $page) 119 - #end 120 - #end 103 + #if ($include.contains('authors')) 104 + #set($query = $services.query.hql("select rcs.author, max(rcs.date), 1 from XWikiDocument doc, XWikiRCSNodeInfo rcs where doc.fullName in (:d) and doc.id = rcs.id.docId group by rcs.author")) 105 + #addContributions($query, $pages) 121 121 #end 122 - #set($contributions = $xcontext.get('sortContributions').doCall($contributors.values(), $order, $reverse)) 107 + #if ($include.contains('comments')) 108 + #set($query = $services.query.xwql("select comment.author, max(comment.date), count(distinct comment) from Document doc, doc.object('XWiki.XWikiComments') comment where doc.fullName in (:d) group by comment.author")) 109 + #addContributions($query, $pages) 110 + #end 111 + #set ($limit = $numbertool.toNumber($limit).intValue()) 112 + #if (!$limit) 113 + #set ($limit = -1) 114 + #end 115 + #set ($contributions = $services.contributors.sortContributors($contributors.values(), $order, $reverse, $numbertool.toNumber($limit).intValue())) 123 123 124 124 {{html clean=false}} 125 125 <div class="confluence-contributors"> ... ... @@ -131,7 +131,7 @@ 131 131 #foreach ($page in $pages) 132 132 #if (!$foreach.first), #end## 133 133 #set($d = $xwiki.getDocument($page)) 134 - <a href="$escapetool.xml($d.getURL())">## 127 + <a class="contributors-page" href="$escapetool.xml($d.getURL())">## 135 135 #set($title = "$!d.getRenderedTitle($xwiki.currentContentSyntaxId)") 136 136 #if ($title != "") 137 137 $escapetool.xml($title)## ... ... @@ -157,7 +157,7 @@ 157 157 </ul> 158 158 #else 159 159 #foreach($contribution in $contributions) 160 - #if(!$foreach.first), #end153 + #if(!$foreach.first),#end 161 161 #showContribution($contribution) 162 162 #end 163 163 #end - Makrobeschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Contributors Confluence Bridge macro to show the contributors of a given document. - Default categories
-
... ... @@ -1,0 +1,1 @@ 1 +Content
- XWiki.WikiMacroParameterClass[0]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -kind of contributions to include ("authors", "comment") - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.contributors.Include
- XWiki.WikiMacroParameterClass[1]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Which order to use - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.contributors.Order
- XWiki.WikiMacroParameterClass[2]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Should the order be reversed?
- XWiki.WikiMacroParameterClass[3]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Maximum number of contributions to show
- XWiki.WikiMacroParameterClass[4]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Display as bullet list ("list") or as comma-separated sentence ("inline") - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.contributors.Mode
- XWiki.WikiMacroParameterClass[5]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -should the number of contributions per authors be shown?
- XWiki.WikiMacroParameterClass[6]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Should the time of the last contribution be shown?
- XWiki.WikiMacroParameterClass[7]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Which page to show? (by default, the current one)
- XWiki.WikiMacroParameterClass[8]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Which spaces to show? - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.SuggestSpacesReference
- XWiki.WikiMacroParameterClass[9]
-
- Parameter-Vorgabe
-
... ... @@ -1,0 +1,1 @@ 1 +specified - Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -show the selected pages only (leave empty), their direct children ("children"), or all children ("descendents") - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +com.xwiki.pickers.contributors.Scope
- XWiki.WikiMacroParameterClass[10]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Should the list of used pages be shown?
- XWiki.WikiMacroParameterClass[11]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Message to show when pages are not shown
- XWiki.WikiMacroParameterClass[12]
-
- Parameter-Vorgabe
-
... ... @@ -1,0 +1,1 @@ 1 +false - Parameter-Name
-
... ... @@ -1,0 +1,1 @@ 1 +global - Parameter-Typ
-
... ... @@ -1,0 +1,1 @@ 1 +java.lang.Boolean - Parameter verpflichtend
-
... ... @@ -1,0 +1,1 @@ 1 +Nein