Creating assignment association

Sep 21, 2007 at 8:36 AM
Hi! I have a problem with assignment association. When creating a new project association I check boxes to auto-create assignments and WorkItems, but they are not created. When I try to create associations manually, if "By WorkItem" I see WorkItems but Tasks listbox is empty and vice versa if "By Assignment" I see all tasks, but WorkItem listbox doesn't contain anything.
Are there any restrictions on items to be associated?
Coordinator
Sep 22, 2007 at 1:04 PM
There are no restrictions, per se. However, the UI for the Connector will filter tasks and work items for you based on the WorkItemType (or Enterprise WorkItem Type for Assignments) that is selected int he drop down box. This is to prevent the user from associating WorkitemTypes that do not match. That is, it tries to prevent you from associating a bug with a task or a task with a requirement, etc.

Although it is valid for assignments to not match for any given process template, I have seen your scenario occur most often when a custom template is being used and the Connector has not been conifgured for that tempalte. When this occurs, the Connector can not locate any WorkItemType mappings and therefore nothing appears in any of the dropdown boxes.
Sep 25, 2007 at 10:17 AM
Hi! Thank you for help. I've created new tfs project on standard template and now Connector works.

But now I have one problem and one question.
I created new assignment in ProjectServer poject and changed "AutoSync" to "yes", but Connector didn't create new WorkItem from it in TFS. When I tried to create association manually Connector locked project association and then w3wp process failed. After some time I've unlocked association manually through database and Connector works without troubles now. I can only provide error messages from Project Server machine, because there were no errors on TFS and Error log on Connector machine in corrupted for some reason.

Event Type: Error
Event Source: Office SharePoint Server
Event Category: Project Server Server-Side Events
Event ID: 6663
Date: 25.09.2007
Time: 11:47:09
User: N/A
Computer: ALPHAVM
Description:
Event Handler \Microsoft.Vsts.Ranger.Connector.PS2007EventHandlers.ProjectEventsReceiver\ threw an exception: Requested registry access is not allowed.
at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData)
at System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName)
at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID)
at Microsoft.Vsts.Ranger.Connector.PS2007EventHandlers.ProjectEventsReceiver.OnCheckIn(PSContextInfo contextInfo, ProjectPostEventArgs e)

That was the problem.

The question is: how can I configure Connector to synchronize different fields without working with xml itself.
I think, that I misunderstand something. When I open Connector Web Service\web.config in Enterprise Library Configuration tool, as I've seen it in a webcast, there is no TFS Connector Application Block there.
When I go to Website->Asp.Net Configuration of Connector Web Service I can not find anything about configuration, too.
What am I doing wrong?
Sep 26, 2007 at 8:24 AM
I got errors, that occured on Connector machine:


Event Type: Error
Event Source: Enterprise Library Logging
Event Category: None
Event ID: 100
Date: 25.09.2007
Time: 11:51:00
User: N/A
Computer: ALPHA
Description:
Timestamp: 25.09.2007 8:51:00
Message: HandlingInstanceID: ca468009-53ba-46a1-9fb3-e1c7df41f55e
An exception of type 'System.Data.SqlClient.SqlException' occurred and was caught.
----------------------------------------------------------------------------------
09/25/2007 11:51:00
Type : System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Source : .Net SqlClient Data Provider
Help link :
Errors : System.Data.SqlClient.SqlErrorCollection
Class : 11
LineNumber : 0
Number : -2
Procedure :
Server : alpha\
State : 0
ErrorCode : -2146232060
Data : System.Collections.ListDictionaryInternal
TargetSite : Void OnError(System.Data.SqlClient.SqlException, Boolean)
Stack Trace : at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at System.Data.SqlClient.SqlCommand.DeriveParameters()
at System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand command)
at Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase.DeriveParameters(DbCommand discoveryCommand)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.DiscoverParameters(DbCommand command)
at Microsoft.Practices.EnterpriseLibrary.Data.ParameterCache.SetParameters(DbCommand command, Database database)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetStoredProcCommand(String storedProcedureName, Object[] parameterValues)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(String storedProcedureName, Object[] parameterValues)
at Microsoft.Vsts.Ranger.Connector.PS2007Providers.Data.AssignmentAssociationsData.Create(AssignmentAssociation association)
at Microsoft.Vsts.Ranger.Connector.WebServices.PS2007ProviderAdministration.<>c_DisplayClass16.<CreateAssignmentAssociations>b_12(AssignmentAssociation assignmentAssociation)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Microsoft.Vsts.Ranger.Connector.WebServices.PS2007ProviderAdministration.CreateAssignmentAssociations(List`1 assignmentAssociations)

Additional Info:

MachineName : ALPHA
TimeStamp : 25.09.2007 8:51:00
FullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
AppDomainName : /LM/W3SVC/1/Root/Connector Web Service-2-128351833167847439
ThreadIdentity : APPSYS\TFSSETUP
WindowsIdentity : APPSYS\TFSSETUP

Category: General
Priority: 0
EventId: 100
Severity: Error
Title:Enterprise Library Exception Handling
Machine: ALPHA
Application Domain: /LM/W3SVC/1/Root/Connector Web Service-2-128351833167847439
Process Id: 3376
Process Name: c:\windows\system32\inetsrv\w3wp.exe
Win32 Thread Id: 3428
Thread Name:
Extended Properties: HelpLink.ProdName - Microsoft SQL Server
HelpLink.ProdVer - 09.00.1399
HelpLink.EvtSrc - MSSQLServer
HelpLink.EvtID - -2
HelpLink.BaseHelpUrl - http://go.microsoft.com/fwlink
HelpLink.LinkId - 20476




Event Type: Warning
Event Source: W3SVC
Event Category: None
Event ID: 1011
Date: 25.09.2007
Time: 11:55:44
User: N/A
Computer: ALPHA
Description:
A process serving application pool 'ConnectorAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '3376'. The data field contains the error number.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 6d 00 07 80 m..€


Thanks
Oct 16, 2007 at 10:31 PM
"Connector has not been conifgured for that template."

I'm currently using a custom template and I'm having the problem where I have no Tasks to select.

How would someone go about configuring the connector for a custom template?
Oct 17, 2007 at 7:24 AM
Hi!
To configure Connector to custom template I've modified web.config file in Microsoft Project Server 2007 Connector\Connector Web Service folder.
I needed CMMI 4.1 support, since it is quite similar to CMMI 4.0 I've copy-pasted CMMI 4.0 block and changed template's name.
If your template is more different from CMMI and Agile you'll have to do some more work.
Oct 17, 2007 at 3:13 PM
Edited Oct 17, 2007 at 3:16 PM
We made very small changes (all at the form level) to the "MSF for Agile Software Development - v4.0" I'll copy and paste him with a rename and see if that gives us any help.

EDIT: That worked!
Oct 17, 2007 at 3:21 PM
I've noticed that in my WorkItem drop down I'm seeing "most" of my bugs / tasks. What are the rules for what is displayed in this list?
Coordinator
Feb 4, 2008 at 6:27 PM
The Connector tries to help you associate WorkItems of like type between the two systems. You will see a new custom field in Project Server called "Enterprise Work ItemType" (EWIT). By default, this value is Task. When you try to associate Work Items and assignments, the Connector only shows you assignments that are of the same type according to its mapping. For Agile, by default, Task->Task, Bug->Bug, Scenario->Requirement. This is fully customizable in the Connector mapping. However, this is why you will only see Assignments of EWIT Task when a WorkItem of WIT task is selected and only see Requirements EWIT when a Scenario WIT is selected.

HTH,
Lenny