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 !
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 !
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!
Hi Davin,
since I also have the problem that the Incoming links are not displayed in the Page Properties Report when using the solution provided in another thread, I was very happy to see your solution. Unfortunately, it doesn't seem to work in the Confluence version I'm using (7.13.0 DC).
It seems, that already the first #set command does not work. I added some lines to the code after the first five #set commands which all result in "... not defined!".
#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'))#if (!$containerManagerClass) <div>containerManagerClass is not defined!</div> #end#if (!$getInstanceMethod) <div>getInstanceMethod is not defined!</div> #end#if (!$containerContext) <div>containerContext is not defined!</div> #end#if (!$containerManager) <div>containerManager is not defined!</div> #end#if (!$linkManager) <div>linkManager is not defined!</div> #end
Thanks a lot and best regards,Ulrik
I'm afraid I've just found the root cause by myself:
According to issue CONFSERVER-59935, as of Confluence version 7.0.1, the security settings have been tightened. After that the use of class.forName() is no longer possible.
This is really frustrating... :-(
Regards,Ulrik
It looks like you're new here. Sign in or register to get started.