Wednesday, July 11, 2007 5:39 PM
eScrum 1.0 msi package is updated by automating most of the manual steps that were in its original release on 6/13/2007. Please see the below changes for the details.
Changes since initial release:
- Msi to provide a prerequisites separately during installation.
- Provided start menu link to documentation, to locate Help
- Provided choice to install only the process template, and/or the web application
- Rebuilt with latest Ajax Control Library Version
- Automated copy of XSS library in msi
- Automated creation and configuration of application pool and website in msi
- Automated upload of process template in msi
- Automated share point template setup in msi
- Automated creation/configuration of cache and log paths in msi
The following manual steps still exist:
- Installing the pre-requisites: TFS, IIS, .net, Ajax, XSS Library
- Post install: Setting permissions on the log/cache directories
- Creating TFS project in Team Explorer, and adding it to the RegisteredGroups.XML file
- Manual cleanup of web site after uninstall (if desired)
Make sure to install the prerequisites before installing eScrum, as they cannot be packaged with eScrum for legal reasons.
Thursday, July 12, 2007 7:39 PM
eScrum v1.0 Readme
eScrum contains software or other content adapted from Microsoft patterns & practices Enterprise Library, © 2006 Microsoft Corporation. All rights reserved.
Note: This file, the end user license agreement (EULA), and other documentation can be found in the eScrum web root directory after installation.
As an add-on for Team Foundation Server (TFS) and because it is built with multiple Microsoft technologies, eScrum has a few dependencies that it does not ship with. There are also some post-installation steps you must follow for eScrum to work. This document will take you through the necessary steps to get eScrum working after installation.
eScrum uses a variety of web and back-end technologies. You will need to install these extra components before eScrum will work. These can be installed after eScrum installation.
Microsoft .NET Framework v2.0
eScrum relies on v2.0 of the .NET Framework. If your server does not already have this version installed, it is available here: <http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en>
Once the .NET Framework is installed, IIS must also be configured to use this version of the Framework. To do this, open a command shell and
1. cd %SystemDrive%\Windows\Microsoft.NET\Framework\v2.0.50727
2. aspnet_regiis.exe -i
Microsoft Team Foundation Server and Microsoft Team Explorer
eScrum uses Team Foundation Server as its back end and requires Team Explorer (the TFS client portion) to be installed on the eScrum web server machine for Work Item Tracking functionality. The default installation assumes that the web server is on the same machine as the TFS server.
The machine that hosts the eScrum web components will need TFS DLLs installed by either the full Team Foundation Server installation or the Team Explorer installation (the client portion of TFS).
More information about Team Foundation Server and Team Explorer here:
Note: eScrum v1.0 requires Visual Studio 2005.
eScrum uses many of the controls available with the free ASP.NET AJAX extensions from Microsoft. You will need to install both ASP.NET AJAX and the ASP.NET AJAX Control Toolkit.
Installation is available here: http://ajax.asp.net/Default.aspx?tabid=47
1. Install the ASP.NET 2.0 AJAX Extensions 1.0
2. Download the ASP.NET AJAX Control Toolkit from the link provided at the same page (note: eScrum uses the “10301 Production” version of the Control Toolkit). This comes packaged as a .zip file. You will need to copy the <zip file>\SampleWebSite\Bin\AjaxControlToolkit.dll from the zip file to the eScrum\bin directory. Please see the troubleshooting section at the end of this document if the correct version is no longer available.
Anti Cross-Site Scripting Library
Since a variety of form data is entered in eScrum, to safely store information containing HTML strings, the anti-XSS library is used.
Note that this install does not place the assembly in the Global Assembly Cache. Therefore you will have to copy the %ProgramFiles%\Microsoft Corporation\Anti-Cross Site Scripting Library V1.5\Library\.NET 2.0\AntiXssLibrary.dll to <webroot>\eScrum\bin directory after installation.
Configuring the Application Pool and the Web Application
After installation, the eScrum Virtual Directory created by the setup must be modified slightly.
1. Open the IIS manager in the Microsoft Management Console
2. Create an Application Pool for eScrum named eScrumAppPool
3. Edit the Pool properties to set the identity to the Predefined “Network Service”
4. Edit the properties for the eScrum virtual directory
a. Home Directory
• Execute Permissions: Scripts Only
• Application Pool: eScrumAppPool
• ASP.NET version: 2.0.50727
c. Directory Security
• Click the “Edit” Button in the “Authentication and Access Control” section
• Uncheck the Anonymous access Checkbox
• Check the Integrated Windows Authentication Checkbox
5. Start the Application Pool and Web site. In the IIS Manager, select the Default Web Site (or the web site you installed eScrum under) and stop it, then eScrumAppPool and stop then restart the service. Finally, restart the Default Web Site.
Setting up SharePoint, the Process Template, and Reporting
See the document eScrum_TFS_Deployment.doc in the <Program Files>\eScrum\ProcessTemplate directory for more information about setting up SharePoint services, the eScrum TFS Process Template, and eScrum Reporting. This process will allow you to create an eScrum TFS Project.
Ignoring the eScrum Virtual Directory Within SharePoint Services
If you have installed eScrum and SharePoint Services on the same machine and on the same Web Application on that machine (this is the default install), you will need to exclude the eScrum virtual directory from the SharePoint configuration.
Create an excluded path for a virtual server
1. On the Start menu, point to “Administrative Tools”, and then click “SharePoint Central Administration.”
2. In the “Virtual Server Configuration” section, click “Configure virtual server settings”.
3. On the “Virtual Server List” page, click the virtual server that you want to create the excluded paths for.
4. In the “Virtual Server Management” section, click “Define managed paths.”
5. In the “Add a New Path” section, type the path to the eScrum virtual directory in the “Path” box.
6. Click “Excluded Path”, and then click OK.
More information can be found here: http://office.microsoft.com/en-us/winsharepointadmin/HA011608061033.aspx
Team Foundation Server Project Creation
eScrum uses eScrum TFS Projects as a back end storage and management. Once you have added the eScrum Process Template to your TFS server, you will need to create a new TFS Project using the eScrum Template:
1. In Team Explorer, right click your server and select “New Team Project…”
2. Name your project and use the eScrum template
3. Add yourself and your team members are all added to the Project Contributors (or Project Administrators, depending on your preference) security group.
a. Right-click on your new Project and select “Team Project Settings.Group Membership…”
b. Double-click either the Administrators or Contributors group
c. Change the “Add member” selection to “Windows User or Group”
d. Add your members
e. Click OK
Adding Your Project to the eScrum Web UI
Once you have created an eScrum TFS Project, you can add it to the web interface by editing the RegisteredGroups.xml file in the web root directory. You can add multiple TFS servers and projects to run in a single eScrum web instance.
<Server Name="[MyTfsServerName]" Uri="http://[MyTfsServerName]:8080/">
<Group Name="[MyTfsProjectName]" />
Replace the options in brackets with your server and project names.
Note: You may receive a “cannot parse URI” exception when browsing to the eScrum web site before you update this file correctly.
Updating the TFS Work Item Tracking Cache and Log File Locations
Depending on your server configuration, you may need or want to change the locations of TFS Work Item Tracking cache and the eScrum log location. The default locations are on the c:\ drive.
Open the web.config file in the eScrum web root and change the following lines:
• <add key="WorkItemTrackingCacheRoot" value="c:\Windows\Temp\eScrumCache" />
• <add fileName="c:\windows\temp\eScrum_trace.log"
The setup will create the <Windows>\Temp\eScrumCache directory. You use this directory or create your own and. Either way, verify that the directory exists and is set properly in the web.config.
Give all eScrum users to the modify, read, and write permissions to following directories. (Note: when using a trusted subsystem instead of impersonation, only the service account needs these permissions):
• %SystemDrive%\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
• %SystemDrive%\Windows\Temp\eScrumCache (or your eScrumCache location)
Setting up eScrum on a Separate Web Server
eScrum can be deployed either on the same machine as your Team Foundation Server machine or on a separate web server. Since it is the default install, if you have installed the eScrum web components on the same machine as your TFS server, no further steps are necessary past what is described in the eScrum_readme.rtf file in the web root directory.
If you have installed eScrum on a different sever than your TFS server, you can choose one of two security models to run eScrum: Impersonation with Constrained Delegation (similar to the same-machine install) or Trusted Subsystem.
Impersonation with Constrained Delegation
Due to security restrictions between servers, the TFS server and web server must be set up with a Constrained Delegation relationship. Please see this article for more information on Constrained Delegation. http://msdn2.microsoft.com/en-us/library/aa480475.aspx. Once this relationship is set up, no further changes to the eScrum configuration will be necessary
If you cannot set up a Constrained Delegation relationship between your two servers, you will need to use the Trusted Subsystem security model. In this model, instead of impersonating each user, eScrum uses a single non-user account to interact with TFS on behalf of all users. This non-user account needs administration access to your eScrum TFS Project, however the eScrum security layer will ensure that users with lower permissions to the project are not allowed to access the functions they should not.
To set up the Trusted Subsystem, you need to make the following changes to the eScrum installation:
1. Edit the Web.config file in the web root to remove the <identity impersonate="true"/> line.
2. Create a non-user account named eScrumUser in your domain
3. Give eScrumUser Administrator permission to your eScrum TFS project
a. In Team Explorer, right click your Project and select “Team Project Settings.Group Membership…”
b. Select the Administrator group and add the Windows eScrumUser to the Administrators list.
4. Change the eScrumAppPool to run under the eScrumUser instead of the Predefined “Network Service”
5. Ensure all of your team members are added to the eScrum TFS project’s Contributors security group.
Finally, you will need to add the eScrumUser account to your machine’s local "IIS_WPG" security group and then in Local Security Settings (start->run->secpol.msc, Local Policies->User Rights Assignment), add IIS_WPG to "Impersonate a client after authentication" policy.
Troubleshooting Installation Issues
Due to differences in server configurations and security policies, there may be some issues getting eScrum working easily. Here are a list of things to check if eScrum does not work properly after following the above steps.
Cannot pass a GCHandle across AppDomains error
If you get the error “Cannot pass a GCHandle across AppDomains,” then try the following:
• Restart the eScrumAppPool (or from the command line run “IISReset”)
Ensure Windows Firewall is not blocking Port 80. If it is blocking, then add the following to firewall exceptions:
Start -> Control Panel ->Windows Firewall -> Exceptions
Add Port ... -> Name = "Web Server (TCP 80)", Port Number = 80, TCP
Depending on your security policies and Kerberos settings, you may need to restrict this site to only use NTLM:
a. Find the IIS AdminScripts folder. It is usually in <Drive>\Inetpub\AdminScripts folder or <Drive>\AdminScripts.
b. Open Command prompt and change directory to the above folder.
c. Run the following commands:
i. cscript adsutil.vbs set w3svc/<Website>/Root/NTAuthenticationProviders "NTLM"
ii. Eg: cscript adsutil.vbs set w3svc/2054090603/root/NTAuthenticationProviders "NTLM"
iii. <Website> is derived as follows: View "Default Web Site" (or web site you installed the eScrum virtual directory under) properties in IIS, Click Properties in Active Log Format, String following W3SVC in "Log file name".
Note: this will change the authentication model of the entire site, not just the eScrum virtual directory.
iv. Run "iisreset" after the above operation
ASP.NET AJAX Control Toolkit Version Conflicts
Since the release site of the AJAX Control Toolkit does not allow download of previous versions and eScrum is compiled with a specific version, you may need to update the web.config file to allow automatic usage of a newer version of the AJAX Control Toolkit. eScrum has not been tested with newer versions, but may work well.
Add following XML to the eScrum web.conifg file after the </configSections> close tag. Afterward, update the newVersion attribute to the version of the control toolkit that you are using.
<bindingRedirect oldVersion="1.0.10301.0" newVersion="1.0.xxxxx.0"/>
Thursday, July 12, 2007 8:05 PM
eScrum Reports will now work with SQL Standard Edition as well as opposed to only SQL Enterprise edition.