You are not logged in.
Hi all,
I am using ReportServer Enterprise Edition 4.7. I would like to know how to set the default Teamspace for all users.
Thank you
Offline
Hi dkwfung,
you can use scripting for this. Pls check the Script Guide https://reportserver.net/de/dokumentati … -guide-4-7 and the scripting tutorial: 
https://reportserver.net/de/dokumentati … -scripting
Attached is an example of the demo data installer, written in Groovy, which also automatically creates and assigns dashboards using the createDashboard() function. You can apply a similar approach in your script.
private void createDashboard() {
      def db = new Dashboard()
      db.name = 'Demo Dashboard'
      db.singlePage = true
      /* Report */
      def rptDgt = new ReportDadget()
      rptDgt.config = 'preview'
      rptDgt.col = 0
      rptDgt.height = 125
      rptDgt.container = DadgetContainer.NORTH
      rptDgt.report = GLOBALS.getEntitiesByType(Report).find { report -> 
         report.name == 'Top Employees - Dashboard' }
      db.addDadget rptDgt
      /* Number of employees */
      def cusDadget = new ReportDadget()
      cusDadget.col = 0
      cusDadget.height = 150
      cusDadget.config = 'preview'
      cusDadget.report = GLOBALS.getEntitiesByType(Report).find { report -> report.name == 'CustomerCreditLine' }
      db.addDadget cusDadget
      /* Graph */
      def graphDgt = new ReportDadget()
      graphDgt.height = 150
      graphDgt.config = 'pie'
      graphDgt.report = GLOBALS.getEntitiesByType(Report).find { report -> report.key == 'STORE_SALES' }
      db.addDadget graphDgt
      /* Add dashboard to library */
      def dbn = new DashboardNode()
      dbn.name = 'Demo Dashboard'
      dbn.dashboard = db
      dashboardManagerService.roots[0].addChild dbn
      dashboardManagerService.persist dbn
      /* set newly created dashboard for all users */
      userManagerService.getAllUsers().forEach{ u ->
         def dbc = dashboardService.getDashboardFor(u)
         def dbr = new DashboardReference()
         dbr.dashboardNode = dbn
         dbr.name = dbn.name
         dbc.dashboards.clear()
         dbc.dashboards.add(0, dbr)
         dashboardService.merge dbc
      }
   }Regards,
Eduardo
Offline
Hi Eduardo,
Thanks for your reply.
Would you please provide example to assign default teamspace to all users?
Thank you
Regards,
David
Offline
Hi dkwfung,
you can get and set a default teamspace with userPropertiesService.
      userManagerService.getAllUsers().forEach{ u ->
          UserProperty property = userPropertiesService.getProperty(u, "teamspace:primaryTeamSpace");
          if (null == property) {
             property = new UserProperty("teamspace:primaryTeamSpace", String.valueOf(teamSpace.getId()));
             userPropertiesService.setProperty(u, property);
          } else {
               property.setValue(teamSpace.getId());
          }
          userManagerService.merge(u);
      }
Regards,
Alex
Offline