ok Confluence Wiki: verschieben aller Blogposts eines Space auf einen anderen Space | CMS - Webdesign - Website

Confluence Wiki: verschieben aller Blogposts eines Space auf einen anderen Space

Was bei Pages via „Move“ kein Problem ist, wir bei Blogposts zur Geduldsprobe. Die Seiten unterhalb der Homepage eines Space kann man mit einem Klick über das Menü „Tools“ von einem Space zu einem anderen verschieben. Alle Child Pages werden automatisch mit verschoben.

Bei Blogposts (Newseinträge) funktioniert dies so nicht. Man muss einzeln jeden Blogpost öffnen und über das Menü mit „Move“ verschieben. Bei Hunderten von Blogposts kann das sehr sehr nervig werden.

Dieses User Macro ermöglich das Verschieben aller Blogposts eines Space in einen anderen Space. Als Option kann man den zu verschiebenden Blogposts noch ein Label zuweisen.

## Macro title: Move Blogposts from Space to other Space
## Macro has a body: N
##
## Developed by: Stefan Baader (with the help of   Stephen Deutsch)
## Date created: 24/06/2015
## Installed by: Stefan Baader
## @param OriginSpace:title=Origin Space|type=spacekey|required=true|desc=Space
## @param TargetSpace:title=Target Space|type=spacekey|required=true|desc=Space
## @param Label:title=Label|type=string|required=false|desc=Label
#set($originSpace = $spaceManager.getSpace($paramOriginSpace) )
#set($targetSpace = $spaceManager.getSpace($paramTargetSpace) )
#set($labelManager = $action.getLabelManager() )
#set($blogPosts = $pageManager.getBlogPosts($originSpace, true) )
#if($req.getParameter("move") )
   #foreach($blogPost in $blogPosts)
     <li>move $blogPost to $targetSpace
       #if($paramLabel != "")
           <script>
               jQuery.post(contextPath+'/json/addlabelactivity.action', {'entityIdString': '$blogPost.id', 'labelString': '$paramLabel', 'atl_token': jQuery('#atlassian-token').attr('content') });
           </script>
       #end
       $blogPost.setSpace($targetSpace)
       #if($blogPost.isInSpace($targetSpace)  )
          <span style="color:darkgreen"> moved &#9745;</span>
       #end
     </li>
   #end
#else
<h3>Move all blogposts from $originSpace to $targetSpace?</h3>
<form  method="get">
   #if($paramLabel != "")
     #set($labelHint = "and add label '$paramLabel'")
   #end
    <input type="submit" name="move" value="move all blogposts listed below $!labelHint">
</form>
<hr/>
   #foreach($blogPost in $blogPosts)
     <li>$blogPost (Labels:  $blogPost.getLabels() )</li>
   #end
#end