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.
2. Select the TFS server and select the Team Project Collection that we created in Part 1 and click the Connect button.
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.
4. In the wizard that opens, specify the name and description of the new project.
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.
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.
7. The wizard will create a new source control folder in TFS.
8. Review the new Team Project settings.
9. Click the Finish button.
10. Close the wizard after the project is created.
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.
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.
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.
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.
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.
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.
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).
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.
4. Provide a name and description for the new Project Collection.
5. Specify the data tier (SQL Server and database name).
6. Specify the SharePoint web application and path to new site collection.
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.
8. Configure the Lab Management (not currently configured in my environment)
9. Review the Configuration and make changes as necessary.
10. Run Readiness Check.
11. Create the new Team Project Collection.
12. Close the wizard.
12. Review the top-level site collection created in SharePoint.
13. Review SQL Server Reporting Services.
Here's a really simple T-SQL function for getting a list of business dates (Monday - Friday) that fall within a given date range. For example, say I wanted to find the business dates between the dates 10/21/2009 - 10/30/2009. This function will return the following results:
[10/24/2009 is skipped]
[10/25/2009 is skipped]
I just thought this function might be helpful for others since I couldn't find anything else out there that someone else had written to accomplish this (easy as it is). There are plenty of T-SQL scripts that return the number of business days between a date range, I just couldn't find one that actually returned the business dates.
Here's the script:
CREATE FUNCTION BusinessDatesInDateRange
@BeginDate DATETIME, @EndDate DATETIME
RETURNS @BusinessDates TABLE (BusinessDate DATETIME)
DECLARE @CurrentDate DATETIME
SET @CurrentDate = @BeginDate
WHILE (@CurrentDate <= @EndDate)
-- 1: Sunday 7: Saturday
IF DATEPART(WEEKDAY, @CurrentDate) <> 1 AND DATEPART(WEEKDAY, @CurrentDate) <> 7
INSERT INTO @BusinessDates(BusinessDate) VALUES (@CurrentDate);
SET @CurrentDate = DATEADD(D, 1, @CurrentDate)
Sample call to execute:
select * from dbo.BusinessDatesInDateRange('10/21/2009', '10/30/2009');