SSRS - How can I link to a deployed report that uses a reportviewer? How do I get the url to link to report? - sql

Can you please advise me of where I can locate reportviewer url's like the following example...
<a href="http://<Server>/ReportServer/Pages/ReportViewer.aspx?%2fMyApp%2fCustom+Reports%2fMyReport&rs:Command=Render"
The situation is, I want to deploy a report but after I deploy it to the server where will I get the url or how can I construct it so that I can point my application to the correct report.
I have been trying to track down some previously deployed reports to see if I can work out the url but I cannot find anything.

That report isn't using the nice "Report Manager" web interface, it is effectively a back-end method for accessing the reports. It is mostly used for programmatically accessing reports via URL generation for parameters and other things.
For more information about the syntax of the URL parameters and how to use them see the following MSDN pages:
URL Access (SSRS)
URL Access Parameter Reference
Pass a Report Parameter Within a URL
If you're just trying to view reports online you might want to use http://server/Reports/ which will load the proper Report Manager interface which is how you would normally manage and view deployed reports.

Related

Share dynamic content on LinkedIn

I have a JS based CMS that populates a single page with different content based on URL parameters passed to the page. I am using the shareURL format (https://www.linkedin.com/shareArticle?mini=true&url=''&title=''&summary=''&source='')
But the parameters I pass are never used it always falls back to what is being served directly from the server.
Do I have to use the API to make this work and if so can I use the API without making the user authenticate?
Is there a correct way to pass this so that linked in will display the correct data.
After testing this more I realised that the linked ins share URL does not take its parameters it only takes what is served from the server. So I changed my build process not to get the pages in run time but to precompile them onto the server. Maybe in the future linked in will have resolved this for dynamic pages.

How to create dynamic report using telerik reporting in Asp.Net MVC

I am new to telerik reporting and want to create dynamic report using it. I browse through telerik official site but most of example given there are in Asp.Net not for Asp.Net MVC, So my question is how to create dynamic report using telerik reporting in Asp.Net MVC. Is any one done this before? I try to create simple report using SqlDataSource and created report template(.trdx file). I used following code to render my report in view
#{
var DataSource = new UriReportSource() { Uri = "MyReportTemplate.trdx" };
}
#(Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl("/api/reports/")
.TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate-8.1.14.804.html")
.ReportSource(DataSource)
.ViewMode(ViewModes.INTERACTIVE)
.ScaleMode(ScaleModes.SPECIFIC)
.Scale(1.0)
.PersistSession(false)
)
but issue with is approach is that my all DB connection info is get stored in MyReportTemplate.trdx template so I want to create report design and store it into template file and dynamically generate data and bind it to template to generate report. By doing this my template(.trdx file) only contain designing part and I bind data to it by passing to it from controller. Is it possible to do that?
Thanks in advance...
Your question is very broad, but hopefully the following can point you in the right direction.
First of all the Telerik Reporting documentation is good enough to show you how to get their reports working with ASP.NET MVC. Their documentation isn't all that well laid out but it is pretty comprehensive.
You can find the documentation relating to creating the client side report viewer at the following: HTML5 Report Viewer - The ASP.NET MVC Extension section is particularly important.
You can then also find the documentation relating to how to setup the API for giving the browser based report viewer access to reports at the following: Web API Implementation
For creating your own approach to how reports are served up to the browser you can use the Report Resolver.
In terms of how this all fits together.
You implement the HTML5 report viewer using the MVC extension you have in your sample code. You also have to link to the appropriate telerik reporting css and javascript files for the viewer to render correctly.
The requests coming from the report viewer will hit the Web API controller you should have implemented (see my second link).
To resolve a report using your own implementation use the custom report resolver.

Rally Custom report integration in Sharepoint 2010

I have developed a custom report in Rally - and this needs to be integrated in the Sharepoint portal - how do I proceed doing this ( similar to the standard reports working in the API Kit and through Javascript on sharepoint) ?
Am using Sharepoint 2010 and 1.0 version of Rally
Raghu
As Nick says, there's nothing in the api that will help you here, but you might be able to get what you want "manually". The "shape" of the custom report endpoint url is:
https://rally1.rallydev.com/slm/analytics/reports/<id>/run?PROJECT=<project oid>
where <id> is the id of the report (which you can get by hovering over it in the Reports tab index) and <project id> is the id of the project from which to gather data.
ex:
https://rally1.rallydev.com/slm/analytics/reports/1001883/run?PROJECT=20383843
(don't bother trying that as is, those are dummy ids). You'll still need to use the appropriate LoginKey.
Custom reports created on Rally's Reports>Reports page do not have an equivalent to StandardReport component in legacy AppSDK1 or StandardReport in AppSDK2. In the absence of a similar wrapper for custom reports it is not possible to display them outside Rally the way Standard Reports can be displayed.
You may however write your own javascript custom app (using AppSDK1 or AppSDK2), build a deployment html file out of it and paste the html code to Sharepoint web part. This app will have to access Rally data you want to visualize in a grid, for example.
Also, both Standard Reports and custom reports on Reports>Reports page are generated by legacy analytic service. It does not support the new ApiKey. In the case of StandardReport you need to use old LoginKey.

Pass query string to Page Viewer Web Part

I have a share point page, in which I have added a page viewer web part. This web part needs to be supplied with a query string in addition with the static URL.
I tried putting a QueryString Filter Web Part but it did let me connect with the page viewer web part(Message - the connection type send parameter values is not compatible with any web part on the page)
I was wondering whats the correct way to achieve this. Thanks
I got going...
The solution is to create your own visual web part. Visual web part is not but a user control which a web part loads in in CreateChildControl method.
Now you have access to code behind, Sharepoint Context, you can do what ever you want.
How to create Visual Web Part

Report Builder 3.0 with SharePoint List as data source using relative URL for list

I'm using Report Builder 3.0 to create a report for use in SharePoint 2010. SQL Server 2008 R2 is the back end with Reporting Services in SharePoint Integrated Mode. One of the cool features of Report Builder 3.0 is the use of a SharePoint List as a data source, the setup for which is very straightforward--just give it the URL for the SharePoint List as the connection string and it works.
I eventually want to package this site as a Site Template including the report that lives in it, which means that the URL will need to be relative instead of absolute. So for example instead of this:
http://mainsite/subsite1/lists/mylist
... I need to specify something like this:
mylist
... so that when I package this as a Site Template and create a new site based on that template, the report will work with the new site's list instead of pointing back to the original site's list URL. I've tried "mylist", "lists/mylist", etc.--everything short of specifying subsite1/lists/mylist--but nothing has worked so far except for the full URL.
Is it possible to use a relative URL or some other method so that the connection string won't have to be manually changed in the report every time I create a new site based on this site template?
Edit: I misunderstood what needed to go in the data source's connection string. It's not the URL to the list but rather the URL to the site that goes in the connection string. The concept of the question remains valid though--need to dynamically set the connection string of a data source that points to a SharePoint list.
After brainstorming with some co-workers we figured it out. The key is to use an expression for the connection string. Using my original example the goal is to get this:
http://mainsite/subsite1/
... in the connection string but without hardcoding it--make it dynamic based on where the report lives so the report can be packaged along with the rest of the site as a site template. The expression I ended up with is:
=Replace(Globals!ReportFolder, "Reports", "")
The report lives in a library called "Reports", so Globals!ReportFolder returns:
http://mainsite/subsite1/Reports
The Replace() function then takes out the "Reports" part of the string, and the result is the connection string I wanted.
Things to look out for:
You can't test the expression while you're building the report. I had to hardcode the site URL into the connection string so the designer could populate the list of lists when creating a dataset based on that data source. Otherwise it doesn't show the available lists and you have to manually type everything. After designing the report I changed the connection string to the expression, and when deployed it worked.
When testing make sure to refresh your browser view instead of the little refresh icon in the report's task bar. Seems like the report's built-in refresh only grabs new data but uses the rdl file it already has on hand, whereas refreshing the browser forces it to get the latest copy of the rdl as well as latest data. That's probably self-explanatory, but it caused me some confusion for a few minutes when it didn't look like my design changes made any difference, so hopefully this will help others not go through the same confusion.