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?
If you want to use the reporting plugin, try this:
{report-table}
{space-reporter}
{number-filter:space:all pages > collection:size|maxValue=1}
{report-column:title=Empty Spaces}{report-info:space:name|link=true}{report-column}
{report-empty}_No empty Spaces_{report-empty}
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...
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.
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? ;-)
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.
It looks like you're new here. Sign in or register to get started.