Nothing happens on clicking TFS Sync Information: keeps on showing "loading/waiting image"

7 posts, 1 answers
  1. Abhay
    Abhay avatar
    11 posts
    Member since:
    Jan 2011

    Posted 17 Apr 2012 Link to this post

    Hello,

    We are using the licensed version of TeamPulse.

    We tried doing TFS Sync after configuring the TFS service with the proper settings as defined in this documentation. But when we click on "TFS Syn Information" icon, nothing happens except that a waiting/loading image appears which never goes away even after waiting for hours. I have attached the snapshot of that. Also, I have pasted the contents from the log file on the server that hosts TeamPulse.

    Can you please guide us how to proceed further?

    Thanks,
    ~Abhay

    2012-04-17 17:45:17,633 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:45:17,633 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:45:17,633 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:45:17,633 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:46:17,663 [30] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:46:17,663 [30] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:46:17,695 [30] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:46:17,695 [30] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:47:17,708 [5] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:47:17,708 [5] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:47:17,724 [5] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:47:17,724 [5] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:48:17,700 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:48:17,700 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:48:17,700 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:48:17,716 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:49:17,708 [32] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:49:17,708 [32] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:49:17,708 [32] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:49:17,723 [32] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:50:17,723 [35] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:50:17,723 [35] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:50:17,723 [35] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:50:17,723 [35] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:51:17,683 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:51:17,683 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:51:17,683 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:51:17,699 [27] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:52:17,691 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:52:17,691 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:52:17,707 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:52:17,707 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:53:17,715 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:53:17,715 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:53:17,730 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:53:17,730 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:54:17,727 [31] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:54:17,727 [31] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:54:17,742 [31] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:54:17,742 [31] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:55:17,719 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:55:17,719 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:55:17,719 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:55:17,734 [10] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:56:17,789 [23] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:56:17,789 [23] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:56:17,789 [23] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:56:17,789 [23] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:57:17,806 [37] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:57:17,806 [37] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:57:17,822 [37] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:57:17,822 [37] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:58:17,830 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:58:17,830 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:58:17,845 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:58:17,845 [18] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-17 17:59:17,853 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-17 17:59:17,868 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-17 17:59:17,868 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-17 17:59:17,884 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  




  2. Elena Peneva
    Admin
    Elena Peneva avatar
    97 posts

    Posted 18 Apr 2012 Link to this post

    Hello Abhay,

        From the attached screenshot I see that you are logged in with a user without Edit Project Settings permission. By default that permission is added to the project administrator group so in order to connect TeamPulse project to tfs one you will need to log in with user with the appropriate (project administrator) permissions. 

        Once the project is connected to the desired tfs one, each project user with any edit item (story, bug, issue or risk) permission will be able to perform project sync - usually that will be users in the Team Member permission group.

        Please contact us if you have any further questions or problems.

    Kind regards,
    Elena Peneva
    the Telerik team
  3. Abhay
    Abhay avatar
    11 posts
    Member since:
    Jan 2011

    Posted 18 Apr 2012 Link to this post

    Hello Elena,

    Thanks for your response.

    I have tried the following things but none of them solved the issue. I still face the same challenge.
    1. Tried setting up the TFS connection with account that has all the possible permissions including these. I have also attached a snapshot of the permissions that have been granted to this account on TFS.
      • Edit collection-level information
      • Make requests on behalf of others.
    2. Restarted the TeamPulse Integration Service
    3. Tried connecting to TFS with and without domain name

    Is there anything else that I can try?

    I have attached the log messages for your perusal.

    Thanks,
    ~Abhay

    2012-04-18 09:38:49,738 [31] INFO  Service stopping.  
    2012-04-18 09:38:49,753 [31] INFO  Service stopped.  
    2012-04-18 09:38:51,957 [4] INFO  Service starting.  
    2012-04-18 09:38:52,098 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module CommonModule initializing.  
    2012-04-18 09:38:52,270 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module CommonModule initialized.  
    2012-04-18 09:38:52,285 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module CoreModule initializing.  
    2012-04-18 09:38:52,301 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module CoreModule initialized.  
    2012-04-18 09:38:52,301 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module ReportingModule initializing.  
    2012-04-18 09:38:52,395 [4] DEBUG TeamPulse.Integration.Core.Scheduling.TimeOfDaySchedule - Timer created and set to run every 00:01:00.  
    2012-04-18 09:38:52,426 [4] DEBUG TeamPulse.Integration.Core.Reporting.ReportSchedule - TimeOfDay created and set to run at 01:00:00.  
    2012-04-18 09:38:52,442 [4] DEBUG TeamPulse.Integration.Core.Reporting.ChartGenerationService - Initializing chart generation service.  
    2012-04-18 09:38:52,598 [4] DEBUG TeamPulse.Integration.Core.Reporting.ChartGenerationService - Initialized chart generation service.  Chart generator count = 2.  
    2012-04-18 09:38:52,613 [4] DEBUG TeamPulse.Integration.Core.Reporting.ReportSchedule - Timer started.  
    2012-04-18 09:38:52,613 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module ReportingModule initialized.  
    2012-04-18 09:38:52,613 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module HistoryModule initializing.  
    2012-04-18 09:38:52,645 [4] DEBUG TeamPulse.Integration.Core.Scheduling.TimeOfDaySchedule - Timer created and set to run every 00:01:00.  
    2012-04-18 09:38:52,660 [4] DEBUG TeamPulse.Integration.Core.History.HistorySchedule - TimeOfDay created and set to run at 00:00:00.  
    2012-04-18 09:38:52,660 [4] DEBUG TeamPulse.Integration.Core.History.HistoryGenerationService - Initializing history generation service.  
    2012-04-18 09:38:52,692 [4] DEBUG TeamPulse.Integration.Core.History.HistoryGenerationService - Initialized history generation service.  History generator count = 10.  
    2012-04-18 09:38:52,707 [4] DEBUG TeamPulse.Integration.Core.History.HistorySchedule - Timer started.  
    2012-04-18 09:38:52,707 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module HistoryModule initialized.  
    2012-04-18 09:38:52,707 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module NotificationsModule initializing.  
    2012-04-18 09:38:52,738 [4] INFO  TeamPulse.Integration.Core.Notifications.NotificationsModule - Initializing Service.  
    2012-04-18 09:38:53,207 [4] DEBUG TeamPulse.Integration.Core.Notifications.NotificationMonitoringService - Initializing Notification Monitoring Service.  
    2012-04-18 09:38:53,739 [4] INFO  TeamPulse.Integration.Core.Notifications.NotificationMonitoringService - Removing notifications that are older than 2 days.  
    2012-04-18 09:38:53,864 [4] INFO  TeamPulse.Integration.Core.Notifications.NotificationMonitoringService - Notifications are disabled.  
    2012-04-18 09:38:53,864 [4] INFO  TeamPulse.Integration.Core.Notifications.NotificationMonitoringService - The notification service has never been enabled.  
    2012-04-18 09:38:53,864 [4] INFO  TeamPulse.Integration.Core.Notifications.NotificationsModule - Service Initialized.  
    2012-04-18 09:38:53,864 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module NotificationsModule initialized.  
    2012-04-18 09:38:53,879 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module SynchronizationModule initializing.  
    2012-04-18 09:38:53,879 [4] INFO  TeamPulse.Integration.Core.Synchronization.SynchronizationModule - Initializing Synchronization Service.  
    2012-04-18 09:38:53,973 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - AutoSync Timer Started.  
    2012-04-18 09:38:53,973 [9] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncOnBackgroundThread - Waiting for next sync...  
    2012-04-18 09:38:53,989 [4] INFO  TeamPulse.Integration.Core.Synchronization.SynchronizationModule - Synchronization Service Initialized.  
    2012-04-18 09:38:54,004 [4] INFO  TeamPulse.Integration.Common.Infrastructure.Bootstrapper - Module SynchronizationModule initialized.  
    2012-04-18 09:38:54,004 [4] INFO  Service started.  
    2012-04-18 09:39:27,041 [8] DEBUG TeamPulse.Integration.TeamFoundationServer.TfsHelperManager - Connecting to http://irwtfw01:8080/tfs/DefaultCollection as <domain>\<userid>.  
    2012-04-18 09:39:54,006 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-18 09:39:54,022 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-18 09:39:54,022 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-18 09:39:54,037 [6] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.  
    2012-04-18 09:40:54,014 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Processing next sync in queue.  
    2012-04-18 09:40:54,061 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Nothing is currently syncing. Checking for queued syncs.  
    2012-04-18 09:40:54,061 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Current sync queue: <empty>.  
    2012-04-18 09:40:54,061 [4] DEBUG TeamPulse.Integration.Core.Services.SynchronizationService - ProcessNextSyncInQueue - Next item to sync: <none>.

     

  4. Elena Peneva
    Admin
    Elena Peneva avatar
    97 posts

    Posted 19 Apr 2012 Link to this post

    Hello Abhay,

        I am sorry for not being clear enough in my previous answer. All permissions and permission groups I mentioned are for TeamPulse users. 

        By default the user who created TeamPulse project is granted Project Administrator permissions and you should be logged in with project administrator user in TeamPulse to connect to tfs.

        Here is link to our documentation explaining TeamPulse permissions in more details. To learn more about granting permission to project users you may check the following page.

        I have also attached 3 screenshots to show you how the screen should look like for users in different TeamPulse permission groups before the project is connected to tfs.

    Kind regards,
    Elena Peneva
    the Telerik team
  5. Abhay
    Abhay avatar
    11 posts
    Member since:
    Jan 2011

    Posted 24 Apr 2012 Link to this post

    Phew! I have spent almost close to two working days already on Team Pulse and TFS Sync. But I should say I have learnt a lot in last two days from TFS Process Template, Areas, Iterations and myriad configurability options on Team Pulse and thus there is no regret.

    The various options that you guys have provided to configure Team Pulse, especially for TFS synchronization, is really commendable and inspiring. They make Team Pulse a really flexible application.

    For rest of the post, please assume


    TP = Team Pulse
    TFS = Team Foundation Server
    TFS Project = TFS Team Project
    Project Template = Process Template

    Hi Elana,

    After your response, I did make myself Project Administrator on TP and I could see the option to select the TFS Project and initiate TFS sync.

    Challenge 1:

    I found that the process template on TM and TFS didn’t match. The TFS project was based out of “MSF for Agile Software Development” whereas the Team Pulse project we have, was using “Team Pulse” process template. Since TFS project is very old, I decided to edit the process template for the TP project (which unlike TFS project, we had created just few days back). There were two options:

    1. I could have deleted the existing TP project and created a new one from scratch using “Agile” process template. But then I would have had to add all the user stories and tasks, which we already had, again into this new project.
    2. To my surprise and delight I found this KB article that instructed how to edit the process template of the existing project to change it to another one (in my case from “Team Pulse” to “MSF for Agile Software Development” template).


    I decided to go with option (2) and performed all the steps that were mentioned in the above
    KB article.

    Challenge 2:

    I tried to sync one of the existing user stories but I got sync errors. On checking the Log Files, I found that since the tasks were created by another user, and since I was trying to connect to (and sync with) TFS with my credential, my user required having the following permission set in TFS.

     “Make requests on behalf of others”


    I granted this permission to my user. And I tried again. But to my dismay, I got the following sync error again. (However this time the
    Log File didn’t complain about the missing permission)

    Work item has invalid fields. (FieldName=’State’ | Value=’Not Done’ | Status = ‘InvalidListValue’)

    >>SyncErrorMessage.jpg <<

    During both the attempts, a blank user story and some blank tasks got created in TFS. I cleaned them from TFS (using witadmin destorywi TFS command). And I also deselected them from TP “What am I Syncing” list. However mere clearing off the selection didn’t remove their association with TFS as I could still see the TFS ID for them in the “What am I Syncing” list. Thus I ran the following queries in the TP database to get rid of the synchronization history.

    DELETE
    FROM [TeamPulse].[dbo].[KnownRevision]
       
    DELETE
    FROM [TeamPulse].[dbo].[SynchronizationError]
     
    DELETE
    FROM [TeamPulse].[dbo].[SynchronizationStatus]

    Challenge 3:

    After repeated attempts, when the sync didn’t happen, I thought I would try with new user stories and tasks. Thus I added a new user story and also added some new tasks to that user story.

    This time too sync failed with error. But the error message was different. It was complaining about Attachment Linking. I resolved this issue by setting the Team Pulse Host URL on “TeamPulse Settings” page.

    Challenge 4:

    I tried to sync again. The above error went away but it was replaced by another error

    “Work item has invalid fields. (FieldName=’Assigned To’ | Value=’John Smith’ | Status=’InvalidListValue’)”

    I resolved the above issue using this thread.

    I tried syncing again and finally, the new user story and the tasks within it got synced successfully without any errors.

    Challenge 5:

    As I had mentioned earlier that the TFS project that we have is very old and has lot of iterations that I don’t want to see in TP. Thus I needed a way to filter out those iterations to stop them from coming within TP. This article helped me achieve that.

     

    ** Challenge 2 still not resolved **

    So, now there is only one issue that is pending and that is how to sync the already existing user stories and tasks that were there before I changed the process template using the KB article.

    I checked the log file, and I see the following lines, which seems to show that TFS sync is still picking the old Team Pulse template.


    2012-04-23 17:36:27,192 [9] DEBUG  - Created SyncAction of ChangeType 'Add' for EntityType 'Story' with Id '10'.  
    2012-04-23 17:36:27,192 [9] DEBUG  - ... Added SyncActionField for target field name 'System.Title' with desired value of 'System defines some default worklists based on the roles (that can't be deleted or renamed like customized worklists).'.  
    2012-04-23 17:36:27,192 [9] DEBUG  - ... Added SyncActionField for target field name 'System.State' with desired value of 'Not Done'.  
    2012-04-23 17:36:27,208 [9] DEBUG  - ... Added SyncActionField for target field name 'System.Description' with desired value of ''.  
    2012-04-23 17:36:27,224 [9] DEBUG  - Created SyncAction of ChangeType 'Add' for EntityType 'Task' with Id '49'.  
    2012-04-23 17:36:27,239 [9] DEBUG  - ... Added SyncActionField for target field name 'System.Title' with desired value of 'Lab Worklist - UI'.  
    2012-04-23 17:36:27,255 [9] DEBUG  - ... Added SyncActionField for target field name 'ParentStoryID' with desired value of '10'.  
    2012-04-23 17:36:27,255 [9] DEBUG  - ... Added SyncActionField for target field name 'System.State' with desired value of 'Not Done'.  
    2012-04-23 17:36:27,271 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Story' with Id '10'.  
    2012-04-23 17:36:27,271 [9] DEBUG  - ... Added SyncActionField for target field name 'System.State' with desired value of 'Active'.  
    2012-04-23 17:36:27,302 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Task' with Id '49'.  
    2012-04-23 17:36:27,302 [9] DEBUG  - ... Added SyncActionField for target field name 'System.State' with desired value of 'Active'.  
    2012-04-23 17:36:27,317 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Story' with Id '10'.  
    2012-04-23 17:36:27,317 [9] DEBUG  - ... Added SyncActionField for target field name 'System.IterationPath' with desired value of 'Project\P2b - HemePath (Flow)\Iteration 1'.  
    2012-04-23 17:36:27,349 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Task' with Id '49'.  
    2012-04-23 17:36:27,349 [9] DEBUG  - ... Added SyncActionField for target field name 'System.IterationPath' with desired value of 'Project\P2b - HemePath (Flow)\Iteration 1'.  
    2012-04-23 17:36:27,364 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Story' with Id '10'.  
    2012-04-23 17:36:27,364 [9] DEBUG  - ... Added SyncActionField for target field name 'System.AreaPath' with desired value of 'All'.  
    2012-04-23 17:36:27,380 [9] DEBUG  - Created SyncAction of ChangeType 'Edit' for EntityType 'Task' with Id '49'.  
    2012-04-23 17:36:27,396 [9] DEBUG  - ... Added SyncActionField for target field name 'System.AreaPath' with desired value of 'All'.  
    2012-04-23 17:36:27,396 [9] DEBUG TeamPulse.Integration.Core.Synchronization.Providers.TeamPulse.SyncProcess.ProjectSyncProcess - Generate changeset for teampulse.

    I have verified several times that the current TP project is using “Agile” process template.

    1. By checking the “Project Template” textbox on “Project Settings” page.
    2. By checking the “Project Settings” XML that shows Name=”Agile” in the <ProjectSettings> tag.
    3. By checking the “Synchronization Mappings” XML that shows “TfsProcessTemplateName” = “Agile”.

    I also force changed the statuses for tasks and stories in HistoricalTasks and HistoricalStories tables to “Active” and “Close” (for Agile) where the statuses were displaying “Not Done” or “In Progress” or “Done”. But this didn’t solve the issue.

    I restarted the TFS Integration Service and also the website that hosts Team Pulse but neither of them helped. I also reset the project synchronization status. This didn't help either.

    Can you please guide me?


    Thanks a lot for your patience,

     
    ~Abhay

  6. Answer
    David Harris
    Admin
    David Harris avatar
    1 posts

    Posted 24 Apr 2012 Link to this post

    Hi Abhay,

    I would like to start off by saying... wow! This is the most impressively documented and described support post I have ever had the pleasure to respond to. So thank you for your diligent efforts!

    Now, on to the helpful portion of my response :)

    In regards to Challenge 2, what is happening is that TeamPulse is replaying the history of all status transitions made on your existing stories as they happened in order to sync them to TFS. We do this because TFS has rules on state transitions that must be followed, so if a story has gone through 3 different statuses in TeamPulse since the last time it was synced (if ever) to TFS, then we must save each state change to TFS independently to satisfy the transition rules.

    This means that your original status transitions were made when your TeamPulse project was running under the old TeamPulse template. These values will not be valid within your Agile TFS project, which is why they result in the errors that you are seeing.

    Fortunately, there is a way to get past this. When a sync action fails, TeamPulse provides the option to Ignore the action that generated the failure. In your scenario this is the best option to take, as it will then not attempt to replay that state transition again on your subsequent sync. Sometimes you may have to go through several 'rounds' of ignoring and syncing as each individual invalid state transition is attempted to be synced, but eventually you should reach the point where all these invalid transition errors are ignored and no longer appearing.

    At this point you still may have the problem that some items in TeamPulse are in a current status that is not a valid state in the Agile template. In this scenario, while you will not be receiving sync errors, the status value will not be the same between each system (for example it may say "Not Done" in TeamPulse as that was the old TeamPulse project template initial status, but the item that was created in TFS will be in "Active" state as that is the initial state value for the Agile template).

    In order to get these values in sync, TeamPulse will always allow you to choose the valid initial status value for your current project template (in your case Agile) regardless of whether that is technically a valid transition. So you should be able to change your items in TeamPulse to "Active", which should then match the value of the matching items in TFS. From this point, any further transitions will be valid and will be synced to TFS properly.

    Another method for getting the status values in sync would be to set the state value in TFS to the desired value, and then initiating a sync. If a change conflict is surfaced, choose to take the TFS value and re-sync. TeamPulse will always accept the TFS value and from this point on your items will be in sync. All future changes made in either system will be valid state transitions since they are now using the same project template, and you should not see any more invalid state value errors.

    Please let us know if this information allows you to get past Challenge 2, or if you need further assistance.

    And thanks again for your fantastic attention to detail :)

    Regards,
    David Harris
    the Telerik team
  7. Abhay
    Abhay avatar
    11 posts
    Member since:
    Jan 2011

    Posted 25 Apr 2012 Link to this post

    Hi David,

    I would like to start off by saying..."Hurray!".

    Your suggested solution worked like a charm. I did have to go through several rounds of "ignoring changes" but then everthing was golden. All the user stories and tasks under those got synched successfully.

    Kudos to you and all you guys who are working so diligently to address concerns of all your customers (existing or to-be) through your amazing product support and detailed documentation.

    And thanks a lot for the good words. They mean a lot to me.

    ~Abhay


Back to Top