Friday, August 8, 2014

SQL Server Reporting Services Permissions for TFS 2013

SQL Server Reporting Services (SSRS) Setup
Some teams would like to be able to create and upload their own reports.  Following a similar approach for multiple teams in one collection/team project approach a folder called _Teams under the team project folder was created.

Under the team folder will be folders for each team who want custom reports.  The permissions Microsoft says to grant are admin level permissions.  Because of this they will be restricted to SG.TFSTeamAdministrators security group.  The rest of the team will still be able to view the reports.  This is done ONCE on the _Teams folder.  No further action is required to maintain this.
 


Report Builder Setup
The Report Builder button was not showing up for the users.  After further research a Microsoft article was found that had some basic setup information in it.  I was hesitant at first but after seeing other posts about the missing button I pulled the trigger and created a new role assignment at the system level.  It grants System User to all of the collections users.  We have an AD group for this so that was used.  This was granted in the report manager application as well by clicking on the Site Settings in the upper right corner and going to the security section.



This was probably an omission in the TFS Setup instructions because it is custom and not needed for TFS to publish reports (no need for Report Builder). 

SQL Server Analysis Services Setup
The next step is granting permissions for SQL Server Analysis Server.  The Microsoft article written for TFS 2013 details the permissions needed for both the relational data warehouse and analysis cube.  Because this grants permissions at a collection level, it will be restricted to a security group you have created that contains all of the team administrators for TFS.
  • For the database you will need to create the login for the group at the instance level and then assign it the roles on the Tfs_Warehosue database.
     
  • Make sure when adding a group to check the box for searching those objects.  It is not checked by default.  his tip applies to the database and the cub (Analysis Services) permissions.


Thursday, August 7, 2014

Update Other Users Profile Picture in TFS 2013

As TFS administrators we have been contemplating how to change profile pictures for those who choose not to upload one.  Team and person identity is important in building a strong team.  There is no active directory integration yet for setting these automatically so after some digging an existing solution was found.


One thing not mentioned in the article is that you must have Visual Studio or Team Explorer 2012 installed or you will get Could not load file or assembly 'Microsoft.TeamFoundation.Client, Version=11.0.0.0…


The site mentions recycling app pools or rebooting the application servers.  Since this is production that would have to go through the change management process.  That did not have to be done as our picture changes updated right away with a (ctrl-f5.)

Monday, August 4, 2014

Team Explorer Everywhere on MAC

Setup Team Explorer Everywhere 2013
We have a build server for Apple applications.  This will need to switch over to TFS as part of the migration from SVN to TFS 2013.  Microsoft (MS) does make interaction with Team Foundation Server (TFS) possible through the use of Microsoft Team Explorer Everywhere 2013 (TEE).  It can be downloaded here.  One thing to note is this is a command line utility.  There is no GUI for it unless you install Eclipse and then the TFS plug-in for Eclipse.

The install documentation is very lax and consists of 3 basic steps.

To install the Cross-Platform Command-Line Client for Team Foundation Server
  1. Unzip the archive (TEE-CLC-12.0.0.zip file) that contains the client.
  2. Configure your shell or system path to include the folder to which you unzipped the archive.
  3. To verify that the client is working, at a command prompt, type tf, and then press the ENTER key.

I believe MS assumes you know the OS in detail.  However this is not always the case (I know nothing about MAC X).  Below are the steps I followed to get the utility running for all users.  I do have prior knowledge of Unix command line which helped me get through this.

  1. Download and unzip to a location on the MAC.  In my case this was to the Dumps share (Unzipped from Windows to the MAC share).
  2. Log into the MAC build server as an administrator (or someone with SUDO permissions.)
  3. Since I unzipped the folder as my Windows user the MAC user did not even have writes to read the folder contents.  Grant Everyone read by overwriting the MAC permissions in Finder
  4. On the MAC build server open the command line console.
  5. So that all users have access to TEE we will copy the folder a common location.   Use the cp command to accomplish this.
    cd /usr/local
    sudo cp -R /dumps/TEE-CLC-12.0.1 .
You should get a prompt for your password.  If you do not have sudo rights you will not be able to execute this command.

  1. Edit the system path for MACs to include this new folder in searching for commands.
    sudo nano /etc/paths
  2. Add a new line at the end of the file that has /usr/local/TEE-CLC-12.0.1
  3. Save and close the file (Ctrl-X and Yes)
  4. You will not be able to run the tf command until permissions are granted to all users.
    cd /usr/local/TEE-CLC-12.0.1
    sudo chmod 755 tf
  5. Close and reopen a new terminal to apply the path changes
  6. Type in tf.  Now you should get the help information for the file if the path and application are setup properly.