It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Access ConfluenceUserProfile in macros

Matthew J. Horn Jul 23, 2013

Does anyone know if its possible to get a reference to the ConfluenceUserProfile class (com.atlassian.sal.confluence.user.ConfluenceUserProfile) in a macro?

2 answers

1 accepted

0 votes
Answer accepted
Ryan Goodwin Jul 24, 2013

Hi Matt,

Accessing the user profile macro in a velocity template would look like this:

$helper.renderConfluenceMacro("{profile:user=Ryan}")

For XHTML like this:

<ac:macro ac:name="profile">

    <ac:parameter ac:name="user">admin</ac:parameter>

</ac:macro>

To access from a user macro, you could do a modification of this tutorial:

http://blog.networkedcollaboration.com/2012/03/22/confluence-list-space-administrators-user-macro/

by accessing the methods you would like from the class:

https://developer.atlassian.com/static/javadoc/confluence/4.2.13/reference/com/atlassian/sal/confluence/user/ConfluenceUserProfile.html

Hope this helps!

Matthew J. Horn Jul 25, 2013

Thanks for the response. I was actually trying to get at a specific method on the ConfluenceUserProfile class, but found a way to access it via a different class in my macro.

Ryan Goodwin Jul 25, 2013

Glad you were able to figure it out. Please share your solutions if possible so others looking for Answers can bask in your Guru-ness :)

Matthew J. Horn Jul 29, 2013

Well, I was trying to get the profile picture for the creator of a blog post so that I could add a little "About the author" section on each new blog entry (without the author having to do anything).

Turns out I missed the method I needed when first looking over the User class, but it's right there.

In the blog page decorator, you can use the following to get the user profile picture:

## getUser returns an object of type User
#set($blogWriter = $userAccessor.getUser($page.getCreatorName()))
## getUserProfilePicture returns an object of type ProfilePictureInfo
#set($pic = $userAccessor.getUserProfilePicture($blogWriter))
#set($picPath = $pic.getDownloadPath())

0 votes
Ryan Goodwin Jul 24, 2013

Hi Matthew,

Do you mean get a user profile to show up on a page, or in another macro? Is this something you're trying to do programmatically?

https://confluence.atlassian.com/display/DOC/User+Profile+Macro

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Confluence

Confluence CVEs and common questions

Two vulnerabilities have been published for Confluence Server and Data Center recently: March 20, 2019 CVE-2019-3395 / CVE-2019-3396 April 17, 2019 CVE-2019-3398 The goal of this article is...

909 views 0 19
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you