Is there a way to report Spaces that do not have pages?

Paul Paul October 26, 2011

I have a problem with personal spaces exisitng that do not have pages and I want to be able to delete those personal spaces. Has anyone found a way to report spaces without a single page?

2 answers

1 accepted

0 votes
Answer accepted
David Peterson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 27, 2011

If you want to use the reporting plugin, try this:

{report-table}

{space-reporter}

{number-filter:space:all pages > collection:size|maxValue=1}

{space-reporter}

{report-column:title=Empty Spaces}{report-info:space:name|link=true}{report-column}

{report-empty}_No empty Spaces_{report-empty}

{report-table}

I've set 'maxValue' to 1 since most pages have at least one page (the home page). If you want absolutely no pages, set it to '0'.

Also, this will also be somewhat inefficient, since it is basically loading every page in your server into memory, so I'd avoid running it too often...

Paul Paul October 27, 2011

Perfect, the report does the trick. Many thanks. When I get my upgrade and users sorted out in the new year I am going to have some real time to work on reporter and macros and I can't wait.

2 votes
David at David Simpson Apps
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
October 26, 2011

If @Bob Swift doesn't have a magic CLI command to do this, you could write a suitable macro.

The execute method could be along these lines:

public String execute(Map params, String body, RenderContext renderContext)
        throws MacroException
{
    String returnValue = "<h2>Spaces without pages</h2><ol>";

    List<Space> spaces = spaceManager.getAllSpaces();

    for (Space space : spaces)
    {
        List<Page> pages = pageManager.getPages(space, true);
        
        if (pages.size() == 0)
        {
            returnValue =  returnValue + "<li>"+space.getKey()+" : "+space.getName()+"</li>"; 
        }
    }
    return returnValue + "</ol>";
}

It's suboptimal code, but would likely do the trick.

Paul Paul October 26, 2011

Thanks for the swift response. I must admit that I although I know how to write a basic macro and use the reporter plugin I don't know what to do with that code, can you direct me to that fine manual? ;-)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events