Hi,
We are upgrading a confluence instance, and we would like to send all space administrators a mail asking them to validate the result on the staging server.
I'm wondering if there is somewhere a simple macro / plugin which provides this functionality.
Hey Francis,
I found a way to get all space administrators for all spaces. Added it as a KB article here: https://confluence.atlassian.com/display/CONFKB/How+Do+I+View+a+List+of+All+Space+Administrators+for+All+Spaces
Modified the source from the link given by Diallo earlier. What I do notice though, is that the permissionHelper seems to be affected by this bug: https://jira.atlassian.com/browse/CONF-18104
Which means that the permission checks via Velocity might not be accurate (I noticed that it seems to only fetch users that are members of confluence-administrators, regardless of individual permissions set in the space's permissions).
Anyway, do give it a try!
Foogie
Hi,
Thanks for it - we tried that one but ran into a performance issue. Expect to brew some cans of coffee when you have like 4000 users, and 90 spaces.
Francis
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Regarding the performance issues of the atlassian KB provided macro. I re-wrote it to drastically improve the performance of the macro by only iterating through the spaces and only getting the distinct administrators from each space. Below is my new macro code which i thought i should share so that others can benefit from this:
## Macro title: Space Administrators
## Macro has a body: N
## Body processing: Selected body processing option
## Output: Selected output option
##
## Developed by: Andrew Frayling
## Modified by: Adam Barylak
## Date created: 21/03/2012
## Date modified: 7/23/2017
## Installed by: <your name>
## Macro to display a list of space administrators
## @noparams
#set($containerManagerClass = $content.class.forName('com.atlassian.spring.container.ContainerManager'))
#set($getInstanceMethod = $containerManagerClass.getDeclaredMethod('getInstance',null))
#set($containerManager = $getInstanceMethod.invoke(null,null))
#set($containerContext = $containerManager.containerContext)
#set($spaces = $spaceManager.getAllSpaces())
<table class="aui aui-table-interactive">
<tr>
<th class="confluenceTh">Space</th><th class="confluenceTh">Administrator(s)</th>
</tr>
#foreach($spacer in $spaces)
#if (!$spacer.isPersonal())
<tr>
<td class="confluenceTd"><a href="$req.contextPath/display/$spacer.key">$spacer.name</a></td><td class="confluenceTd"><ul>
#set($administrators = $spaceManager.getSpaceAdmins($spacer))
#foreach($admin in $administrators)
<li>#usernameLink($admin.name)</li>
#end
</ul>
</td>
</tr>
#end
#end
</table>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@David Change the line of $admin.name to:
<li>#usernameLink($admin.name) #if ($admin.email) (<a href="mailto:$admin.email">$admin.email</a>) #end</li>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Great update Adam - much appreciated (we also had the problem in prod which the macro was timing out and would essentially cause the page to break).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello @Adam Barylak
Unfortunately it did not work for me :
"Error: Rendering this content exceeded the timeout of 120 seconds."
Even if the (empty but this macro) page took like 10 min to load, with no results in the end.
Confluence server 6.1.3
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I just came accross this discussion regarding this concern. Hope that helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Join the largest European gathering of the Atlassian Community and reimagine what’s possible when great teams and transformative technology come together. Plus, grab your Super Fan ticket now and save over €1,000 on your pass before prices rise on 3 June.
Register nowOnline forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.