Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Using the blog-posts macro, is it possible to define a different set of labels based on user group?

Andrew Kosiarski November 21, 2014

I have our Confluence instance setup so that when a user logs in, there's a panel that displays the latest blog updates using the blog-posts macro. What I'd like to do is define a different label for several different user groups so that a user in one group sees different updates from a user in another.

I know that the page-include macro will respect the "groups" parameter, but it seems that that is not the case for blog-posts macro.

Anyone have any insight here?

1 answer

1 accepted

0 votes
Answer accepted
Davin Studer
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 21, 2014

You sure could. You could create a user macro that checks the user's group and then it will create a blog-posts macro with the correct label. So in essence you wrap the blog-posts macro in a user macro and dynamically change out the label based on the user's group.

 

Update:

Here is an example user macro. Replace the HRGroup, ITGroup and AdminGroup with you group names. Add blocks if you have more groups. For each block put in the correct label. Also, replace the ??? on line 21 with your space's key.

## @noparams

#set $label = ""
#set($userGroups = $userAccessor.getGroupNamesForUserName($action.getAuthenticatedUser().name))

#foreach($group in $userGroups)
    #if($group == "HRGroup")
        #set $label = "hrlabel"
    #end
    #if($group == "ITGroup")
        #set $label = "itlabel"
    #end
    #if($group == "AdminGroup")
        #set $label = "adminlabel"
    #end
#end
#if($label != "")
<ac:structured-macro ac:name="blog-posts">
    <ac:parameter ac:name="content">titles</ac:parameter>
    <ac:parameter ac:name="spaces">
        <ri:space ri:space-key="???"/>
    </ac:parameter>
    <ac:parameter ac:name="reverse">true</ac:parameter>
    <ac:parameter ac:name="sort">creation</ac:parameter>
    <ac:parameter ac:name="labels">$label</ac:parameter>
</ac:structured-macro>
#end
Andrew Kosiarski November 24, 2014

...any references/guidance here in setting group parameters like that in a user macro?

Davin Studer
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 24, 2014

Check my edit above.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events