mikewoinoski
Members-
Posts
43 -
Joined
-
Last visited
mikewoinoski's Achievements
-
How to embed ad hoc editor with no JasperReport Server decoration?
mikewoinoski replied to mikewoinoski's topic in Products
A combination of things worked for me: (1) defining a Jasper theme for embedded editors, and (2) displaying the editor in an <iframe> with an inline style. Download one of the attached zip files with a CSS file for the embedded theme (different versions for JRS 4.5 and 4.7) In the Jasper admin console, r-click Themes > Upload a Theme. Chose the zip file you downloaded in st Add theme=embedded to the URL for the editor:<iframe src="http://jaspersvr/jasperserver-pro/flow.html?_flowId=adhocFlow&theme=embedded&realm=%2Fadhoc%2Ftopics%2FInvoice_Summary&reportType=table&_eventId=startAdHocWithTopic&j_username=someuser&j_password=userpw" style="border:none;padding:0;width:95%;margin:20px 0 0 20px;height:600px" scrolling="no"> </iframe> The embedded theme is a single stylesheet that simply removes all decoration from the editor frame. Hope this helps. Post Edited by mwoinoskibt at 09/18/2012 18:35 -
Unistall Postgres to install MySql on Mac OS X 10.6
mikewoinoski replied to wyattbiker's topic in Products
Postgres is not compiled into the server. You can store the JasperServer repository in any database (we're using Oracle). You configure the database JDBC URLs in the file SERVER_HOME/webapps/jasperserver-pro/WEB-INF/js.jdbc.properties. However, you'll need to initialize your database with the tables that Jasper needs to populate the repository. Chapter 6 of the JasperReports Server Install Guide describes manual database creation. Section 6.1.2 gives details for MySQL. It might be easier to install the WAR distro of the server, instead of trying to modify the version installed by the Mac installer. The WAR installation is described in the Install Guide in chapter 5. You can get the WAR file distro at http://jasperforge.org/website/jasperserverwebsite/JSJA%20Website/js_download.html?header=project&target=jasperserver -
Can JRS authenticate HTTP API requests using the JSESSIONID cookie?
mikewoinoski replied to mikewoinoski's topic in Products
I did more experimenting, and JRS actually uses JSESSIONID after a login from the console. For example, I embedded a dashboard in an iFrame in our app's home page. On the initial display of the page, JRS shows the login page. After logging in, the dashboard comes up, and later requests to embed other resources work without another login. My browser shows the JSESSIONID cookie in its collection of cookies. So it looks like the same mechanism (JSESSIONID cookie) is used to authenticate both REST requests and HTTP API calls. But a REST login doesn't work when authenticating HTTP API calls. Maybe the HttpSession contents are different for a REST login and a console login. So maybe the intial login needs to use the same mechanism as a console login instead of a REST login. I'll keep hacking. -
Is it possible to configure JRS to use the JSESSIONID cookie to authenticate HTTP API requests (e.g., embed a dashboard), in the same way JRS authenticates REST requests? I know we can include j_username and j_password parameters or use Basic Auth with HTTP API requests. However, both techniques require that we include the user’s password in every request to embed a resource. So we would need to keep the user’s password in memory or look it up for every request. Here’s an example scenario of what I’d like to do: User logs into our app Our app sends a REST login request to JRS JRS sends a response with Set-Cookie: JSESSIONID=… Our app sends an HTTP API request to embed a dashboard to JRS. The request includes the JSESSIONID cookie from the login response JRS authenticates the HTTP request using the session id I tried this, and tcpmon shows that the JSESSIONID cookie is included with all requests, but requests to embed resources are redirected to the JRS login page. Does JRS support this scenario, or do I need to write a new security filter that explicit checks for the JSESSIONID?
-
It depends on the nature of your project. Are the reports you generate mission-critical? Then you'll want to cluster the server, which makes deployment and administration more complex. Do you have a QA department? Then you'll probably need different Jasper Server instances for development, QA and production. Will end users be running reports on demand? Then you'll need to train them in the use of the Jasper Server console. If you don't want to invest the time and energy into a full-blown server deployment, then it may be more cost-effective to use the Quartz scheduler (http://quartz-scheduler.org/) to schedule the reports, and write a simple web app with a JSP or JSF front-end to handle on-demand reporting. On the other hand, if all your requirements can be met with a single server instance, then Jasper Server could be a good way to get up and running quickly.
-
Logs are in $TOMCAT_HOME/logs (Tomcat logs) and $TOMCAT_HOME/webapps/jasperserver/WEB-INF/logs (Jasper server logs). $TOMCAT_HOME/logs/catalina.out will probably give you the most useful info but check the other logs as well.
-
Synchronizing external user's roles: deleted roles not removed
mikewoinoski replied to mikewoinoski's topic in Products
After more research, I'm guessing this is a JRS bug. According to section 1.6.4 of the JasperReports Server Authentication Cookbook: So the synchronizer's behavior does not match the spec. -
Can a report defined with JRXML use a Domain as a datasource?
mikewoinoski replied to mikewoinoski's topic in Products
Answer: Yes, a jrxml report can use a domain. Create a new report with iReport and select Domain Report as the type. There is also a Domain item on the Windows menu that lists all the domains defined in your server. This is not documented in the iReport Ultimate Guide or application help, but there is a tutorial at http://www.jaspersoft.com/creating-a-domain-report-ireport-tutorial -
I looks like the CSS stylesheets are not being applied. What browser are you using? Is it possible that CSS/stylesheets are disabled in your browser?
-
I have JRS 4.5 Pro configured to authenticate users against an external database. It generally works well: when a new external user logs in for the first time, their roles are pulled from the external database and added to the repository. However, if I delete a role from that user in the external database, JRS does not remove that role from user in the repo. I expected the synchronizer to refresh the user's roles at the next log in so that their JRS roles would match the roles in the external DB. Is there some additional configuration I need to do so the user will have only those roles that are currently in the external DB? Or is this a JRS bug?
-
SQL 2008 JDBC Repository Setup (JasperServer running on CentOS 6.2)
mikewoinoski replied to ntalbot77's topic in Products
Check the logs in /opt/jasperreports-server-4.5/apache-tomcat/logs and /opt/jasperreports-server-4.5/apache-tomcat/webapps/jasperserver-pro/WEB-INF/logs. The error messages may give details about the cause. -
Next step after succesfully adding a new JDBC data source
mikewoinoski replied to toonskies's topic in Products
Drill down to the report in the report browser, select it, Edit, and click Data Source in the button cluster/menu on the left. Select your datasource from the repository. It may be helpful to look at the logs in tomcat/logs or tomcat/webapps/jasperserver/WEB-INF/logs -
Next step after succesfully adding a new JDBC data source
mikewoinoski replied to toonskies's topic in Products
Your last statement is correct: use ireport to create a report's jrxml file, create a report resource in the JR server (it will prompt you to upload the jrxml file), and link the report to the datasource. That's the way it's done when using JR Server. I don't know why you're reluctant to upload reports to the server, but the other option is to generate reports using the Jasper library embedded in a Java app. The JasperReports Library Guide describes that scenario. The js-import/export scripts are for exporting the contents of a repository to a directory or zip file, and then importing those definitions into a different repository. They're useful for backups, promoting a development repo to a test or production repo, etc. -
I'm pretty sure you need ireport to create the reports. JasperReports Server does not provide an interface for creating reports. The report definitions are in an XML format, so in theory you could create reports manually, but the report markup is very complex. It will be much easier to use the free version of iReport from jasperforge.org. Post Edited by mwoinoskibt at 04/12/2012 20:49