JI 1.1.0 Direct Report URLs?

I have successfully migrated to JasperIntelligence 1.1.0, but I cannot find any documentation for the new feature of direct URLs to execute reports without having to navigate through the repository. Any help would be appreciated.
jasonw754's picture
Joined: Sep 19 2006 - 3:02am
Last seen: 16 years 6 months ago

31 Answers:

jasonw754 wrote:
I have successfully migrated to JasperIntelligence 1.1.0, but I cannot find any documentation for the new feature of direct URLs to execute reports without having to navigate through the repository. Any help would be appreciated.

I also would like to know how call a report using URL.
Thank you for your response
jpasquier's picture
248
Joined: Sep 19 2006 - 5:01pm
Last seen: 8 years 2 months ago
There seems to be a documentation gap here.

Direct report executions URLs are of the form
Code:
<br />
<JS_context>/flow.html?_flowId=viewReportFlow&reportUnit=<report_unit_URI>[&output=pdf|excel|rtf]&<param_1>=<val_1>&<param_2>=<value_2>...<br />
</td></tr></tbody></table><br />
<br />
The custom parameters can be used to provide values for the report unit input controls; the match is made based on the name (the parameter name should be the same as the input control name).  If valid values are provided for all the mandatory input controls, the input controls page will not be displayed.  For dates and datetimes, the values can either use a fixed format (by default "yyyyMMddHHmmss", set via Spring in actionBeans.xml) or the format used for the interactive calendar.<br />
<br />
Note that if the HTTP session does not contain authentication data, the user will be presented the login  screen.<br />
<br />
Regards,<br />
Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
Thank you very much for your help.
It works fine.
Post edited by: jpasquier, at: 2006/10/20 12:37
jpasquier's picture
248
Joined: Sep 19 2006 - 5:01pm
Last seen: 8 years 2 months ago
How can the credentials be sent to bypass the login page?

Thanks
jbbaird's picture
108
Joined: Oct 9 2006 - 11:55am
Last seen: 16 years 5 months ago
Do you want any security at all in your environment? If not, you could try commenting out the securityFilter in the web.xml.

You could also try changing the filterInvocationInterceptor bean in /WEB-INF/applicationContext-security.xml as follows:

/flow.html=ROLE_ANONYMOUS


Sherman
JasperSoft
swood's picture
20753
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 5 months ago
There are also ways to use HTTP Basic and other forms of authentication, and do single signon against external services like LDAP.

Sherman
JasperSoft
swood's picture
20753
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 5 months ago
I am interested in this as well. I need to have security in the JasperIntelligence web application. However I want to pass credentials from another web application to the JasperIntelligence so the user is not forced to log on a second time.
bhaugland's picture
513
Joined: Jul 28 2006 - 4:18am
Last seen: 16 years 8 months ago
I am interested in this as well. I need to have security in the JasperIntelligence web application. However I want to pass credentials from another web application to the JasperIntelligence so the user is not forced to log on a second time.
bhaugland's picture
513
Joined: Jul 28 2006 - 4:18am
Last seen: 16 years 8 months ago
We use the Spring base Acegi Security framework to do single sign on, object and screen level security.

What sort of credentials do you have?


Sherman
JasperSoft
Post edited by: swood, at: 2006/11/03 02:24
swood's picture
20753
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 5 months ago
Can the URL be used to get a PDF version of the report? If so, what is the parameter?

Thanks,
Daryl
ddaly's picture
690
Joined: Jul 31 2006 - 7:12am
Last seen: 2 years 11 months ago
Add output=pdf to the URL.

HTH,
Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
Is there a way to use a direct URL with the credentials sent? We want to use jasper server gui to take parameters, but bypass the login.

thanks,
Chuck
chernandeznet's picture
Joined: Oct 3 2006 - 7:46am
Last seen: 16 years 6 months ago
Since the last post I have removed the secuirty filter and changed the permissions in the application-context.xml. But still I cannot access the reports directly. here is the error:
org.springframework.webflow.NoMatchingTransitionException: No transition was matched on the event(s) signaled by the [1] action(s) that executed in this action state 'checkForParams' of flow 'viewReportFlow'; transitions must be defined to handle action result outcomes -- possible flow configuration error? Note: the eventIds signaled were: 'array['error']', while the supported set of transitional criteria for this action state is 'array[[eventId = 'yes'], [eventId = 'no']]'

I do appreciate your help,
thanks,
Chuck
chernandeznet's picture
Joined: Oct 3 2006 - 7:46am
Last seen: 16 years 6 months ago
Check the Tomcat log, you'll probably find the cause of the error there.

Regards,
Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
The direct report executions URLs with parameters do not work for me.

I have created an parameter called "test_title" and a textfield with the textfield expression "$P{test_title}" in ireport.

I tried to open the report with the following url: http://localhost:8080/ji-pro/flow.html?_flowId=viewReportFlow&reportUnit...&test_title=Testestet

The textfield outputs null instead of Testestet.

Can anyone tell me what I'm doing wrong?
dries863's picture
142
Joined: Oct 8 2006 - 7:49pm
Last seen: 16 years 5 months ago
Report URL parameters are matched against report unit input controls, and not directly against report parameters.

Create an input control for your "test_title" report parameter and try the URL again.

HTH,
Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
I'm trying to run a report without parameters (the report doesn't have any) and I get the same error as chernandeznet.

This is the url just in case something's wrong with it:

[code:2]
http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&repo...

And the error from the jasperlog:
Code:
<br />
09:30:01,563  WARN HibernateRepositoryServiceImpl,http-8080-Processor25:392 - No folder: /Reports/Infinity QS/NCR/Graphs<br />
09:30:01,563 ERROR JSErrorPage_jsp,http-8080-Processor25:128 - <br />
org.springframework.webflow.NoMatchingTransitionException: No transition was matched on the event(s) signaled by the [1] action(s) that executed in this action state 'checkForParams' of flow 'viewReportFlow'; transitions must be defined to handle action result outcomes -- possible flow configuration error? Note: the eventIds signaled were: 'array<String>['error']', while the supported set of transitional criteria for this action state is 'array<TransitionCriteria>[[eventId = 'yes'], [eventId = 'no']]'<br />
	at org.springframework.webflow.ActionState.doEnter(ActionState.java:216)<br />
	at org.springframework.webflow.State.enter(State.java:201)<br />
	at org.springframework.webflow.Flow.start(Flow.java:531)<br />
	at org.springframework.webflow.execution.impl.FlowExecutionControlContextImpl.start(FlowExecutionControlContextImpl.java:187)<br />
	at org.springframework.webflow.execution.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:175)<br />
	at org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:155)<br />
	at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:117)<br />
	at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:198)<br />
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)<br />
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)<br />
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:792)<br />
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:726)<br />
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)<br />
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)<br />
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<br />
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)<br />
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)<br />
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />
	at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:83)<br />
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)<br />
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)<br />
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:134)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)<br />
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)<br />
	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)<br />
	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)<br />
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)</td></tr></tbody></table><br />
<br />
I want to point out the first error:<br />
<table cellpadding="0" cellspacing="0" align="center" width="525" bgcolor="#cccccc"><tr><td>09:30:01,563  WARN HibernateRepositoryServiceImpl,http-8080-Processor25:392 - No folder: /Reports/Infinity QS/NCR/Graphs<br />
</td></tr></table><br />
<br />
The folder does exists but maybe the reference or report url is wrongly built.<br />
<br />
Any idea?<br />
<br />
Post edited by: javydreamercsw, at: 2006/11/14 12:39<br>Post edited by: javydreamercsw, at: 2006/11/14 12:41
javydreamercsw's picture
Joined: Jul 17 2006 - 9:46pm
Last seen: 6 years 5 months ago
lucianc wrote:
Report URL parameters are matched against report unit input controls, and not directly against report parameters.

Create an input control for your "test_title" report parameter and try the URL again.

HTH,
Lucian
I can't find an option in ireport to add input controls(and i cant find documentation about input controls with google/the forum search).
Can you please tell me(or give me a link) how I can add an input control with ireport?

Regards,

Koen
Post edited by: dries863, at: 2006/11/14 13:45
dries863's picture
142
Joined: Oct 8 2006 - 7:49pm
Last seen: 16 years 5 months ago
I'm not familiar with the iReport JI plugin, nor do I have a local installation to check it, so I'll have to leave this for others to answer.

You could try to use the web GUI to update the report unit and then check whether you'd be able to spot the input control in iReport.

Regards,
Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
If you have the plugin installed just rigt click the report in the plugin then Add>input control. Both in the plug in or thru the web interface you'll go thru a wizard. Try it and then ask more specific questions...

P.S. Found some documentation you might like in the JasperIntelligence user's guide 1.0 page 33-34.
Post edited by: javydreamercsw, at: 2006/11/14 14:35
javydreamercsw's picture
Joined: Jul 17 2006 - 9:46pm
Last seen: 6 years 5 months ago
I am using the hyperlink (tab Hyperlink)(iReports) settings of the field properties window to create a link (drill down) to a detailed report.

The link I am using is working well.

I am using hyperlink type: Reference
I the reference text area I have defined the link I am using:
“http://localhost:8081/ji-pro/flow.html?_flowId=viewReportFlow&reportUnit...”

The parameter used is named: kpi (RR__120, is the value I am sending to the detailed report)
I have published the report unit johnsson3b to jasperserver with an input control named kpi.

I would like to make the link dynamic! How would the url look to become dynamic and pass the value form the kpi field OR the parameter called kpi?
jerics99's picture
445
Joined: Jul 23 2006 - 5:16pm
Last seen: 16 years 8 months ago
I do not quite understand what you mean. Are you already using tags like:

Code:
<hyperlinkParameter name="EmployeeID"><br />
    <hyperlinkParameterExpression>$F{id}</hyperlinkParameterExpression><br />
</hyperlinkParameter></td></tr></tbody></table><br />
<br />
to get parameters on the link?<br />
<br />
<br />
Sherman<br />
JasperSoft
swood's picture
20753
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 5 months ago
Hi, see the attached an image showing how I implement the link through iReports.

I can not add $F{id} within the "statement" as far as I understand, since "$F{id}" will be handled as a string.

Cheers

Post edited by: jerics99, at: 2006/11/17 15:01 [file name=snapshot.doc size=94720]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/sna...
Post edited by: jerics99, at: 2006/11/17 15:03
jerics99's picture
445
Joined: Jul 23 2006 - 5:16pm
Last seen: 16 years 8 months ago
I'm not sure either I understand what you mean.

Maybe you need something like
Code:
<br />
"http://...&kpi=" + $F{id}<br />
</td></tr></tbody></table><br />
<br />
HTH,<br />
Lucian<br>Post edited by: lucianc, at: 2006/11/17 15:10
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
Try doing in the Link Parameters tab in the screen you are showing in iReport.

Code:
				<textField isStretchWithOverflow="true" hyperlinkType="ReportExecution"><br />
					<reportElement x="410" y="4" width="105" height="15"/><br />
					<textElement textAlignment="Center"/><br />
					<textFieldExpression class="java.lang.String"><br />
						"view"<br />
					</textFieldExpression><br />
					<hyperlinkParameter name="_report"><br />
						<hyperlinkParameterExpression>"/reports/samples/EmployeeAccounts"</hyperlinkParameterExpression><br />
					</hyperlinkParameter><br />
					<hyperlinkParameter name="EmployeeID"><br />
						<hyperlinkParameterExpression>$F{id}</hyperlinkParameterExpression><br />
					</hyperlinkParameter><br />
				</textField><br />
</td></tr></tbody></table><br />
<br />
If you are hyperlinking back to another report in the server, you don't need to put the full URL like that.<br />
<br />
<br />
<br />
Sherman<br />
JasperSoft <br />
<br />
<br />
Sherman<br />
JasperSoft
swood's picture
20753
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 5 months ago
I seem to be close of getting my drill downs to work now. However I did not completely follow you in the previous posting.

I am going to try the drilldown to work by using the example with the EmployeeAccounts report (as in your previous example).

First of all is the value of the HyperlinkTypes field OK (HyperlinkType=Reference)?

If pasting the code of previous posting to the Link Parameters Expression field, what should I call the Link Parameter (Value in Link Parameter Field)?

What value should I use for the Hyperlink Reference Expression field (by using the Reference tab)?

Cheers!
jerics99's picture
445
Joined: Jul 23 2006 - 5:16pm
Last seen: 16 years 8 months ago
This discussion is getting even more confusing..

If you want to define a drill down like in the style of the EmployeeAccounts sample (which is recommended, and what Sherman suggested), you'll have to
  • set the hyperlink type to ReportExecution

  • add a hyperlink parameter named _report and having "/reports/johnsson3b" as value expression

  • add a hyperlink parameter named kpi and having $F{id} as value expression

  • don't set any hyperlink reference expression
  • [/ul]

    HTH,
    Lucian
lucianc's picture
72651
Joined: Jul 17 2006 - 1:10am
Last seen: 5 hours 6 min ago
bhaugland wrote:
I need to have security in the JasperIntelligence web application. However I want to pass credentials from another web application to the JasperIntelligence so the user is not forced to log on a second time.


One way to do this is to write a filter (implements javax.servlet.filter and org.springframework.beans.factory.InitializingBean) that looks at the incoming request and decides whether or not to proceed. This would work if your credentials are contained within a cookie, for example.

We did this coming from a RoR web app.
sarahmei's picture
263
Joined: Jul 20 2006 - 2:32pm
Last seen: 16 years 8 months ago
how we can authorize anonymous user to see flow.html in the latest versions?
tratti's picture
78
Joined: Mar 13 2007 - 4:25am
Last seen: 16 years 3 weeks ago
Hallo,

I'd like to give over parameters and login values via URL for viewing an report as pdf-output.

Unfortunally the login values doesn't work and the js creates an access dénied error

My URL construct looks like this:

http://myHost:8080/jasperserver/flow.html
?_flowId=viewReportFlow
&reportUnit=/reports/<myReport>
&decorate=no
&output=pdf
&<para1>=<value1>
&<para2>=<value2>
&j_acegi_security_check?&j_username=jasperadmin&j_password=<myPwd>

What's the mistake ?
Which is the correct syntax for building a corresponding URL ?
Where is a description about the URL parameters ?

Thx for help

Wolle
Wolle's picture
166
Joined: Jan 21 2008 - 5:16pm
Last seen: 6 years 11 months ago
Hallo,

I'd like to give over parameters and login values via URL for viewing an report as pdf-output.

Unfortunally the login values doesn't work and the js creates an access dénied error

My URL construct looks like this:

http://myHost:8080/jasperserver/flow.html
?_flowId=viewReportFlow
&reportUnit=/reports/<myReport>
&decorate=no
&output=pdf
&<para1>=<value1>
&<para2>=<value2>
&j_acegi_security_check?&j_username=jasperadmin&j_password=<myPwd>

What's the mistake ?
Which is the correct syntax for building a corresponding URL ?
Where is a description about the URL parameters ?

Thx for help

Wolle
Wolle's picture
166
Joined: Jan 21 2008 - 5:16pm
Last seen: 6 years 11 months ago
Feedback
randomness