ALM with Team Foundation Server 2010 and SharePoint 2010 (Part 2)

In the first part of this series, I showed you how to create a new Team Project Collection in TFS and the new SharePoint site collection and SSRS reports folder created for the site collection. In this part, I will show you how to create a TFS Team Project in the Team Project Collection, add team members to the project, manage permissions on the SharePoint site and review the SSRS report security settings.

Part 2A: Creating a team project.

1. Open Visual Studio 2010 and click on Connect to Team Foundation Server.

 image

2.  Select the TFS server and select the Team Project Collection that we created in Part 1 and click the Connect button.

image

3. Create a new Team Project in the Team Project Collection. In the Team Explorer pane, right-click on the Team Project Collection and select New Team Project.

image 

4. In the wizard that opens, specify the name and description of the new project.

image

5. Specify the Process Template to use for the project. Out of the box, there are two process templates available: MSF for Agile Software Development v5.0 and MSF for CMMI Process Improvement v5.0. For this project, I’m going to use the MSF for Agile Software Development v5.0 template. To understand the differences between the two templates, refer to the documentation located here: http://msdn.microsoft.com/en-us/vstudio/aa718795.aspx. Note, you can also download additional process templates or create your own process template using the Process Editor (part of the TFS Power Tools). This is available at the above link.

image 

6. Allow the New Project wizard to create the SharePoint site that will be used as the portal for this project. The site will be created under the site collection that was created for the Team Project Collection.

image

7. The wizard will create a new source control folder in TFS.

image

8. Review the new Team Project settings.

image

9. Click the Finish button.

image

10. Close the wizard after the project is created.

image

Part 2B: Managing Team Members and Permissions

1. In Team Explorer, find the new project we just created and right-click on Team Members. You can give users access to the team by clicking on the Add Team Member  option. You can also create sub-teams by selecting the New Subteam option. For this project,  we will create the following subteams: Business Analysts, Developers, Project Managers, and Testers.

image

2. Add the appropriate members to each sub-team by right-clicking on each sub-team name and selecting the Add Team Member option from the menu. These members will all be added to the Team Project’s Contribute security group. To modify or reassign them to a different security group, right-click on the team project name and select Team Project Settings –> Group Membership.

image

3. In order to make sure the team members can access the project portal, you need to go into the SharePoint site and give the users you added to the team permissions to the site. In the Team Explorer window, right-click on the project name and select Show Project Portal. This will open the SharePoint site that was created for this project.

image

14. Go to Site Actions –> Site Permissions to grant access to this site for the project team members. You can create groups, custom permission levels, etc just like permission management in any other SharePoint site. In this case, I’m going to just grant each team member Contribute permissions for this site.

image 

Part 2C: Reviewing SSRS Security

1. In the SharePoint site, click the Reports link in the Quick Launch menu on the left. You will be taken to the SSRS reports folder specific to the new project. There different folders for the different reports. The reports available are based on the process template you selected when creating the Team Project. By default, for the Agile-based process template, there are reports for Bugs, Builds, Project Management, and Tests.

image

2. You can also manage the security of a report folder or report. Hover over a folder or report and select Security from the drop-down menu. Select Edit Item Security from the toolbar. You will be asked to confirm that you actually want to break permission-inheritance for the object.

image

image

3. By either clicking on the New Role Assignment toolbar item or clicking Edit next to an existing Group or User, you can change with Role Assignment for the group or user. The main roles are: Browser (read-access), Publisher (create reports), and Content Manager (manages the report server content for the project).

image

image

ALM with Team Foundation Server 2010 and SharePoint 2010 (Part 1)

Team Foundation Server (TFS) 2010 and SharePoint 2010 are excellent tools to use for managing projects and applications. In this series on Application Lifecycle Management (ALM), I will show you from start to finish how to manage your projects in TFS 2010 and SharePoint 2010. For this example, I will use these tools to manage the creation of a new SharePoint 2010 intranet portal for my company, DeviantPoint.

This series does not cover installation and configuration of TFS, SharePoint 2010, and SQL Server 2008 R2 Reporting Services. Those are topics I may cover in a future post. However, here are some fairly good resources that should help you get started with that:

Part 1: Creating a Team Project Collection

1. Open the Team Foundation Administration Console.
2. Create a new collection under Server –> Application Tier –> Team Project Collections.
3. Click Create Collection.

image

4. Provide a name and description for the new Project Collection.

image


5. Specify the data tier (SQL Server and database name).

image


6. Specify the SharePoint web application and path to new site collection.

image


7. Specify the SQL Server Reporting Services server. Note that TFS doesn’t work with SSRS SharePoint Integrated mode. In my environment, I have two SSRS servers, one that runs in SharePoint Integrated mode (for my BI-related demos) and one that doesn’t. Here, I’m specifying the URL to the Reporting Services server that doesn’t run in integrated mode.

image 


8. Configure the Lab Management (not currently configured in my environment)

image


9. Review the Configuration and make changes as necessary.

image


10. Run Readiness Check.

image


11. Create the new Team Project Collection.

image


12. Close the wizard.

image

12. Review the top-level site collection created in SharePoint.

image

13. Review SQL Server Reporting Services.

image

What I've learned about the Visio Services API ... so far

Ok, so I’ve played around with Visio Services and created diagrams linked to data. Here's what I've learned so far: there is no way to dynamically create a Visio diagram. What I mean is,  the Visio Services API won’t allow you to dynamically add shapes to a diagram. The shapes have to be on the diagram already when you publish the diagram. You also cannot modify any of the properties of the diagram or any of the diagram shapes’ properties through the Visio Services API. You can’t even dynamically link a row from your data source to a shape already on the diagram. The link from row to shape must be already defined prior to publishing.  

So what can you do with the API? From what I can tell, there’s really only a few things:  

  1. You can read the linked data of any shape in your diagram. This is the data coming from the data source.
  2. You can highlight or select any shape.
  3. You can change the view (which page is shown) and zoom level of the diagram.
  4. You can add an overlay. There are two types of overlays you can add here: a text overlay or an image overlay (note that when you’re looking at a workflow visualization, it uses this image overlay technique). Actually, I think you can technically create a third type of overlay (if the diagram is rendered w/ Silverlight as opposed to PNG). I think you can create a very limited XAML overlay that will be placed inside of a Canvas. That’s because the overlaying capabilities of the API uses createFromXaml() to create the other types of overlays (image and text). 

So that’s what I’ve learned as I messed around with Visio Services. If anyone finds out anything else or if any of what I say is incorrect, let me know. So if you're looking for a way to create a dynamic diagram, maybe the best way to accomplish that is through Silverlight.