Jump to content
Changes to the Jaspersoft community edition download ×

gregd

Members
  • Posts

    63
  • Joined

  • Last visited

gregd's Achievements

Enthusiast

Enthusiast (6/14)

  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. gregd

    Core Projects

    This page provides search URLs oriented around our product offerings. The product headings will take you to the project page for that product. The search links under each product will give you results for that topic within that product.[toc]JasperReports ServerJasperReports Server is a powerful, yet flexible and lightweight reporting server. Generate, organize, secure, and deliver interactive reports and dashboards to users. Getting Started How To Troubleshooting FAQ JasperReports LibraryJasperReports Library is the world's most popular Java reporting engine. Combine data sources and produce pixel-perfect documents that can be viewed, printed, or exported into a variety of document formats with this powerful reporting tool. Getting StartedHow ToTroubleshootingFAQ Jaspersoft StudioA powerful eclipse-based report designer for JasperReports and JasperReports Server. Build reports from any data source, format the look and feel for print or on-screen reading, deploy to JasperReports Server, and export to a wide range of formats. Getting StartedHow ToTroubleshootingFAQ Release NotesiReport DesignerA powerful netbeans-based report designer for JasperReports and JasperReports Server. Build reports from any data source, format the look and feel for print or on-screen reading, deploy to JasperReports Server, and export to a wide range of formats. Getting Started How To Troubleshooting FAQ Release NotesJaspersoft ETLJaspersoft ETL is a state-of-the-art data integration engine, powered by Talend. Extract data from various sources, transform the data based on defined business rules, and load into a centralized data warehouse or data mart. Getting StartedHow ToTroubleshootingFAQ
  2. Issue:The following is a Tomcat solution for running Jasper Server using a short URL. For example, using http://localhost:8080 instead of http://localhost:8080/jasperserver-pro. Resolution:How do I override the default home page loaded by Tomcat? After successfully installing Tomcat, you usually test it by loading http://localhost:8080 . The contents of that page are compiled into the index_jsp servlet. The page even warns against modifying the index.jsp files for this reason. Luckily, it is quite easy to override that page. Inside $TOMCAT_HOME/conf/web.xml there is a section called <welcome-file-list> and it looks like this: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> The default servlet attempts to load the index.* files in the order listed. You may easily override the index.jsp file by creating an index.html file at $TOMCAT_HOME/webapps/ROOT. It's somewhat common for that file to contain a new static home page or a redirect to a servlet's main page. A redirect would add a <meta> tag into the <head> of the HTML page that looks like this: <meta http-equiv="refresh" content="0;URL=http://mydomain.com/some/path/to/servlet/homepage/"> This change takes effect immediately and does not require a restart of Tomcat. Reference: http://wiki.apache.org/tomcat/HowTo/#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3FRef. Case #00026598 --Jimw at jaspersoft 06:37, 24 July 2012 (UTC)
  3. In one of our support cases, the customer had problems when they tried to work in their report with images that were stored in Oracle database. To create the test environment that could reproduce the customer's environment we needed to install the Oracle database and load into it some images, which we then could use in our test report. We have decided to describe the process step by step because loading images into the oracle database appears less obvious than we first thought Steps that should be done before the steps that were described in this article: Oracle XE database should be installed. You can download and install this database from the oracle site. Installation is fairly easy on Windows, and we did not receive any errors during installation process. Oracle provides convenient GUI tool to administer databases, create queries and stored procedures. This is a free tool that is called SQLDeveloper and can also be downloaded from the Oracle site.Since the previous steps were successfully completed we can start to prepare our test environment. Lets start the SQLDeveloper, Log in as a SYSTEM user(password for this user should be defined during the installation process) and start our work :) For our test database we will create a separate user, testuser1, and grant some permissions to him. To do these steps : We should create a user, testuser1, and define a password for them. To do that we execute the SQL command under the SYSTEM user account that is shown below: CREATE USER TESTUSER1 IDENTIFIED BY PASSWORD; This command creates a user with the name testuser1 and password equal to the word password. We should grant to this user permissions to allow him to work with Oracle under his account. To do that we should execute the SQL command under SYSTEM user account that is shown below: GRANT CONNECT, RESOURCE, CREATE ANY DIRECTORY TO TESTUSER1; Next two screenshots show how to create connection for testuser1 account and connect to Oracle XE database. After we have connected to Oracle under testuser1 we can continue our work: We need to create a local folder which than will be used to store images that should be loaded into Oracle table. To do this lets create the folder images in drive C('C:images'); We should register this directory in Oracle.To do this we should execute the SQL command under testuser1 account that is shown below: CREATE DIRECTORY imgdir AS 'C:images'; We continue with creating autoincrement sequence and the table, in which we then upload images: To create sequence in Oracle we should execute the SQL command under testuser1 account that is shown below: CREATE SEQUENCE image_id START WITH 1 INCREMENT BY 1 NOMAXVALUE; To create the table that stores blob field with images we should execute the SQL command under testuser1 account that is shown below: CREATE TABLE images(img_id NUMBER, icon BLOB); To upload images into our table we have created the stored procedure. This stored procedure has only one input parameter that represents the name of the image, that should be uploaded from C:images directory. To create such stored procedure we should execute the SQL command under testuser1 account that is shown below: create or replace PROCEDURE load_file ( pfname VARCHAR2) IS l_size number; l_file_ptr bfile; l_blob blob; begin l_file_ptr := bfilename('IMGDIR', pfname); dbms_lob.fileopen(l_file_ptr); l_size := dbms_lob.getlength(l_file_ptr); insert into images ( img_id, icon ) values ( image_id.nextval, empty_blob() ) returning icon into l_blob; dbms_lob.loadfromfile(l_blob, l_file_ptr, l_size); commit; dbms_lob.close(l_file_ptr); end; After this step we can upload test images to the database by calling our stored procedure like shown below: EXECUTE LOAD_FILE('img1.jpg'); Then we can check that image is succsessfully uploaded from SQLDeveloper by browsing row in IMAGES table and clicking the contents of the ICON column At this point we have created the test environment that includes the Oracle table populated by images(as blob fields) that then can be used for testing Oracle and iReport together. Thats all. Thank you for reviewing my article :)
  4. What do we want to do?The purpose of this article is to give a step by step tutorial to build a report which would display the top 9 values from the datasource and summarise other values in a 10th row. So if we consider that we have the total sales for many customers. Our aim here is to build a report which: Show the top 9 customers in terms of total sales figures,As 10th value, calculate the total of all sales for customers which are not in the top 9, that will be to amount for 'Other',Order all 10 values by total customers sales, descending,Highlight the 'Other' with a beautiful color.So it will a similar report than this one: Tools and version used for this exampleThis example was done using iReport 4.5 on a windows machine. It uses the sample datasource which is shipped with JasperReports Server 4.5.1 (JRS 4.5.1). How to, Step by StepThe key here is to use a XMLA datasource which allows us to query the data with MDX. Using iReport Designer if you want to preview your report you will have to create and XML/A connection to your server. Click on Then you will need to get your data. Open the Query designer by clicking on Select Query language to MDX4- And type your query. In our example we use the MDX query: with set [TopSelection] as 'TopCount(Filter([Customers].[USA].[CA].Children, ([Measures].[Store Sales] > 0.0)), Parameter("TopCount", NUMERIC, 9.0, "Number of Customers to show"), [Measures].[Store Sales])' member [Customers].[USA].[CA].[Total] as 'Sum([TopSelection])' member [Customers].[USA].[CA].[Other Customers] as '([Customers].[USA].[CA] - [Customers].[USA].[CA].[Total])' select NON EMPTY {[Measures].[Store Sales]} ON COLUMNS, Order({[TopSelection], [Customers].[USA].[CA].[Other Customers]}, [Measures].[Store Sales], DESC) ON ROWS from [Sales] Press Read Fields if the fields are not automatically retrieved (Fields highlighted in the fields section) Then the fields will be listed in the Report Inspector The last thing will be to Drop your fields in the report.ConclusionIf you have setup the XML/A connection in iReports Designer, then you will be able to preview the report, otherwise deploy it to your server using the Foodmart XML/A Connection which is located by default under /Organization/analysis/connections. A Zip file, containing the JRXML of the report used to generate the screenshot below, is attached Top9.zip. It uses the Foodmart XML/A Connection which is included in the samples that are shipped with JasperReports Server v4.5.1. Also an export of Top9_&_other.pdf is attached.
  5. Troubleshooting application errors is easiest with clean log files. The examples below are for a standard JasperReports Server installation on Tomcat. Use it as a guideline to locate the temporary, cache, and log files for your application server. To Produce Clean Log FilesStepComments and Examples1. Shutdown the application serverShutdown Tomcat (or JBoss, Glassfish, WebSphere, WebLogic etc.)2. Delete the application server's log files<tomcat_dir>/logs3. Delete the application server's temp files<tomcat_dir>/temp4. Delete the application server's cached JasperReports Server pages<tomcat_dir>/work/Catalina/localhost/jasperserver-pro5. Delete the JasperReports Server logs<tomcat_dir>webapps/jasperserver-pro/WEB-INF/logs6. Start the application serverStartup Tomcat (or JBoss, Glassfish, WebSphere, WebLogic, etc.)7. Login to JasperReports Server and reproduce the error 8. Logout of JasperReports Server 9. Shutdown the application serverShutdown Tomcat (or JBoss, Glassfish, WebSphere, WebLogic etc.)10. Review/forward the application server log files<tomcat_dir>/logs11. Review/forward the JasperReports Server log files<tomcat_dir>/webapps/jasperserver-pro/WEB-INF/logsYou can also configure the logging level. For example, you can log WARNings in addition to ERRORs. For instructions on how to increase the logging level, refer to the Log4j article.
  6. Issue:If you are trying to use a JNDI datasource connection in Weblogic, see below for the additional JasperReports Server configuration steps needed to make it work. Resolution:Append the following section to <reference-descriptor> node of WEB-INF/weblogic.xml: <resource-description> <res-ref-name>TestDatabase</res-ref-name> <jndi-name>jdbc/testDatabase</jndi-name></resource-description>[/code]Append the following section to to WEB-INF/web.xml: <resource-ref> <description>TestDatabase database</description> <res-ref-name>TestDatabase</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref>[/code]Add datasource with "TestDatabase" JNDI name to Weblogic using Admin Console. Restart the jasperserver-pro instance using Admin Console Ref. Case #00022974 -- 22:08, 1 December 2011 (UTC)
  7. For Weblogic's appServerDir in Buildomatic installation, it should be as such: For instance, if you have this Weblogic deployment directory: C:AppServersweblogic11wlserver_10.3 Then the appServerDir should be: C:AppServersweblogic11
  8. Issue: If you are getting the following error after installing JasperReports Server v4.5.1 WAR with Weblogic. Check the solution below. License FailedYour license has expired. If you evaluated JasperReports Server and have just installed a new version of it, your evaluation license has expired.Please contact eval@jaspersoft.com for assistance. Resolution: Copy the license file from your support account. Paste the license file into a home folder of the user account that will start the WebSphere Application Server. This account may differ from the logged user account. For example, if WebSphere is running on Windows Server as a service, the system account is used to start the WebSphere, and its home folder is: %SystemRoot%system32configsystemprofile Ref. Case #00025116 -- 23:31, 13 March 2012 (UTC)
  9. SummaryWhen deploying the JasperServer WAR file to a WebLogic application server, an exception prevents deployment. Note that this problem only occurs when the WAR file is not first expanded before deployment. SymptomYou may see one of the following exceptions thrown when deploying the JasperServer WAR file to a WebLogic application server: java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded Target state: deploy failed on Server examplesServerweblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUNDproblem: cvc-complex-type.2.4a: Expected elements 'timeout-secs@http://www.bea.com/ns/weblogic/weblogic-web-app" ResolutionEdit the web.xml file within the WAR file to comment out a property. Navigate to <js-install> directory.Enter the jasperserver-pro.war archive.Edit <js-install>/jasperserver-pro.war/WEB-INF/web.xml.Locate the following declaration: <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener> Replace it with following: <!-- <listener> --><!-- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> --><!-- </listener> --> Save the web.xml.Now deployment from WAR file should succeed.Alternatively, you can also deploy JasperServer with an expanded WAR file. You would follow the procedures described in Section 8, Installing From the WAR File Distribution for WebLogic with the following exceptions. The following procedures are specific to JasperReports Server v3.7.0.1, WebLogic 10.3.0 and JasperServer Installation Guide Release 3.7 [Version 0310-JSP37-22]. Before starting Section 8.5, expand the WAR file using this command: jar -xvf jasperserver-pro.war After that, you can update the files mentioned in Sections 8.5, 8.5.1 and 8.6 directly using a text editor. For example: hibernate.properties, js.quartz.properties, applicationContext-report-scheduling.xml and weblogic.xml You do not need to use the xf and uf commands since the WAR file has been expanded. Stop WebLogic after Section 8.6. Execute Sections 8.7.1, 8.7.2 and 8.7.3. Restart WebLogic.Before executing Section 8.8 Deploying JasperServer to WebLogic, check the following checkbox: Services->JDBC->Data Sources->JasperServerDataBase->Configuration->Connection Pool->Advanced->Test Connections On Reserve Test the JasperServerDataBase datasource to make sure that it is working: Services->JDBC->Data Sources->JasperServerDataBase->Monitoring->Testing Select the server or cluster and click "Test Data Source". You should see the following message:/p> Test of JasperServerDataBase on server examplesServer was successful Similarly, you can test the sample datasources such as FoodmartDataBase and SugarcrmDataBase. You can continue to Section 8.8. after the datasources have been tested. Other NotesGenerally, symptom a) only occurs in JasperServer 3.5.1. You may experience symptom b) in v3.7.0.1 with Weblogic 10.3.0.
  10. Issue:In some cases you need to disable user access to some features of JasperReports Server, for example, Dashboard Designer. Solution:Edit <js-install>/WEB-INF/applicationContext-security.xmlFind bean id="flowVoter"Add this line above the repoAdminFlow: dashboardDesignerFlow=ROLE_ADMINISTRATOR Your flowVoter should look like this now: <bean class="com.jaspersoft.jasperserver.api.security.FlowRoleAccessVoter" id="flowVoter"> <property name="flowAccessAttribute" value="FLOW_ACCESS" /> <property name="flowDefinitionSource"> <value>dashboardDesignerFlow=ROLE_ADMINISTRATOR repoAdminFlow=ROLE_ADMINISTRATOR userListFlow=ROLE_ADMINISTRATOR ... </value> </property></bean> Restart your application serverN.B. You can check for list of available flows in <js-install>/WEB-INF/flows ReferencesFor more information please follow Allow Anonymous Access to Reports#Modify_Spring_Configuration_Files
  11. Issue:In 4.7 the following query for a query-based input control will fail when the value of parameter is null: select * from foo where column = $P{parameter} Resolution:Query-based input controls now support the $X{} syntax to handle equality comparisons with null values as input. The following query will fail when the value of parameter is null: select * from foo where column = $P{parameter} Instead, use the following syntax: select * from foo where $X{EQUAL, column, parameter} The $X{EQUAL...} syntax will generate the correct SQL to compare the value of the parameter when it is null. For any other types of comparison, such as greater than, use the $P{} syntax. References:4.7 Release Notes - Upgrading Input Controls to 4.7 http://support.jaspersoft.com/download_preview.php?pl=1#ReleaseNotes
  12. We have all had experience looking at static reports and wishing we could filter, re-sort, or even highlight particular data points as we analyze what the data means. Many times, this has involved exporting the data to another tool, such as Excel, and doing additional analysis there - or worse, asking the report developer to create yet another report to make changes that we should be able to do on our own. With the table component for JasperReports combined with the JasperReports Server platform (Community and Commercial Editions), we have introduced the beginning of what will be some very exciting interactivity features for the consumers of your reports. The table component adds additional structural elements so that JasperReports not only understands the layout of the individual elements that make up the columns and rows within your tables, but also recognizes the relationship between these elements. With this understanding of the element relationships, we can now introduce additional intelligence within the final report output that will make the reports more interactive and allow you to conduct the additional analysis of information, that you may not have anticipated prior to seeing the data, directly through the report output to make faster, more informed decisions. Creating Your First Report using the Table ComponentLet's take a brief look at how to implement a report using the Table Component to generate a simple tabular representation of data. The following are the basic steps we will take: Set up a data source connection within iReport from where we will pull data for our report Create a new report within iReport, using the report wizard and remove the report bands that we won't need for our report Set up a new data set for the table component to use Add and format the table component to display the data we are interested in Deploy the report to the JasperReports Server repositoryStep 1: Create a datasource/database connectionOur first step will be establish a database connection within iReport that we can use to provide data for our report. To make things simple, we will use the foodmart data that is included as sample data with JasperReports Server. Open iReport Click on the Report Datasources icon to add a new datasource Click "New" Select "Database JDBC connection" as the datasource type, and click "Next" Fill in a name and the database connectivity information to the foodmart data within your database, and click "Save"Step 2: Create a New ReportNext, let's create a new report in iReport. Note: Because the table component uses it's own dataset, I will set up my main report query to have a dummy query of: Select 1 as dummy_field You now have a simple report showing various bands. For the purposes of this example, we will only use the Title and Summary bands. Click on "Step 2: create a new report" Select "Report"Â on the left side of the resulting window that opens and the "Blank Letter Landscape"Â template on the right and then click "Launch Report Wizard" Provide a name and file location to save your report and click "Next" Select the datasource that we created in step 1 and fill in a main report query and click "Next" Choose the fields for your report by moving them to the right side and Clicking "Next" Skip the grouping - click "Next" Click "Finish" Right click on each of the bands, except for the Title and Summary bands, and select "Delete Band"Â to remove the band from the report Set the title and summary band height to your desired height - for my example, I will set the title band height to 40 and the summary band height to 50. Now, add a Title to your report Drag the Static Text element from the palette into the Title Band Size the element to fill the title band between the margins Format the text based on how you would like the title to appear. (Increasing the font size/centering/bold, etc.) Set the text to whatever you want your Report Title to be Step 3: Add a dataset to populate the table componentThe table component does not get its data from the main report query. Rather, it requires a separate data set to populate from. This is convenient in cases where you want to have a chart as well as a table as the main report query can be used to populate the chart independently from the table. In the repository inspector pane within iReport, right click on the top level of the report tree representing the Report itself and select "Add Dataset" Name your dataset - for this example, I will name it "Table Dataset" Select to create the dataset from a connection or datasource and click "Next" Select the data source that we created in step 1 and enter the following query and click "OK"SELECT fullname AS customer_fullname, country AS customer_country, gender AS customer_gender, total_children AS customer_total_children, occupation AS customer_occupation, houseowner AS customer_houseowner, yearly_income AS customer_income FROM customer [/code]Step 4: Add the Table Component to the ReportNow that we have a report with a dataset defined for our table component, we are ready to add the table component to the report. Once you have set and accepted the formatting, the table will open with the fields populated in the table as well as the field names as the heading in the column header. You can change the heading text to any text that you wish by double clicking on the cell and typing the text you want. Lastly, we need to make sure that the table component is sized in our main report so that it will fit properly. Each of the columns in the table is automatically sized to 90 pixels, giving us a total of 630 pixels across. Looking at the main report, there is 752 pixels available from margin to margin. Within iReport, drag the Table from the Palette into the Summary Band When the Table Wizard opens, select the Dataset we defined in Step 3 as the dataset from which the table should be created and click "Next" Select all of the fields and move them to the right column in the field selector and click "Next"Â (Note that the order here is the order that the fields will appear in your table.) Select to use the same connection used to fill the master report and click "Next" Now set the formatting for your table: Select the color scheme you want to use within your table Check the box to use an alternated detail row background Set the border style based on your preference Select the headers and footers you want to include in the report - for the purposes of this example, I will choose to only include the column header Click "Finish" Right click on the table component in the main report and select "Size > Adapt to Parent"Â in order to automatically set the table component available size to the same as the Summary band.Now that we have everything in the report set up, we can confirm that it works as expected by running it within iReport. Make sure that the datasource we set up in Step 1 is selected as the current Datasource in iReport. Now click "Preview"The report should run, pulling data from the datasource and presenting the first page as expected. Step 5: Deploy the report to JasperReports ServerWe will assume that you have already set up a connection to your installation of the JasperReports Server. Using the Repository Navigator within iReport, we will now take the report that we created and deploy it to JasperReports Server. In our case, since we are using the sample data that came with the JasperReports Server, a data source is already defined that points at the Foodmart data that we developed our report for. Change from the preview back to the Designer mode within iReport Navigate in the Repository Navigator to the folder where you want to deploy your report Right click on the folder and select "Add > JasperServer Report" Give the report a unique ID, a descriptive name, and a Descriptive description and click "Next" Select to use a "Locally Defined"Â JRXML file and click "Get source from current opened report" an then click "Next" Click to select a Data Source from the repository and click "Browse" Browse to "analysis/datasources" and select the "FoodMartDataSource" and click "Open Resource" Finally, click "Finish"Now you are ready to login to your JasperReports Server instance and run your report. Using the First Set of Interactive FeaturesOnce you login to JasperReports Server and run your report that uses the table component, you will be able to access interactive features such as sorting and filtering. SortingTo sort the data, click on the column header for the field you want to sort by: Clicking once will sort ascending and present an indicator in the column header that the data is sorted Clicking a second time will change the sort to descending and change the direction of the sort indicator Clicking a third time will eliminate the sorting and remove the sort indicatorSorting a second column will result in the data first being sorted by the first column and then by the second. FilteringTo filter the data, right click on the column header for the field you want to filter based on. There are various filter options such as equals, between, greater than, etc. based on the type of data you are filtering. Adding a filter to a column will result in the data being filtered and a filter indicator appearing in the column header. To remove a filter, simply right click on the column again and click "Clear" on the filter. An ExampleTaking the sample report we created, we can use filtering and sorting to identify answers to questions that we may not have thought to ask when we were designing the report initially. For example, let's say that we wanted to know which female customers were from Canada, had more than 4 children and owned a home. We want this list sorted by name. We can now filter and sort our way to the answer: Add a filter on the gender column to "Equals" F Add a filter on the # of Children to "Greater Than" 4 Add a filter on the Country to "Equals" Canada Add a filter on the Home Owner column to "Equals" Y Sort on the name columnUsing these simple sorting and filtering features, we now have a 2 page list of customers that meet the criteria that we were looking for from our original list of over 380 pages. We can now export the resulting report in the format we wish to share it in. You can see the value of the table component and the interactivity it introduces when combined with the server platform. Over time, we will expand on the capabilities and the value will only increase. I hope this post will help you to make use of the table component wherever you can to put even more power in the hands of your users. Want the report source for this example? Download it table_component_blog_example_jrxml_zip_19503.zip.
  13. Editors Note: Jaspersoft continues to expand and improve the functionality of the REST web services. This API allows client applications to interact with most features of the server over HTTP using standard XML and JSON objects. With the completion of the v2 REST API, Jaspersoft announces the deprecation of the original REST API and the end-of-life of the SOAP services. While these services will remain available in the server for the time being, Jaspersoft recommends that you migrate your integration to the latest API available: Jaspersoft v2 REST API. Getting started with REST Web Service APIStarting with version 4.2, the JasperReports Server can be accessed through a new Web Service API based on the REST framework. The goal of Jaspersoft is to provide two equally powerful web service APIs (namely the SOAP and REST APIs) to integrate the functionality of the JasperReports server inside your application. This article introduces the Jaspersoft REST Web Service API, highlights the key features and then shows how you can use the REST API to integrate the JasperReports server in your application. Please feel free to contact the Jaspersoft product team at product_team@jaspersoft.com if you have any questions or feedback on this article. IntroductionThe REST (REpresentational State Transfer) Web Services API is a new set of APIs built on the RESTful framework to programmatically perform server operations. This REST API relies on a stateless, client-server, cacheable communications protocol and uses the HTTP protocol to interact with the JasperReports server. Difference between REST and SOAP Web Service APIsThe flow chart below shows the how the SOAP and REST APIs work with the request, process the data and finally return the response to the client. The architectures for the two API are quite similar. The big difference is how the REST approach simplifies the process of interacting with the API. The calling application does not need to build an XML string to contain the request. The requirement for the XML string in SOAP puts an additional burden on the application both in terms of development time and performance during the execution of the API code. Features of the REST APIThe REST API was launched in version 4.2 of the Jaspersoft BI suite. This initial release contains the interface to the repository service. The following services are available in the REST API in version 4.2:- resources - For listing and searching for resources in the repository.resource - For getting detailed information about a resource, creating a resource, modifying it or deleting it, depending on the HTTP method used.report - For running a report, specifying an export format, and downloading the report output.Refer to Chapter 2 of the Jaspersoft REST APIs guide for more information on how to use the REST APIs. Deprecated Web ServicesThe server's first REST API (now called v1) is deprecated. These services are no longer supported, do not work with the latest features of the server, and are never guaranteed to succeed. Note that meanings of PUT and POST were reversed in the REST v1 API. Please, visit below documentation for details: Deprecated Web Services Deprecated SOAP ServicesThe original SOAP web services at the following URLs are also deprecated and no longer supported. The SOAP web services will no longer be maintained or updated to work with new features of the server. In particular, the SOAP web services do not support interactive charts or interactive HTML5 tables. Though the server may still respond to these methods, they are never guaranteed to work. The SOAP web services often refer to the http://www.jasperforge.org/jasperserver/ws namespace. This namespace is only an identifier; it is not intended to be a valid URL. Please visit this Link for details. Choosing the right APIIt depends on what you want to do with the APIs. You might even choose to use both the APIs in your application to cater to different use cases. Here are some of the criteria that will help you to decide which API to use:- Features - You should first check the Jaspersoft Web Services Guide to ensure that the desired functionality is available in the API you want to use. If the desired functionality is available in both the SOAP and REST APIs, then the following criteria will help you make a decision.Ease of Development - The calls to the REST API are much easier to code as they do not require the calling application to create an XML string to contain the request. A REST call is quite simply a URL call. This makes it easier to use the REST APIs when development time is at a premium and you need to get your application up-and-running quickly. For this reason, REST is the preferred framework in most modern applications.Platform Support - REST API is platform-agnostic and does not rely on the application architecture as all requests are sent using the standard HTTP protocol. On the other hand, support for SOAP varies in different platforms/application servers and so, there might be inconsistency in the functionality based on how your platform has implemented the SOAP specifications.Custom requirements - Your environment might have some specific requirements that play an important role in deciding the API you use:WS-Security - HTTPS is the standard protocol to implement security for both SOAP and REST. However, that level of security might not be adequate for some types of applications and the WS-Security extension for SOAP might be a mandatory requirement for that application.ACID Transactions - If your application needs ACID transactions over a service, you will have to use the SOAP API. While the REST framework supports transactions, it is not as comprehensive as SOAP and is not ACID compliant. This transactional reliability requirement is only very rarely seen in some enterprise applications.Calling the REST APIYou would essentially call a URL and pass the necessary parameters to that URL. This URL call can be made in any application language that supports the HTTP protocol including Java, PHP, .Net, Objective-C etc. The URLs should be of the following structure:- http://{host}{:port}/{jasperserver context}/rest/{service name} For Example, if you wanted to list all the resources in the "/salesreports" folder on a JasperReports server running on your local machine, you would call: - http://localhost:8080/jasperserver/rest/resources/salesreports ExampleDownload the sample application attached below Pre-requisites: Java, Maven, JasperReports server (version 4.2 or later) Executing the Code Sample: Extract all the files from the downloaded zip file to your file system.Check the parameters at "srcmainjavacomjaspersoftjasperserverrestsampleConsts.java" to verify that the REST API can connect to your JasperReports server instance. Edit the file, if needed.Ensure that the JasperReports server instance is running.Run the following Maven command in the command prompt window - "mvn test".
  14. What is ODBO Connect?ODBO Connect is a connector for Excel that uses XMLA connectivity to run MDX queries on an JasperAnalysis cube. In effect, this product provides an alternative User Interface to the JPivot interface implementation in JasperAnalysis. This page will focus on things that may not be documented. The documentation and release notes should be referenced. System RequirementsODBO Connect requires the followin: Excel 2007 : it works with Excel 2003 (SP3 minimum) but with some limitationsMicrosoft .Net frameworkInstallationThe installation of the ODBO driver is very straight forward. Simply follow these steps: Run "Jaspersoft ODBO Connect.msi" file and choose Install.When prompted, enter your license key (Note: It is recommended that you use at least a temporary key. If a key is not provided, access to the software will end after 30 days and will not be able to be extended.)Reboot your computer once the installation is complete.ConfigurationBasic configurationSee the documentation provided for more details (with screenshot) Jaspersoft_ODBO_Connect_User_Guide.pdf Note: Since we introduced Multi-tenancy in v3.5, the username must contain the organization id. For example, if you wish to connect with demo user, enter the following as your username: demo|organization_1 Optional ConfigurationsSaving password is no longer mandatory since ODBO v1.0.2 :As excel saves thepassword in 'clear' in the .odc file this could be a security issue. From this version you can check or not check the box save password when you finish the connexion. If you don't check the save password box (i strongly recommand this choice) the user will be prompted for the password once per session - means when the excel sheet is loaded and when the user tries to use the cube. Disabling cache :There is a easter egg in ODBO connect : you can disable the cache option. When a dimention changes (add a country or something else ...) you have to close excel and restart it to see the change. This is due to the cache witch prevent discovery queries each time you expand/collapse a dimention. In fact using cache speeds up the execution time (3s with cache VS 15s without). BUT in some cases cubes could change quite frequently and users need to get updates just collapsing/expanding hierachies without having to exit and reload their excel sheet. To deactivate the cache : when creating the connexion add ?disableCache (example http://localhost:8080/jasperserver-pro/xmla?disableCache) Using ODBO ConnectODBO Connect functionality is really the same as the excel pivot table with the data coming from your cube. Accessing Data not Displayed in the Pivot TableThe following is a cool feature of the driver (witch is not directly documented). Using the CUBEVALUE formula in excel will give you access to data that is not displayed in the pivot table. Here is a sample of a formula to use with the sugarcrm cube sample: =CUBEVALUE("SugarCRM SalesAnalysis","Measures.Avg Sale Amount","Account Location.All Locations") See also how excel2007 display the mesures in a context menu while you type the query (this is a feature that many people find very powerful) Finally you can get that kind of output (pivot table and a cube value formula) quite easilly : Good to know ...How to install a multi-user key for large deployementIn cases where you have purchased a multi-user key for ODBO Connect, it may be helpful to distribute the key as a registry setting to update several machines with the license key. There are desktop managment tools that work well with updating registry settings, but end users can also update their registry easily by simply double clicking on the exported registry entry. Install the product and the license key on a single machineRun "regedit" and export the registry entry contained inHKEY_CLASSES_ROOTCLSID{DBAD6952-E12C-4e5b-B2D4-E9CF9AF5B5BD} . The resulting file can then be sent to all users. The users can merge the entry into their registry prior to installing the ODBO Connect.How to re-install a key if you get error installing a new oneFirst of all uninstall the product, reboot, then reinstall it.In Case this doesn't work : Delete the following registry key and then re-install: This is in the HKEY_CLASS_ROOT: CLSID{DBAD6952-E12C-4e5b-B2D4-E9CF9AF5B5BD} As a last resort, if this still doesn't work you can try :Uninstall com.cincom.xmla.bridge dans assembly .run regsvr32 /u bioledb.dll (all dll will be here)Remove the directory where the program is installed.The program is usually located here C:Program FilesJasperSoftJaspersoft ODBO Connect Release notes:This contains important informations about changes since the first release ... please have a look at it as this could contain the solution to your problem. ODBO Connect release notes: JasperSoft ODBO Connect - Release Notes-----------------------------------------------------------------------------------April 2013 Version 1.0.9--------------------------------------------- Fixed problem with Grand Total (Visual ToTal) update in filter.--------------------------------------------December 2012 Version 1.0.8--------------------------------------------- Fixed Excel error "An operation that uses the database driver could not be completed".- 64 bit version is available.- Fixed Showing dimension properties.- Fixed bug with number format that contains currency sign other than the dollar ($) sign.- Fixed bug when hierarchy name and dimension name match.- Allowed log settings after connecting.Known issues:-------------When both 32-bit and 64-bit versions are installed on the same machine, uninstalling oneversion also uninstalls some of the components of the other version. You must reinstallor repair the version that you wish to keep. For example, if you install both64-bit and 32-bit versions on the same machine, uninstalling the 64-bit version willcause the 32-bit version to not work correctly. You mustre-install or repair the 32-bit version, and vice versa.August 2011 Version 1.0.7--------------------------------------------- Fixed bugs in the XMLA Discover layer.- Used 64 bit data types.--------------------------------------------February 2011 Version 1.0.6--------------------------------------------- Fixed DLL load error when a user clicks on cancel to get 30 days trial.- Added logic for IRowsetLocate.----------------------------March 2009 Version 1.0.4----------------------------- Fixed problem with user authorization when incorrect password entered. When an incorrect password was enetered, the system was not re-prompting for the password properly.----------------------------January 2009 Version 1.0.3----------------------------- Fixed problem with character encoding.----------------------------December 2008 Version 1.0.2----------------------------- Fixed various problems dealing with incorrect numbers returned from the XMLA server.- Allow saving connection information without saving the password. User will be prompted for the password if a username is specified but no password.----------------------------Novemeber 2008 Version 1.0.1----------------------------- Fixed a bug that was preventing the proper locale to be passed to the XMLA Server.- Fixed a problem dealing with reserved XML characters.- Allowed disabling of the metadata cache by appending ?disableCache to the connection URL. (Example: http://localhost:8080/jasperserver-pro/xmla?disableCache ) ----------------------June 2008 Version 1.0----------------------Initial Release
×
×
  • Create New...