New and improved Engineering Workflow Management for Visual Studio

IBM® Engineering Workflow Management (formerly known as IBM Rational® Team Concert) introduced support for Microsoft® Visual Studio 2019 in the 6.0.6.1 release. In the 7.0 release, we enhanced the experience further with improved performance and newer extensibility features, not specific to Visual Studio 2019, but all supported Visual Studio versions. The first part of this article talks about the rationale behind supporting Visual Studio 2019 in phases and provides tips to work with Visual Studio 2019 until you upgrade to the 7.0 release.

While we could have updated just the load behavior of our extensions based on Microsoft’s recommendation, we took this opportunity to evolve with the latest changes in Visual Studio extensibility. Engineering Workflow Management (EWM) extensions now load asynchronously in the background, and though the Source Control extension is exempt from such a restriction, we improved its startup and running performance significantly. The constraint to upgrade to the Visual Studio 2015 SDK meant we could implement newer extension points, like the Pending Changes filter in Solution Explorer or the Publish compartment on the status bar of Visual Studio.

Asynchronous background loading

Starting 7.0 release, EWM extensions load asynchronously in the background resulting in faster startup and solution load times for Visual Studio. Visual Studio 2015 added support for asynchronous loading and the same was mandated in Visual Studio 2019. Of course, from a technical perspective, this had us redesign our extensions, including breaking assumptions around their availability and inter dependency during Visual Studio startup, followed by a thorough testing on all supported versions. It also meant we had to drop support for Visual Studio 2012 and 2013 since they only allowed synchronous loading. For those versions, since client N-1 compatibility is supported, you can always connect to an upgraded server from an older client.

Visual Studio versions supported in EWM 7.0

Better startup performance

While we switched to asynchronous load for the other extensions, our Source Control extension is exempt from the asynchronous auto-load restrictions, since it’s required to be loaded before a solution is opened. However, we analyzed and eliminated its impact on Visual Studio’s startup in accordance to Microsoft’s startup and solution load performance guidelines.

Startup performance comparison between 6.0.6.1 and 7.0

Improved UI Responsiveness

Although we fixed the startup performance, we found certain Source Control actions to be causing UI unresponsiveness while self-hosting on Visual Studio 2019. We tried to identify as many trigger scenarios and address them by following Microsoft’s guidelines for diagnosing UI delays. We understand that it is not possible that we discovered all of them, and the effort will continue in future product releases. In 7.0, if you see a UI delay notification in Visual Studio involving any of the EWM extensions, report the scenario here.

Enhanced source control integration

With every new release of Visual Studio, we identify potential new ways of extending its features which we can adopt when this version becomes our minimum supported version. Now that we upgraded to the Visual Studio 2015 SDK, we prioritized these features from our backlog.

Pending Changes filter in Solution Explorer

The Solution Explorer shows different glyphs to identify the source control status of files, and the Pending Changes view is where you see all the modified files. Visual Studio introduced filters in the Solution Explorer, one of which was the Pending Changes Filter. With it, you can now filter the Solution Explorer to show only unresolved and outgoing changes belonging to the solution that is shared in Jazz Source Control.

Pending Changes Filter shows unresolved and outgoing changes in Solution Explorer

Add to Source Control from status bar

Visual Studio 2015 Update 2 added the new Publish button (Add to Source Control in later Visual Studio versions) on the status bar that provides a quick and easy way to get solutions into source control. This received a mixed reaction from the Visual Studio community, to the extent that some users even found ways to hide the button. But, the button does draw attention towards it as soon as you create a new solution. New users of the EWM client for Microsoft Visual Studio expected the option to share a solution with Jazz Source Control from the status bar. This is in addition to sharing a solution from the Solution Explorer menu, the toolbar, or the main menu of Visual Studio. The Jazz Source Control option is available regardless of whether it is set as the current source control provider in Visual Studio.

Share new projects in Jazz Source Control from Visual Studio’s status bar


To ensure the right user experience, we have raised some concerns with Microsoft based on what we saw as gaps in the publish workflow that didn’t have reasonable workarounds. If you agree, feel free to “up vote” our issues on the Microsoft portal. Here are the links for your reference:

Summary

This concludes the second part of the two-part article aimed at familiarizing users with our support strategy in general, and the recent advancements,  particularly in the Engineering Workflow Management client for Visual Studio. These are in addition to the new features that we continue to add in Visual Studio keeping parity with the Eclipse client, where applicable. Download IBM Engineering Workflow Management 7.0 to try out this integration. You can always ask questions in the forum and submit work items if you need to.


For more information


About the author

Priyadarshini Gorur is the technical lead on the IBM Engineering Workflow Management .NET clients team. She can be contacted at priya_gorur@in.ibm.com.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Feedback
Was this information helpful? Yes No 0 people rated this as helpful.