Jump to content
We've recently updated our Privacy Statement, available here ×

chaddn

Members
  • Posts

    31
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by chaddn

  1. I need to construct a query that uses the $X IN function but I don't want the parameter value to match the entire value of the field, only a selected portion of it. So ideally the query would include the following in the where clause: $X{IN,left(columnname,4),paramname} So basically I want to select where the left 4 characters of the column match my parameter values (it's a collection). Of course this doesn't work because Jasper is expecting only the column name and gets hung up on the comma before the 4 (it thinks 4 is the parameter name). Does anyone have any ideas how to accomplish this? I've looked through the documentation for $X and haven't found any examples of this scenario. Thanks, Chadd
  2. I'm about to implement JasperServer worldwide for my company which I hope will lead to investment in an Enterprise license. This bug and the empty reports email bug could prevent us from moving forward. I hope this is fixed soon!
  3. I created a new folder off the root, put a PDF in it, gave a typical user read only access and we still have the same issue. The only thing they can do with the file is copy/paste it. I'll enter the bug, thanks! Chadd
  4. Thanks for the reply! If I assign Execute Only permission to the folder it hides the folder from that user role. So then the user can't even access the folder to see the stored report files anymore. According to the documentation that Execute Only role is so you can hide report resources from the user but still allow reports they run to access those resources. So unfortunately that doesn't seem to be a solution. I've looked through the user doc and can't find a role that will provide the rights I'm looking for. Any other ideas? In my opinion Read Only rights should still allow the user to open stored report output files such as PDFs, XLS, etc as it did in previous versions. Thanks, Chadd
  5. After upgrading from Jasperserver 3.7.1 to 4.5 we noticed that now report output files from scheduled reports (PDFs, Excel files, etc) can no longer be opened by users who have read only rights to them. Now if I want the user to be able to download/open the pdf file I have to give them at least read+write+delete rights. This is obvously not ideal as I do NOT want them to be able to delete these stored report files. Is this a bug or am I missing some other permission setting that will allow read only users to download these files from the repository? Thanks, Chadd
  6. in WEB-INF/classes/esapi/security-config.properties set security.validation.input.on=false
  7. So it looks like this is an issue with the input validation in the new Security Configuration. If I set "security.validation.input.on=false" then I can add multiple email addresses no problem. Now the question is are there any other negative effects (besides no input validation) if I turn that off?
  8. I just installed a clean copy of 4.5.0 CP (on 64bit Centos 5) and imported my 3.7.1 repository. I noticed that on any of my report schedules that I have multiple email recipients I am unable to make changes to those schedules. As soon as I submit the changes I get the following error: "The server has encountered an error. Please excuse the inconvenience. An error has occurred. Please contact your system administrator. (5321)" I also get this error if I try to create a new schedule to multiple email recipients. If I leave only one email address in the To field, it will save the schedule just fine. I am separating the email addresses with commas just as I always have. Here is what jasperserver.log shows pertaining to this: "Invalid input: context=toAddresses-ViewRepository_Schedule_OutputSettings_context, type(Email)=^[\p{L}\p{M}\p{N}._%'-]+@[\p{L}\p{M}\p{N}.-]+\.[a-zA-Z]{2,4}$, input=testa@gmail.com,testb@gmail.com org.owasp.esapi.errors.ValidationException: toAddresses-ViewRepository_Schedule_OutputSettings_context: Invalid input. Please conform to regex ^[\p{L}\p{M}\p{N}._%'-]+@[\p{L}\p{M}\p{N}.-]+\.[a-zA-Z]{2,4}$ with a maximum length of 200 at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144)" Is this a bug or did the address delimiter change? I've been wrestling with this upgrade all afternoon (fixing other report compatability issues) and this is the last one to address so I can move us to the new version. Please help! Thanks! Chadd
  9. I just built a new Jasper Reports Server CE 4.2.1 server (64 bit), running on 64 bit Centos. I imported my 3.7.1 repository and most things work fine. I have some reports that I embed in iFrames in our CRM system using the decorate=no parameter in the URL string. In 4.2.1 using that parameter causes IE to report a javascript error that says "JRS is undefined" in core.ajax.js line 191. This isn't a huge deal if they are just viewing the report in a browser window, but one of the reports is a dashboard that loads inside an Outlook folder (uses IE basically) and there it pops up a message asking the user if they want to continue running scripts on the page. If I remove decorate=no from the URL the report loads fine (no errors), albeit with the JSR navigation and everything I don't want it to load with. Any work arounds or ideas how to eliminate this issue? Thanks, Chadd
  10. Hello, I'm currently using JasperServer 3.7.1. I recently upgraded from iReport 3.7.6 to 4.0.2. I have the compatibility in iReport set for version 3.7.1. When I edit one of my existing crosstab reports using iReport 4.0.2 it removes the class attribute from all bucketExpression tags which then causes the report to error out when trying to run it in Jasperserver 3.7.1 (SaxParse error complaining about the missing class attribute). I tried upgrading to iReport 4.5.0 and it does the same thing. Prior to saving the file in iReport 4.x: <bucketExpression class="java.lang.String"> After saving the file in iReport 4.x: <bucketExpression> Since JasperReports 3.7.1 seems to need the class attribute, shouldn't this be retained when I set the compatibility to JR 3.7.1? Should I assume that JR 4.x doesn't require the class attribute and this won't be a problem when I update to JasperServer 4.x? Thanks! Chadd Post Edited by chaddn at 01/06/2012 15:09
  11. Thanks for the help Sanda.. I changed the comm_t variable per your suggestions and now I get a different incorrect total of $165.66.
  12. I tried considering if the variables I'm summing are null and I still get the same incorrect value. I tried changing the reset type of comm_t to all other options and I either still get the incorrect value or just zero. Right now the data I'm testing with is only getting a value in comm_1 because all of the orders are less than $50k in this time frame. So I even tried removing all the other comm_# variables from comm_t and only had $V{comm_1} as the variable expression.. but I still get the same incorrect value. There is a jpg of the output (it's only 1 page), you can see the total Commission Due (comm_t) at the very bottom of the report of $362.04. If you add everything up it should be $532.99. This is baffling, I feel like it should just work.. Thanks for all the suggestions so far. Chadd
  13. Thanks for the reply.. I changed the variable's text field to Evaluation Time = Report and I get the same incorrect value
  14. I have a report that calculates the commission owed per sales order value based on 6 different commission rates (one rate up to $50k order, another for $50k to $100k orders, etc). There is one group in the report which is the sales order number. I use variables comm_1 through comm_6 which use an expression that evaluates the total value of the order and if true multiplies the total order value by the associated commission percentage to show the calculated commission, if false the variable is set to 0. I then stack these 6 variable fields on top of each other on the report (in the group footer) and use a print when expression in each like $V{comm_1}>(0). This part works great, it displays the appropriate commission amount based on each total order value. Next I need to sum the total of those variables in my last page footer. So I created a variable called comm_t (calculation type sum, reset type report) with a variable expression of ($V{comm_1}+$V{comm_2}+$V{comm_3}+$V{comm_4}+$V{comm_5}+$V{comm_6}). When I run the report comm_t displays a value that does not equal the sum of the commission values shown in the groups. I have no idea where it is getting the value that it is, it doesn't seem to match up with any combination of the calculated commissions. Is it possible to sum the product of group variables in a report summary? JRXML is attached, any help or hints would be greatly appreciated! Thanks, Chadd
  15. I have this same need, to be able to pass multiple SQL statements for dropping/creating/modifying a temp table and then eventually selecting the data from the temp table for my JasperReport. Can anyone tell me how I can implement the solution that Neville created? I am using Jasper Reports 3.5.1.. Thanks, Chadd
  16. I am going to use JasperServer to email some excel or csv files on a scheduled basis. Some of the files will have a lot of columns in them, 30+ at times. Is there away to set the columns and page size in a report to automatically stretch with the longest value in each field and overall combined width of the columns? The problem I have is in iReport I'm having to drop all 30 fields on a fixed width page, then resize each of the fields to the longest possible character width. It's very time consuming. I tried using "stretch with overflow" on the fields, but that stretches it vertically and causes row spanning in the excel file and strange output in the csv. Any suggestions or help would be greatly appreciate. Thanks, Chadd
  17. I don't think the password failed ever, and I know it hasn't changed. Strange that is the only account like this. There is no function to enable external users in the User admin. I just went and redeployed the few reports I needed to schedule using the jasperadmin user. I'll just use that from now on. Thanks for the reply! Chadd
  18. I think I found the issue via another forum post. I am using LDAP authentication against Active Directory and for some reason the Ldap user that I logged in as to create most of my reports says "This user is NOT enabled" when I look at it in the Users module. All of the other ldap/external users say they are enabled, except for this one. Since the scheduler runs the report as the user that created it, I assume this is why it is saying the user is expired. So, my questions are can I enable that external Ldap user in the jasper user store? If not, can I assign my existing reports to an internal Jasper user so the scheduler can run them? Any help would be greatly appreciated. Thanks, Chadd
  19. I'm using Jasperserver 3.5.1 on CentOS. Everything works great, except for the job scheduler. I configured the necessary mail server settings in js.quartz.properties and I confirmed I can telnet to the smtp port on my mail server. When I run the report job, it does not give me an error (in the web UI), I receive no email, and it does not generate the PDF file in the repository folder I chose to store it in. In jasperserver.log I see the attached unhandled exception being thrown. Any ideas what the problem is? Thanks, Chadd Code:20:58:18,352 ERROR ErrorLogger,JasperServerScheduler_Worker-0:2015 - Job (ReportJobs.job_2 threw an exception.org.quartz.SchedulerException: Job threw an unhandled exception. [see nested exception: com.jaspersoft.jasperserver.api.JSException: jsexception.user.expired] at org.quartz.core.JobRunShell.run(JobRunShell.java:206) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)* Nested Exception (Underlying Cause) ---------------com.jaspersoft.jasperserver.api.JSException: jsexception.user.expired at com.jaspersoft.jasperserver.api.engine.common.service.impl.AcegiSecurityContextProvider.setAuthenticatedUser(AcegiSecurityContextProvider.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:199) at $Proxy8.setAuthenticatedUser(Unknown Source) at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.execute(ReportExecutionJob.java:186) at org.quartz.core.JobRunShell.run(JobRunShell.java:195) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
  20. Thanks for the reply, copying the JDBC driver to the common/lib directory under tomcat worked. -Chadd
  21. I have the same need, only for an Ingres database. I create temp tables in reports to manipulate data. Here's what I added in $CATALINA/webapps/jasperserver/META-INF/context.xml.. <Resource name="jdbc/dbtest" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="ingres" password="xxxxxx" driverClassName="com.ingres.jdbc.IngresDriver" url="jdbc:ingres://dbtest:II7/dbname"/> After saving the file, I restarted tomcat and mysql. I then added the JNDI datasource in Jasperserver using the service name "jdbc/dbtest", as named in context.xml. When I test the JNDI connection it just tells me "test failed". I can currently use the same JDBC connection in Jasperserver and it connects fine. I looked in the catalina.out log file and saw the following message which seems to have occurred when I tested the connection.. 15:23:38,347 ERROR DbcpDataSourceFactory,http-8443-Processor22:61 - java.lang.ClassNotFoundException: com.ingres.jdbc.IngresDriver java.lang.ClassNotFoundException: com.ingres.jdbc.IngresDriver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.DbcpDataSourceFactory.registerDriver(DbcpDataSourceFactory.java:59) Why does it find the Ingres driver when I use the class as a normal JDBC connection, but not within a JNDI connection? Thanks, Chadd Post Edited by chaddn at 02/10/2010 22:06
  22. I have a report (crosstab) running in JasperServer that I created in iReport. I setup a value in the crosstab to hyperlink to another report, using the full URL of the jasper server (passing the necessary parameters to run a report). The hyperlink is there when I preview the report in iReport using the JasperViewer. When I publish that report to Jasper server and run it there, the text is not hyperlinked. It also doesn't work if I do a HTML preview from iReport. I have attached my jrxml file, any idea why this hyperlink won't render in HTML? If you search for "hyperlinkReferenceExpression" in the jrxml, you'll see where the hyperlink exists. Thanks in advance, Chadd
  23. OK, I got it to work using the instructions from the first reply in this thread. It seems that the Ingres JDBC driver was having a problem with using a parameter, and grouping in the same query by a partial field value -left(datumrg,4)-...Very obscure, strange issue. So I got around it by not grouping and having the crosstab do the totaling for me. Thanks for all your help guys! Chadd
  24. I tried the last suggestion of adding the crosstab parameter (under properties, not crosstab properties) and I still have the same issue. It still passes no value to my subdataset query. Is there a way to use the main report query for the dataset in the crosstab, instead of a subdataset?
×
×
  • Create New...