Änderungen von Dokument Contributors

Zuletzt geändert von xwikiadmin am 2025/05/21 09:56

Von Version 1.1
bearbeitet von xwikiadmin
am 2024/06/24 14:50
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.19.4]
Auf Version 4.1
bearbeitet von xwikiadmin
am 2025/05/21 09:56
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-ui/1.26.19]

Zusammenfassung

Details

XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -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())
31 +#macro (addContributions $query $pages)
32 + #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*"))
45 + #set ($include = "$!xcontext.macro.params.include")
46 + #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')")
50 + #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")
61 + #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')")
69 + #set ($scope = "$!xcontext.macro.params.scope")
70 + #if ($scope == 'specified')
71 + #set ($scope = "")
72 + #end
73 + ## TODO When https://jira.xwiki.org/browse/XWIKI-18965 is fixed move back to the newer $wikimacro API
74 + #set ($spaces = "$!xcontext.macro.params.spaces")
75 + #if ($xcontext.macro.params.global != 'false')
76 + #set ($spaces = "@ALL")
77 + #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")
103 + #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,19 +106,14 @@
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
116 + #if ($include.contains('authors'))
117 + #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"))
118 + #addContributions($query, $pages)
121 121   #end
120 + #if ($include.contains('comments'))
121 + #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"))
122 + #addContributions($query, $pages)
123 + #end
122 122   #set($contributions = $xcontext.get('sortContributions').doCall($contributors.values(), $order, $reverse))
123 123  
124 124  {{html clean=false}}
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