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

mmflynn

Members
  • Posts

    82
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Security Advisories

Downloads

Posts posted by mmflynn

  1. It's really hard to make a guess at what might be happening based on the description. I'm going to make a guess anyway.

     

    It's possible that your desktop computer (which is running iReport) is resolving the fonts in your crosstab differently than the server (which is running JasperServer). You can upload font resources to JasperServer if that's the issue, or change the font definition/styles used in the report to use something that's common to both systems.

     

    Screen shots or a more detailed description of the deformation would also help. Good luck.

     

    Mary

  2. I am not an expert in this area, but I can point you to where you need to look. You need to configure Acegi (aka Spring Security), specifically the Voter Logic. Do a search for "acegi voter" or "accessdecisionmanager" to get started.

     

    I have used this article in the past to help me set up LDAP. There's a brief section on voter logic:

     

     

    Configuring the access decision manager

    The accessDecisionManager decides whether a user is allowed to access a resource. Acegi provides a number of access decision managers, which vary in how they make access control decisions.

    http://www.ibm.com/developerworks/java/library/j-acegi2/

    HTH

    Mary

  3. Hi sandyclawz,

     

    Try this:

     

    Open your report in iReport. Under Report Properties, select  "Ignore Pagination". Save the file to JasperServer. The next time you run the report, everything will be on one page. Note the "Ignore Pagination" setting applies to all export formats, including HTML.

     

    Good luck,

    Mary

    • Thanks 1
  4. Hopefully this will work for you. All I did was:

     

    (1) Login as admin. Assign "read only" privileges to ROLE_ANONYMOUS to the appropriate files/folders.

     

    (2) Edit applicationContent-security.xml:

    Add following line to <bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor"> section:

    /fileview/personalfolders/demo/**=ROLE_ANONYMOUS

     

    (3) Restart JasperServer.

     

    (4) Try the url. In my case, it was: http://localhost:8080/jasperserver-pro/fileview/fileview/PersonalFolders/demo/SugarOpportunities.pdf.

     

    Good luck!

    Mary

  5. The attachment was corrupted somehow, so I am reposting. Here are the relevant sections:

     

       <!-- For LDAP authentication -->

       <!-- Credit for explanatory comments go to:

            Bilal Siddiqui

            http://www.ibm.com/developerworks/java/library/j-acegi2/ -->

       <!-- Configure the initial context -->
       <!-- Sets the root node used for all operations, such as search -->
       <bean id="initialDirContextFactory" class="org.acegisecurity.ldap.DefaultInitialDirContextFactory">
         <constructor-arg value="ldap://susevm:389/dc=vmdomain"/>  
         <!--  Authenticate with LDAP directory server in order to perform search operations  -->
         <property name="managerDn"><value>cn=Administrator,dc=vmdomain</value></property>
         <property name="managerPassword"><value>jasper</value></property>
       </bean>
      
       <!-- Configure an LDAP filter to locate users -->
       <!-- Used to find users that LDAP cannot authenticate by constructing a DN from the DN patterns -->

          <bean id="userSearch"
                class="org.acegisecurity.ldap.search.FilterBasedLdapUserSearch">
         <constructor-arg index="0">
           <value></value>
         </constructor-arg>
         <constructor-arg index="1">
           <value>(uid={0})</value>
         </constructor-arg>
         <constructor-arg index="2">
           <ref local="initialDirContextFactory" />
         </constructor-arg>           
         <property name="searchSubtree">
           <value>true</value>
         </property>           
       </bean>           
      
       <!-- Configure the LDAP authentication provider  -->


       <bean id="ldapAuthenticationProvider" class="org.acegisecurity.providers.ldap.LdapAuthenticationProvider">
         <constructor-arg><ref local="authenticator"/></constructor-arg>
         <constructor-arg><ref local="populator"/></constructor-arg>
       </bean>


       <!-- Configure the authenticator bean -->


       <bean id="authenticator" class="org.acegisecurity.providers.ldap.authenticator.BindAuthenticator">
          <constructor-arg><ref local="initialDirContextFactory"/></constructor-arg>
          <property name="userDnPatterns">
              <list>
                  <value>uid={0},ou=people</value>  <!-- location where my user names are stored -->
                  <value>uid={0},ou=group</value>   <!-- location where my LDAP business roles are stored -->
              </list>
           </property>
          <property name="userSearch"><ref local="userSearch"/></property>
       </bean>


       <!-- Configure the populator bean -->


       <bean id="populator" class="org.acegisecurity.providers.ldap.populator.DefaultLdapAuthoritiesPopulator">
          <constructor-arg index="0"><ref local="initialDirContextFactory"/></constructor-arg>
          <constructor-arg index="1"><value>ou=group</value></constructor-arg>

          <!-- groupRoleAttribute value = cn if desired role names are stored as LDAP groups -->

          <!-- groupRoleAttribute value = ou if desired role names are stored as organizational units -->
          <property name="groupRoleAttribute"><value>cn</value></property>
          <!-- Optionally, you can specify a "rolePrefix" property to change

             (or remove) the default ROLE_ prefix for role names.

             The following properties are shown with their default values:

             <property name="rolePrefix"><value>ROLE_</value></property>

             <property name="convertToUpperCase"><value>true</value></property>

             <property name="searchSubtree"><value>false</value></property>

          -->

          <!-- groupSearchFilter may not be necessary depending on how the LDAP directory is set up -->

          <!-- Modify objectclass value for your environment. -->

          <!-- uid={0} uses the full DN of the user-->

          <!-- uid={1} uses the username -->
          <!--
          <property name="groupSearchFilter"><value>(&(uid={0})(objectclass=posixgroup))</value></property>
          -->
       </bean>
      
        <bean id="JIAuthenticationSynchronizer" class="com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter">
           <property name="externalUserService"><ref bean="userAuthorityService"/></property>
        </bean>

     

     

  6. Jaspersoft needs your help! Gartner Group is requesting paragraph-length (i.e., short and sweet) user stories that illustrate how JasperReports and JasperServer are used in high DATA volume - or - high USER volume environments. They are also looking for descriptions of how JasperReports is used to create complex reports.

    We know that JasperReports is used all over the world for some amazing applications. As an open source company, however, we don't always get the good user stories. We could really use your help right now with your short descriptions.

    Only two things are required:

    • one paragraph describing your high data volume or high user volume environment
       
    • an email address that Gartner analysts will use to verify the data

    I will work with you to make the submission "just right", so please don't worry about your writing or English skills. But we do need your participation and support!

    Gartner's submission deadline is Friday, August 22, so please take a moment now if you think you can help. Email me if you're interested. You can click on my name to the left of this post to get to my public page. From there, click the Mail User button at the bottom of the page (here's a screen shot of what it looks like: userfiles/image/forge_mail.jpg).

    Many thanks to all!

    Mary Flynn (on behalf of Jaspersoft)

  7. Jaspersoft needs your help! Gartner Group is requesting paragraph-length (i.e., short and sweet) user stories that illustrate how JasperReports and JasperServer are used in high DATA volume - or - high USER volume environments. They are also looking for descriptions of how JasperReports is used to create complex reports.

    We know that JasperReports is used all over the world for some amazing applications. As an open source company, however, we don't always get the good user stories. We could really use your help right now with your short descriptions.

    Only two things are required:

    • one paragraph describing your high data volume or high user volume environment
    • an email address that Gartner analysts will use to verify the data.

    I will work with you to make the submission "just right", so please don't worry about your writing or English skills. But we do need your participation and support!

    Gartner's submission deadline is Friday, August 22, so please take a moment now if you think you can help. Email me if you're interested. You can click on my name to the left of this post to get to my public page. From there, click the Mail User button at the bottom of the page (see attachment).

    Many thanks to all!

    Mary Flynn (on behalf of Jaspersoft)

  8. Hello there,

    This response is about a year late, but it was pointed out as an issue recently, so I'm responding. JasperServer allows you to schedule and save reports to the secure repository. When you save the file, you have the following options:

    • Sequential File Names
    • Timestamp Pattern

    Check Sequential File Names and you will save a snapshot of your report at that moment in time. The default timestamp is yyyymmddhh. In the screen shot below, I added seconds.

    So, the scheduling feature gives you historical versioning of the report output. This can be useful when you need to audit report data for a specific date/time.

    Mary

  9. Just wanted to let everyone know that JasperSoft is hosting a webinar on May 1 specifically for developers. Though it is not training or tech support, it's also not a marketing/sales pitch. The idea is to show what we've done and hopefully inspire/connect with others.

     

    Matt Dahlman and I will show how parameters are used in the SuperMart demo that ships with JasperServer Pro.

     

    May 1, 2008

    Developer Webinar-The Power of the Parameter

     

    This webinar will focus on how parameters are used in hyperlinks, queries, subreports, localized messages, tooltips, conditional objects, and dashboards in the out-of-the-box SuperMart demo. You'll see parameters being implemented as user input controls (prompts) and also being passed programmatically. We will also include a sneak-peak of JasperServer Professional 3.0.

     

    If you're interested you can register at http://www.jaspersoft.com/nw_events.html

    .

  10. I read some earlier posts from Teodor and Giulio to get this for you:
     

    • Create a new Report Group.
    • size=312]http://www.jasperforge.org/components/com_joomlaboard/uploaded/images/resetPageGroup.png
    • Select the Reset Page Number checkbox. You can leave everything else blank.
    • After you click OK you'll be on the Groups dialog box. Click Move up to make your new group the first group.
    • Create a new variable. You'll use this instead of the built-in PAGE_NUMBER in your footer.
    • [file name=resetPageVariable.png size=16062]

      • Variable Class Type: java.lang.Integer
      • Calculation Type: Count
      • Reset Type: Group
      • Reset Group: the group you created in step 1
      • Increment Type: Page
      • Variable expression: new Integer(1)
      • [/ul]
      • Edit the expressions used to show Page x of x. Replace $V{PAGE_NUMBER} with the variable you just created.
      • [/ol][/ol]

        Should work -- good luck.

        Mary
        Post edited by: mmflynn, at: 2008/04/30 18:54
  11. Hi there,

     

    I just replied to your previous post. I'm going to assume that because the errors are inconsistent, that you're dealing with different problems.

     

    Try this: download the JasperReports library. (This is just to obtain a tested sample file.) When you've downloaded JR, create a datasource in iReport using the "northwind.xml" file that is located in jasperreports-x.x.xdemosamplesxmldatasource.

     

    Then post any messages that appear in the iReport console.

     

    HTH,

    Mary

  12. Mbonner,

    I started to take a look at your file and found a problem straight away. I'll let you track this down, and if you still have a problem I'm happy to look at it later.

    When I opened your attachment in the web browser, I got this error:

    XML Parsing Error: xml declaration not at start of external entity
    Location: http://community.jaspersoft.com/sites/default/files/questions/sample_3.xml
    Line Number 3, Column 1:
    ^

    When I opened the file in WordPad, I saw this:
     

    Code:

    I'd start by making sure the XML file structure is correct. The error message implies that the very first line needs the XML declaration on the first line. My guess is that you should probably switch lines 1 and 3.

    I don't know much about XML, but I'm sure you could find something on the web to help you out. Let me know how it goes.

    Mary

  13. Samed,

     

    Your explanation seems like everything should be ok. There might be a typo or other little error somewhere. Can you provide screen shots or the JRXML file?

     

    Are you running in the default environment (Tomcat app server, MySQL database)? Anything else different about your setup?

     

    Mary

  14. Umair,

     

    What you'll want to do is first make sure that nothing is overlapping. For example, if you have a rectangle behind a field, you'll need to remove it. Use the item properties and make note of the Top, Left, Height, and Width values for each item. You may find that you're overlapping items by a pixel here and there.

     

    To get the color background you want in HTML, set the background color for each field individually. (This makes sense if you know how HTML works, but may be counter-intuitive if you're used to creating layers in graphics programs.) Specifically, select the field, right-click to get Properties. Click the [...] box to open the color palette and choose a color. De-select the Transparent checkbox.

     

    The tedious part is making sure you find all the items. The Document Structure pane helps me with that.

     

    Good luck!

    Mary

  15. I'm going to guess that you have objects that either touch or overlap each other. I had a similar problem a while back -- the report looked perfect in the Java viewer and PDF. But HTML doesn't like objects sharing the same space.

     

    Eye-balling it can be tedious and is pretty error-prone.

     

    This is what I would do. (Sorry that I don't know a better shortcut.)

     

    Open your report in iReport. Go to View > Docking Panes and make sure Document Structure is checked.

     

    One-by-one, go through each element in the Document Structure. As you click on an item, it will be selected in the iReport view/screen. If the object's handles are blue/purple, it's fine.

     

    If the object's handles are green, then it's touching or overlapping an other object. You can reposition it:

     

    - with your mouse

    - with the arrow keys on your keyboard

    - by typing new values in the object's Properties

     

    Good luck.

     

    Mary

  16. kmansfield wrote:

    I would like to store objects in the jasper server HTTP User session and then be able to retrieve them for use by IReport parameters. Are there any mechanisms in jasperserver and iReports to accomplish this? Another idea is just write my own cache implementation to retrieve at report generation, although I didn't see a way to get specific user id via iReport Parameters?

     

    In JasperServer, check out this sample file:

     

    /Reports/Samples/Sales by Month Report

     

    It includes a parameter named LoggedInUser. Its Parameter Class Type is:

     

    com.jaspersoft.jasperserver.api.metadata.user.domain.User

     

    Are there any other recommendations?

     

    If the above does not work for you, I suppose you could define a parameter using iReport (string) and map it to an Input Control in JasperServer (text). You would then programmatically pass it from your app to the report. But I think the above should work for you...

     

    Background: I have some customized acegi authentication mechanisms that authenticates and loads user info from another server once upon login and this info will be used in report generation for displaying and filtering of data. We are a reseller so company id and name are used to filter data appropriately and for displaying reports with company specific data. Also, these parameters should not be set or seen by the user to ensure user doesn't have access to another companies' data.

    Thanks,

    Keith

     

    If you use the parameter with class type com.jaspersoft.jasperserver.api.metadata.user.domain.User, there is no server-side Input Control, and as far as I can tell, the user does not see it.

     

    If you create an Input Control in JasperServer, then you'll want to de-select the "Visible" checkbox.

     

    Hope this helps. BTW, I'll join Matt Dahlman for a webinar on Wednesday morning (10 am PDT) to go through parameters. We'll cover both basic and advanced topics, and may touch on your question. Here's the abstract for the session: http://www.jaspersoft.com/nw_events.html

     

  17. I haven't quite followed everything you want to do, but I may be able to help with your current problem. Can you please post the definition (or a screen shot) for the parameter, the SQL for your query (the where clause should suffice), and a bit more info on the error?

     

    Re: the error, did you run the report from iReport or JasperServer?

     

    Mary

  18. Hi Amine,

     

    The subreports in the storeheader are not necessary as far as I can tell, and that is what is creating the blank space. I downloaded your files, increased the height of one of the subreports, ran it as a blank report so it would compile, then ran your primary report. Big old space resulted!

     

    The easiest way to find invisible objects is through the Document Structure panel on the left side. Navigate to "storeHeader" and you can then select the subreport(s) and either delete them or change their properties.

     

    I couldn't help but notice the conditional fields in the genderHeader group. You can get rid of this entire band and instead deselect the "Print repeated values" property for "store name" and "gender" in the storeHeader band.

     

    Also, I supress bands I don't want (e.g., genderFooter) by setting its band height to 0.

     

    Good luck,

    Mary

×
×
  • Create New...