Installation

Install the msi, default location is c:\Program Files\AskeFis\TfsRollUp. The TfsRollUp.Core.* files are installed to the Plugins folder, at the default location c:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\bin\Plugins
Please note that the install/uninstall will restart Tfs!

Configuration

Not much, TfsRollUp is super flexible, as it uses the fields in workitem definition to determine if there's work to be done. All workitems with fields prefixed with Alm.RollUp. are processed by the plugin.

Troubleshooting

TfsRollUp uses the TeamFoundationTrace api, so adjusting the Trace settings in the Tfs web.config will add output from TfsRollUp to any trace listeners. See this post http://blogs.msdn.com/b/hongyes/archive/2009/12/04/enable-tfs-trace.aspx for info, although for Tfs 2008, it's still valid for Tfs 2010. TfsRollUp uses the API and General switches, so set them to 4 to see the Trace output.

TfsRollUp writes to the eventlog when it cannot save one or more workitems.

FAQ

  • Where is the configuration file? - There is none. TfsRollUp is very simple, all you need is Parent-Child linked work items and the Alm.RollUp. field on relevant work item definitions.
  • Will the plugin impact Tfs? - Absolutely, additional processing must be done to calculate the full tree (only the one containing the edited workitem).
  • Will the rollup values be guaranteed to be consistent? - Nope, there are no guaranties. However, much effort is spent in the design to avoid BatchSaveErrors.
  • Will a publish from Excel break the plugin? - Depends, if you publish a million rows, then probably yes. The design of the plugin tries to mitigate the "write-storm" that publishing workitems causes.
  • Can I stop the plugin without removing the plugin dll thus causing a Tfs restart? - Yep, in PowerShell write: $(new-object TfsRollUp.Client.ManagerClient).EnableRollUpProcessing($false)
  • Will I be able to see the calculation tree? - Yep, in PowerShell write $(new-object TfsRollUp.Client.ManagerClient).MonitorWorkItem({workItemId}, $true). When {workItemId} is seen by the plugin, a DGML file (use VS to open it) is generated and attached to the workitem root that shows the full tree. And yes, the link in the DGML will send you to the workitem itself :-)

Calculation tree

Performance

See Performance for numbers

Last edited Aug 7, 2011 at 10:43 PM by GertGregers, version 32

Comments

No comments yet.