Exceeding the Content by Label Max Page Limit

Is there a way to get the Content by Label macro to display more than 500 pages?

I think I've got around the 20 label limit but this has me stumped.

If there isn't a way to do this, can anyone recommend an alternative?

2 comments

Hi Mike

This won't get you past the 500 page limit, but we have a section at the top of our pages for related pages using this macro. If we know the list is going to be more than say 15-20 pages, we break it up into multiple lists. Each list uses the Content by label macro with different labels generating different lists of pages. For example, we may have one list for process pages, one for how to, one for training, etc. We find this is more readable.

Thanks, Sandy

Thanks, but unfortunately that isn't going to do it.

This is a scripting language reference with >2000 commands. I want to list the commands available in each version of our product. Each command has a version label.

1.00 started with >1500 available commands and each subsequent release of our product added support for more.

e.g.

  • Version 2.00, aggregate labels 1_00, 1_20, 1_50, and 2_00
  • Version 1.50, it would only be 1_00, 1_20, and 1_50.

I have the same problem: the content by label macro seems to limit the output to 500, doesn't matter what higher limit you define in the macro.

Therefore I created a user macro to give me the entire list:

## Macro title: oce-content-by-label
## Macro has a body: N
##
## Developed by: Stefan Baader
## Date created: 27/09/2017
## Installed by: Stefan Baader

## @param Spacekey:title=Space Key|type=string|desc=Space Key
## @param Label:title=Label|type=string|desc=Label

#set($labelManager = $action.getLabelManager() )
#set($label = $labelManager.getLabel($paramLabel) )

#if(!$paramSpacekey ||  !$paramSpacekey == "")
  #set($spaceKey = $space.getKey() )
#else
  #set($spaceKey = $paramSpacekey)
#end

<h2>List all content of the space $spaceKey with the label $label </h2>

##set($listOfContent = $labelManager.getContentInSpaceForLabel(0, 600, $spaceKey, $label) )

## method deprecated, but works:
#set($listOfContent = $labelManager.getCurrentContentForLabelAndSpace($label, $spaceKey) )

$listOfContent.size() items are found:<br />


#set($i = 0)
<ol>
#foreach($item in $listOfContent)
  #set($i = $i+1)
  <li><a href="$req.contextPath/pages/viewpage.action?pageId=$item.getIdAsString()">$item.getTitle()</li>
#end
</ol>
<hr />
$i items



Thanks, this gives me something to work with.

I haven't tried to code user macros before - any idea how to adapt this to allow multiple labels and sort the list?

Comment

Log in or Join to comment
Community showcase
Bridget Sauer
Published Jan 29, 2018 in Confluence

Showcase: How LinkedIn does Content Lifecycle Management (12 Steps)

LinkedIn, the world's largest business network has an exceptionally large Confluence instance. In their case, large means millions of pages and thousands of spaces. In this Showcase, we're focusing i...

571 views 0 8
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot