In this question about incoming links I was able to find a macro to enumerate incoming links on a specified page.
I now have a heirarchy of pages that refer to each other and it is important that I know which pages don't have any incoming links at all since this implies that they have not been set up properly in the cross-reference web being created.
Does anyone know how I can search for pages that don't have incoming links?
Possibly a more generalised search based on existing incoming links would also be useful (say, all pages with incoming links from a specified page, or space).
Thanks for your help.
Hi Russell,
The following user macro lists all pages without any incoming links of a given space:
## @param Space:title=Space|type=string|required=true #set($space = $spaceManager.getSpace($paramSpace)) #set($pages = $pageManager.getPages($space, true)) #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')) <h1>Pages without incoming links in space "$space.getName()"</h1> <ul> #foreach ( $page in $pages ) #set($links = $linkManager.getIncomingLinksToContent($page.getContentEntityObject())) #if($links.size() == 0) <li> <a href="$req.contextPath/pages/viewpage.action?pageId=$page.getId()">$page.getTitle()</a> </li> #end #end </ul>
Cheers,
Thomas
Online 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.