Defining the Project Portal Plug-in for a Process Template
By using the portal plug-in, you can define the initial document libraries, library structure, and documents of a team project's portal. You can also include the tasks that create dashboards and Excel reports that are designed to work with the process templates for Microsoft Solutions Framework (MSF).
The tasks that you specify in the plug-in for SharePoint Products are run only when you create a SharePoint site when you create a team project.
In this topic
The following table summarizes the names of the portal plug-in file, the folder, and the plug-in for the MSF process templates.
Windows SharePoint Services
You can change the names of the XML file and the folder but not the plug-in. Visual Studio Team Foundation Server does not include a mechanism for the deployment of client-side plug-ins, policies, or other modifications. If you want to deploy this kind of functionality, you must use your own distribution and installation program.
In the portal plug-in file, specify one or more tasks and their dependencies. You specify the following key tasks:
Create the site by using a specified site template
Create document libraries
Create folders, and upload files to the document libraries
Activate dashboard features
For an example of a task that specifies a simple project portal, see the WssTasks.xml file in the MSF for Agile Software Development process template.
For more information about site requirements and administration, see SharePoint Products and Team Foundation Server
You must specify a site template on which the project portal is based. The site template also must be available on the Team Foundation Server SharePoint portal. Site templates are not included in the process template.
Specify the site template using the site element.
<site template="" language=""/>
The following table describes the attributes for the site element.
Specifies which template to use. You must specify a template that is defined on the server that hosts SharePoint Products for the team projects that will be created.
To use the features that are available with the current version of the process templates for MSF, specify one of the following strings:
Specifies a locale ID to indicate which language version of the site template to use. The English version is 1033.
The following example shows how to reference the English version of the current version of the MSF Agile process template, which supports dashboards.
<tasks> <task id="SharePointPortal" name="Create Sharepoint Portal" plugin="Microsoft.ProjectCreationWizard.Portal" completionMessage="Project portal site created."> <dependencies /> <taskXml> <Portal> <site template="TFS2010 Agile Dashboard" language="1033" /> . . . </Portal>
All other tasks defined within the portal plug-in depend on the site creation task because the project portal must be created before you can create additional document libraries or copy files.
Process Template Performance
The files that you specify in WssTasks.xml are included as part of the process template when it is uploaded. The size of the process template affects how long it takes to create a new team project. Larger process templates take longer to create new team projects. Therefore you should consider alternate strategies to provide files when process template performance degrades.
Using the Site Template
You can include files as part of the SharePoint site template. This moves files out of the process template and into the site template and improves performance when creating new team projects.
However, there is a benefit to listing files in WssTasks.xml. You can bind Microsoft Project and Microsoft Excel files to a query using the queryid attribute described previously. This assists team members when they open the files because they will already be connected to the correct Team Foundation Server and query.
Using an Alternate Web Site
If you have a large collection of files that are shared amongst multiple team projects, you can use an alternate Web site to host the files and link to the files from the project portal or Web pages. This strategy also increases performance when creating team projects since the files do not need to be copied to the project portal. For more information, see Share Process Guidance for a Team Project.
After the project portal is created, you can specify that additional document libraries be created. Use the documentLibrary element to specify a document library.
<documentLibraries> <documentLibrary name="" description="" isProcessGuidance="true | false" /> </documentLibraries>
Versioning for a document library cannot be enabled or disabled in the process template. You can enable or disable versioning via the Windows SharePoint Services site template, or after project creation.
The following table describes the attributes for the documentLibrary element.
Specifies the name of the document library that appears on the project portal.
Provides a description of the document library that appears on the project portal.
Specifies whether the document library is used to support process guidance content.
The following example shows how to create a document library named Development that the development team can use to store documents.
<documentLibraries> . . . <documentLibrary name="Process Guidance" description="How to make best use of the Team Foundation Server tools and process" isProcessGuidance="true" /> . . . </documentLibraries>
After the project portal is created, you can specify additional folders to create. You can also specify files to copy such as template files.
Use the folder element to create a new folder.
<folders> <folder documentLibrary="" name=""/> </folders>
The following table describes the attributes for the folder element.
Identifies which document library to create the folder in.
Specifies the name of the folder.
The following example shows how to create a folder named Trip Reports in the Development document library where developers can store trip reports from conferences or customer visits.
<folders> <folder documentLibrary="Development" name="Trip Reports"/> </folders>
You must also copy files into document libraries and folders. The source files are located under the Windows SharePoint Services folder. You must specify a target on the project portal.
<files> <file source="" documentLibrary="" target="" queryId="" /> </files>
The following table describes the attributes for the file element.
A relative path to the local copy of the file. Generally, the source path name always begins with Windows SharePoint Services, which is the name of the folder where the portal plug-in is defined.
The name of the document library into which the file will be copied.
A relative path to the target on the project portal where the file is copied.
Specifies the name of a work item query that is bound to the file. When the file is opened for the first time, it is populated with the results of running the query. This attribute is optional, and the specified query must exist in the workitems.xml file.
queryId only applies to .xls files.
The following example shows how to copy a template file named Project Checklist into the Project Management folder. This example also specifies that when the file is first open, it should be populated with the results of the Project Checklist work item query.
<files> <file source="Windows SharePoint Services\Templates\Project Checklist.xls" documentLibrary="Project Management" target="Project Checklist.xls" queryId="Project Checklist" /> </files>
You could include folders and files as part of the site template, and you would not have to list them in the XML.
If you specify .exe files and the SharePoint site does not support .exe files, you will not be able to create a team project successfully by using the process template.
Process Guidance Content Files
Process guidance is content that documents the processes to be followed by team members who work on a software project. Work items, reports, and queries can all change during the lifecycle of a team project, and they can be different between team projects. Process guidance content provides details about a team project, such as information about how to complete work item fields, examples of healthy and unhealthy reports, and descriptions of the queries. Process guidance also provides details about the process to follow on a team project, such as roles to assume and activities to complete.
The process guidance that is provided for team projects that you create by using a Microsoft Solutions Framework (MSF) process template is hosted in the MSDN Library. This includes process guidance for MSF for Agile Software Development v5.0 and MSF for Capability Maturity Model Integration (CMMI) Process Improvement v5.0. Both of these templates are included with Visual Studio Application Lifecycle Management (ALM).
For the most recent version of the MSF process templates, the files that are uploaded to the Process Guidance document library are .htm files. These files specify URLs to the MSDN content that is opened when a team member clicks within a work item form. The MSF process templates contain links to topics on the Microsoft Web site.
You can customize these files to point to other resources for process guidance. You can also add files to support access to other process guidance that you have created for your team.
Dashboards show project data, support investigation, and help teams quickly perform common tasks. Dashboards display several Excel reports and Team Web Access Web parts.
You use the activateFeatures element to cause the creation of the dashboards and Excel reports. You must include the following code in the portal plug-in file, within the Portal element, to activate the creation of the dashboards and Excel reports for a team project.
To activate dashboard features that are designed for use with the MSF process template for agile software development:
<Portal> . . . <activateFeatures> <!-- TfsDashboardAgileMoss --> <feature featureId="0D953EE4-B77D-485b-A43C-F5FBB9367207" /> <!-- TfsDashboardAgileQuickLaunch --> <feature featureId="1D363A6D-D9BA-4498-AD1A-9874ACA5F827" /> </activateFeatures> . . . </Portal>
To activate dashboard features that are designed for use with the MSF process template for CMMI:
<Portal> . . . <activateFeatures> <!-- TfsDashboardCmmiMoss --> <feature featureId="3D0BA288-BF8E-47F0-9680-7556EDEF6318" /> <!-- TfsDashboardCmmiProcessDocLibraries --> <feature featureId="8610B95B-063F-4FB5-837C-BCF2FE9423C6" /> </activateFeatures> . . . </Portal>