The function GetProjectNodeInfoFromReportFolder() is typically used to identify
where the top data node is for an SSRS report.

So the project GUID and/or the collection GUID.

The table that has this data in it is DimTeamProject found in the TFS warehouse.

Using this table given a ‘report path’ an appropriate Team Project can be identified.

DimTeamProject is what GetProjectNodeInfoFromReportFolder() uses to get the project
node info for a path.

Here are a few notes around the use of GetProjectNodeInfoFromReportFolder().

Collecting the report path from the SSRS Built-in Field called ReportFolder.

A report path is required as a parameter to GetProjectNodeInfoFromReportFolder().
We need to get this from somewhere and set this path into a parameter (@vReportPath
in this example) to use in the call.

Conveniently SSRS provides us with a way to do this using one of its Built-in-Fields;
ReportFolder.

Note that in this example the report author has provided an alternative through the
ExplicitProject parameter which is used to supply the report path if the reporting
service Built-in Field called ReportFolder has no value; this will be
the case when working on a report locally.

The call to GetProjectNodeInfoFromReportFolder() with report path parameter.

This call is made after the parameter has been been set; @vReportPath in this example.
ProjectGuid, ProjectNodeName and ParentNodeSK (which usefully is the SK of the collection)
are returned. These returned values can then be used to update SSRS parameters for
use in subsequent SQL queries for a report.

The DimTeamProject table.

Whenever a Team Project is created it is allocated a named folder in Reporting Service;
the ReportPath.

Reporting Services makes this available to a running report as the global Built-in
Field called ReportFolder.

The Report Folder.

The value for the SSRS global Built-in Field called ReportFolder is
the path/location of the uploaded rdl files as below in Reporting Services.

Concerning GetProjectNodeInfoFromReportFolder().http://blogs.ripple-rock.com/peterhaynes/PermaLink,guid,6618c76d-42d9-4105-acec-c11c1e53f962.aspxhttp://blogs.ripple-rock.com/peterhaynes/2015/05/18/ConcerningGetProjectNodeInfoFromReportFolder.aspx
Mon, 18 May 2015 09:06:05 GMT<p>
&nbsp;
<p>
The function <b>GetProjectNodeInfoFromReportFolder()</b> is typically used to identify
where the <i><u>top data node is for an SSRS report</u></i>.
<ul>
<li>
So the project GUID and/or the collection GUID.</li>
</ul>
<p>
The table that has this data in it is <b>DimTeamProject </b>found in the TFS warehouse.
<p>
Using this table given a ‘report path’ an appropriate Team Project can be identified.
<p>
DimTeamProject is what GetProjectNodeInfoFromReportFolder() uses to get the project
node info for a path.
<p>
Here are a few notes around the use of GetProjectNodeInfoFromReportFolder().
<h1>&nbsp;
</h1>
<h4>Collecting the report path from the SSRS <b>Built-in Field</b> called <b>ReportFolder.</b>
</h4>
<p>
A report path is required as a parameter to GetProjectNodeInfoFromReportFolder().
We need to get this from somewhere and set this path into a parameter (@vReportPath
in this example) to use in the call.
</p>
<p>
Conveniently SSRS provides us with a way to do this using one of its Built-in-Fields;
ReportFolder.
</p>
<p>
Note that in this example the report author has provided an alternative through the
ExplicitProject parameter which is used to supply the report path if the reporting
service <b>Built-in Field</b> called <b>ReportFolder </b>has no value; this will be
the case when working on a report locally.
</p>
<p align="center">
<a href="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_6.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_thumb_2.png" width="620" height="445"></a>
</p>
<p>
<b></b>
<h1>&nbsp;
</h1>
<h5>The call to <b>GetProjectNodeInfoFromReportFolder()</b> with report path parameter.
</h5>
<p>
This call is made after the parameter has been been set; @vReportPath in this example.&nbsp;
ProjectGuid, ProjectNodeName and ParentNodeSK (which usefully is the SK of the collection)
are returned. These returned values can then be used to update SSRS parameters for
use in subsequent SQL queries for a report.
<p>
<b></b>
<h1><a href="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_4.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="image" src="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_thumb_1.png" width="632" height="74"></a>
</h1>
<h5>The <b>DimTeamProject</b> table.
</h5>
<p>
Whenever a Team Project is created it is allocated a named folder in Reporting Service;
the ReportPath.
<p>
Reporting Services makes this available to a running report as the global <b>Built-in
Field</b> called <b>ReportFolder.</b>
<p>
<b></b>
<h1>&nbsp;<a href="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_2.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="image" src="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_thumb.png" width="641" height="235"></a>
</h1>
<h5>The Report Folder.
</h5>
<p>
The value for the SSRS global <b>Built-in Field</b> called <b>ReportFolder</b> is
the path/location of the uploaded rdl files as below in Reporting Services.
<p>
<a href="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_8.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="image" src="http://blogs.ripple-rock.com/peterhaynes/content/binary/Windows-Live-Writer/9704a5ecf677_8A20/image_thumb_3.png" width="625" height="530"></a><img width="0" height="0" src="http://blogs.ripple-rock.com/peterhaynes/aggbug.ashx?id=6618c76d-42d9-4105-acec-c11c1e53f962" />http://blogs.ripple-rock.com/peterhaynes/CommentView,guid,6618c76d-42d9-4105-acec-c11c1e53f962.aspxReportsSSRSTFShttp://blogs.ripple-rock.com/peterhaynes/Trackback.aspx?guid=2a62c893-bcb7-4d51-ad6f-da866d160bd7http://blogs.ripple-rock.com/peterhaynes/pingback.aspxhttp://blogs.ripple-rock.com/peterhaynes/PermaLink,guid,2a62c893-bcb7-4d51-ad6f-da866d160bd7.aspxPeter Hayneshttp://blogs.ripple-rock.com/peterhaynes/CommentView,guid,2a62c893-bcb7-4d51-ad6f-da866d160bd7.aspxhttp://blogs.ripple-rock.com/peterhaynes/SyndicationService.asmx/GetEntryCommentsRss?guid=2a62c893-bcb7-4d51-ad6f-da866d160bd7

TFS update 4 (and possibly previous updates) run code coverage works
one way and not the other.

I turned on code coverage as below and got no results with the TFS
build.

The following way using the Add/Edit dialog from the ellipsis (…) as below
does work.

So editing the build definition in this specific way. Process ->
1.Automated tests –> 1.Test source. Then using the ellipsis (…) pop up the Add/Edit
dialog and then under Options dropdown change it from None to Enable
Code Coverage.