views:

188

answers:

2

I have a report that contains a link to a Word document. I have created an Action on the textbox that is Jump to URL, with the URL populated.

I have a PerformancePoint dashboard displaying the report, which is in a report library using SharePoint Integrated reports.

The link is not working correctly. Following the recommendations of this guy I surrounded my link w/ the javascript to open in a new window.

This works everywhere except for the end result. The link works from BIDS, Dashboard Designer, and the Report Library. It does not work from within the dashboard deployed to the SharePoint site. Any ideas?

Edit: This HTML link:

=First(Fields!Link.Value, "MyUrl")  

gives me this in the rendered report:

<TD style="WIDTH:53.98mm;word-wrap:break-word;HEIGHT:6.35mm;" class="a7">Click Me!</TD>

This Javascript link:

="javascript:window.location.href='" & First(Fields!Link.Value, "MyUrl") & "';"

gives me this in the rendered report:

<a tabindex="40" href="javascript:window.location.href='http://example.com/sites/some/subsite/DocumentLibrary/Folder/MyDocument.doc';" style="color:Blue" TARGET="_top">Click Me!</a>

Which does nothing when you click it.

+1  A: 

I'm not familiar with Performancepoint, but the way you write the javascript seems like you simplified it a bit? I'm asking because the only way that perfectly fine link would not work would be if the page has a return false for the links in it. Try moving the whole changing the URL into a function, like:

<script type='text/javascript'>
function goTo(url) {
   window.event.stopPropagation(); // cancelBubble() in IE
   location.href = url;
   return false;
}
</script>

with the link being:

="javascript:goTo('" & First(Fields!Link.Value, "MyUrl") & "')"

and do some trial and error inside the goTo function, sorry not being able to help you more precisely. Try also testing in a second browser (if you are not already) to see if this is some browser-specific behavior.

F.Aquino
I think PerformancePoint is a big part of why this doesn't work. As I said, if I go directly to the report in the report library, it works fine. It's when the report is rendered in a PerformancePoint dashboard that it ceases to work.
Nathan DeWitt
But once the links are rendered in the way you pasted the output HTML (that is from the dashboard right?) theres nothing to stop it from firing other than possible hooks on links, IF the dashboard output is your href="javascript:etc" it might work if you stop the Bubble event.
F.Aquino
A: 

It turns out that there were two issues going on.

My first attempt at rendering a link using https://example.com/... didn't work because Reporting Services 2005 refuses to link to https web sites. (no source for this info, just determined through experimentation)

My second attempt at putting javascript around the link failed because PerformancePoint 2007 dashboards don't execute JavaScript from a report. (no source for this info, just determined through experimentation)

The solution was to go back to a straight HTML solution, and use http. This gets redirected to https and the document loads. This solution may not work if your environment does not automatically redirect http --> https.

I didn't mention the https in my original question because I didn't realize that would make a difference.

Nathan DeWitt