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

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

User Macro and Properties Report

I try to use the User Macro given in this question : https://community.atlassian.com/t5/Answers-Developer-Questions/Get-incoming-links-with-in-a-user-macro/qaq-p/538128

It works fine on the page but if I put the macro in a [Page Property] macro, the links are not visible on the page properties report.

I modify the code to display the content of $incLinks variable : it contains links on the page (even inside Page Property macro) but it's empty in the page properties index.

Anyone has an idea ?

Thanks !

2 answers

1 accepted

1 vote
Answer accepted

This is one I wrote a couple years ago. I works for me with page properties and the report macro.

Macro Name:
referring_content

Macro Title:
Referring Content

Macro Body Processing:
No macro body

Template:

## Developed by: Davin Studer
## Date created: 06/26/2014
## @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($linkManager=$containerContext.getComponent('linkManager'))

#set($pages = $linkManager.getReferringContent($content))

#if($pages.size() > 0)
<ul class="referring-content-links">
#foreach($page in $pages)
    #if (!$page.isDeleted())
    <li><a href="$page.getUrlPath()">$page.getTitle()</a></li>
    #end
#end
</ul>
#end

Thanks for this quick answer. It works perfectly !

Like Davin Studer likes this

Here is a user macro solution to get incoming links based on the page property reports - where you can show the metadata that has been identified from the source page on the destination page of a link. It is a little hacky as it relies on matching the page title with the contents of the source page:

This could be enhanced by adding parameters to identify the labels, but I haven't tested that yet.

## Macro title: Incoming link with page properties
## Macro has a body: Y
## Body processing: Rendered
## Output: A list of incoming pages including the identified page properties from the source pages

##
## Developed by: Roberte
## Date created: 20/01/2021
## Installed by: Roberte

##
<p>
<ac:structured-macro ac:name="detailssummary" ac:schema-version="2" ac:macro-id="39fcccb8-78b8-4341-afb1-e5fd86a9f38e">
<ac:parameter ac:name="firstcolumn">Page title</ac:parameter>
<ac:parameter ac:name="headings">YOUR DESIRED PAGE PROPERY FIELDS</ac:parameter>
<ac:parameter ac:name="cql">label = "LABELNAME" and text ~ "$content.title"</ac:parameter>
</ac:rich-text-body>
</ac:structured-macro>
</p>

 Just wanted to share this as I have often used solutions from within this forum. Hope it will be useful for others!

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence

Confluence Mythbusters: Does Atlassian even use Confluence?

Hi, Confluence collaborators! As part of #Confluence-Collaboratory month, we’ve created a very special Mythsbusters segment, where we're dive into an interesting myth and uncover the truth behind i...

1,532 views 7 29
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