Pull Reports™ Release Notes

Abstract

Learn about the enhancements and changes for each release of Pull Reports™ Ad Hoc Reporting software.


Table of Contents

Release 2.2


Release 2.2 introduces user queries, the ability to save report queries to a database and return to them later to view or edit. The Standard Edition license permits the saving of infinite user queries per user while the Community Edition license restricts user queries to ten per user.

Release 2.2.2

REST-API dependency upgrades

This release upgrades the following Java dependencies.

  • org.codehaus.groovy:groovy-all to 2.5.23

  • org.slf4j:slf4j-api to 1.7.36

  • com.opencsv:opencsv to 5.8

Creator dependency upgrades

Ths release upgrades the following Report Creator JavaScript dependencies.

  • Leaflet upgraded to 1.9

  • JQuery to 3.7

Release 2.2.1

Closed Defects

Grails 5 support

The Grails installation instructions are now compatible with Grails 5.3.

Spring Boot 2.7 support

The Spring Boot installation instructions are now compatible with Spring Boot 2.7.

Release 2.2.0

Closed Defects

  • Canned queries with viewMode=map and no geojson configuration does not log Exception message (#589)

  • Canned query configuration incorrectly throws Exception if configured sort term is not present in the configured columns due to access permissions (#590)

Release 2.1


Upgrade notes and breaking changes

Release 2.1 is a maintenance release with minor breaking changes from the prior release. Please see the section called “Upgrading from 2.0 to 2.1” for more information.

Additional Closed Defects

  • Htmltree <ol> styling should be scoped to the output results <div>. (#579)

Release 2.1.4

Closed Defects

  • Navigating to an additional table in Columns panel after clicking the breadcrumb navigation doesn't work (#593)

Release 2.1.3

Closed Defects

  • Populate a new filter term with the table and column of the last term (#592)

Release 2.1.2

Closed Defects

  • Only append order by clause to export report queries with limit or offset for SQLServer dialect. (#587)

  • Restore Java 8 runtime compatibility.

Grails 4 support

The Grails installation instructions are now compatible with Grails 4.1.

Release 2.1.1

Note

Release 2.1.1 is incorrectly not Java 8 compatible. It is recommended to upgrade to 2.1.2.

Closed Defects

  • Allow table and column names to contain delimited identifiers such as double quotations or the backtick. (#586)

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • org.codehaus.groovy:groovy-all to 2.5.16

Release 2.0


Release 2.0 introduces Pull Reports™ Community Edition. Community Edition is available at no cost for up to five <report>s per deployment and supports the json, xml, csv, html, and htmltable export reports formats. Pull Reports™ Standard Edition adds support for the kml, geojson, map, htmltree, and jsontree formats and greater than five <report> deployments.

Please see the section called “Upgrading from 1.7 to 2.0” for more information on installing release 2.0. Additionally, see the Administrative Guide, License documentation for more about the change to Pull Reports™ licenses.

Release 2.0.3

Closed Defects

  • Regression fix for null reference on JSON meta.sorts attribute caused by #582.

Release 2.0.2

Closed Defects

  • Evaluation mode incorrectly prints on ad hoc creator for unlimited licenses. (#581)

  • Removing a column with an active sort when no other column is sorted does not remove the associated sort parameter. (#582)

Release 2.0.1

Closed Defects

  • Licenses with unlimited reports generate error on startup. (#580)

Release 1.7


Release 1.7 is a maintenance release with dependency upgrades, defect fixes, and API improvements. The API improvements include many naming standardizations which result in deprecations and some breaking changes.

Upgrade notes and breaking changes

Release 1.7 contains breaking changes from the prior release. Please see the section called “Upgrading from 1.6 to 1.7” for more information.

Additional column paramTypes

The <column> paramType attribute now accepts java.math.BigDecimal and java.math.BigInteger.

Closed Defects

  • The AccessControlVoter associated with a <report> is not invoked if an AccessControlVoter associated with the parent <catalog> is present. (#555)

  • SQL not logged during Exception processing in the export report API. (#556)

  • XML special characters in <table> displayName attribute are not escaped in html and htmltable renderers (#557)

  • JSON special characters in <report> name and <catalog> name attributes are not escaped in geojson renderer. (#558)

  • Duplicate columns in the columns parameter output duplicate <Data> elements in the KML format. (#559)

  • XML, KML, and GeoJSON renderers unnecessarily attempt a second export query after the count query returns 0 results. (#560)

  • A pre-filter should not be added in duplicate to the export request if it already exists as a filter parameter. (#550)

Spring Boot 2.2 support

The Spring Boot installation instructions are now compatible with Spring Boot 2.2.

Release 1.7.4

Enhancements

  • The Html, Html Tree and Map export report formats now allow the user to change the export format to any other format. Previously, one could only export to CSV, JSON, XML, and KML. (#576)

New export select menu in 1.7.4

Old export buttons in 1.7.3

Breaking API Change

  • The GET Report Information JSON response schema's formats value type changed from an array of string to array of object. This API is used internally by the Pull ReportsReport Creator, but any custom clients dependent on this API should change accordingly. (#575)

Release 1.7.3

Enhancements

  • The GeoJSON and Map export report formats now include exported columns from to-one descendant tables (#571)

  • Implemented minification for map, html, and htmltree format CSS and JS files (#574)

Release 1.7.2

Closed Defects

  • Return GeoJSON geometry in property map in geojson export if the corresponding column is included in the columns parameter (#568)

  • Return KML geometry in ExtendedData list in kml export if the corresponding column is included in the columns parameter (#569)

  • Add Filter button does not display due to self-closing tag (#570)

Release 1.7.1

Creator dependency upgrades

Release 1.7.1 upgrades the following Report Creator JavaScript dependencies.

  • AngularJS upgraded to 1.8

  • Leaflet upgraded to 1.7

  • Leaflet Markercluster to 1.5

  • JQuery to 3.6

  • Lunr to 2.3

Release 1.6


Upgrade notes and breaking changes

Release 1.6 contains breaking changes from the prior release. Please see the section called “Upgrading from 1.5 to 1.6” for more information.

Tree export formats

Release 1.6 debuts two new Pull Reports REST API export formats, jsontree and htmltree. Tree export formats return information graphs which mimic the relational join graph of the database schema structure. Tree export graphs originate from the report's base table and "leaf" into the child relationship columns included within the export result.

Return to Creator from HTML exports

Release 1.6 supports a new navigation button within the REST API html, map, and htmltree export formats back to the Report Creator.

Activate the button via the creator.url configuration property.

Table displayName output in HTML exports

Release 1.6 now outputs the <table> displayName value above each column within the REST API html, htmltable, map, and htmltree export formats.

JSON export link in HTML exports

Release 1.6 adds a JSON export link to the export links of the REST API html, map, and htmltree export formats.

Release 1.6.3

Creator dependency upgrades

Release 1.6.3 upgrades the following Report Creator JavaScript dependencies.

  • AngularJS upgraded to 1.7.9

Release 1.6.2

Closed Defects

  • Button borders disappear at certain pixel ratios in webkit browsers. (#554)

Grails 4 support

The Grails installation instructions are now compatible with Grails 4.

Release 1.6.1

Closed Defects

  • Legacy license file cause error in report information web service. (#553)

Release 1.5


Upgrade notes and breaking changes

Release 1.5 has no breaking changes from the prior release. Please see the section called “Upgrading from 1.4 to 1.5” for more information.

Adjustable width columns within the Report Creator

Release 1.5 adds adjustable width columns to the Report Creator. To adjust column width, click and drag the column borders to the left or right within the Result Preview. Width adjustments persist within the user's browser local storage.

Display of table and column descriptions within the Report Creator

Table and column <description>s are now visible within the Report Creator Result Preview. To view a table or column description, click the description indicator in the bottom left corner of the respective table or column header cell.

Release 1.5.3

Creator dependency upgrades

Release 1.5.3 upgrades the following Report Creator JavaScript dependencies.

  • AngularJS upgraded to 1.7.9

Release 1.5.2

Closed Defects

  • Button borders disappear at certain pixel ratios in webkit browsers. (#554)

Release 1.5.1

Closed Defects

  • Clicking panel indicator buttons in the report creator should toggle the panel visibility. (#547)

  • htmltable and map export report formats incorrectly display '1' for pagination 'from' value when no results. (#546)

Release 1.4


Upgrade notes and breaking changes

Release 1.4 contains breaking changes from the prior release. Please see the section called “Upgrading from 1.3 to 1.4” for more information.

Canned Queries

Release 1.4 introduces <canned_query>s to the Pull Reports™ Catalog Configuration and Report Creator. A <canned_query> is a collection of Export Report REST API parameters with a name and optional description. Use <canned_query> to provide one click access to report exports via the new Query Viewer.

Report Creator Makeover

In release 1.4, the Report Creator receives a new, streamlined look and several usability improvements. The improvements increase the size of the results preview, improve the creator's usability on mobile devices, and help users better navigate through a complex report tree graph.

In addition to a user interface makeover, the Report Creator receives a new component in 1.4, the Report Repository. The Report Repository is the new, default view of the Pull Reports™ Report Creator. It displays the hyperlinked name and description of all configured <report>s and <canned_query>s. The Report Repository replaces and improves the Switch Report menu of release 1.3 by providing more report context and descriptive information.

Read more about the new 1.4 Report Creator interface in the Component Overview documentation.

Extending the Report Creator

The Report Creator initialization JavaScript object now has a creatorControlsCallback property which is a JavaScript callback function invoked after the rendering of the Report Creator Results Preview. Use the callback to add custom controls to the creator.

Improved Results Preview export URL display

The Report Creator Results Preview Export URL dialog button now displays Export Report REST API HTTP and parameter information in a dialog box. The extra information helps users of the Pull Reports REST API quickly construct request URLs.

Catalog and Report Information REST Service Enhancements

The GET Catalog Information endpoint now includes <report> <description> and limited <canned_query> information within the JSON result. This enhancement permits clients of the service, such as the new Report Repository, to display more report contextual information.

Additionally, the GET Report Information endpoint now includes full <canned_query> information within the JSON result. This enhancement supports the new Query Viewer.

Release 1.4.8

Creator dependency upgrades

Release 1.4.8 upgrades the following Report Creator JavaScript dependencies.

  • AngularJS upgraded to 1.7.9

Release 1.4.7

Closed Defects

  • Resolve XSS vulnerabilities within preview table and map. (#538)

Release 1.4.6

Closed Defects

  • Long labels on filter value options do not wrap (#537)

Release 1.4.5

Closed Defects

  • The Report Creator columns panel does focus when the report's base table name is clicked from search mode. (#533)

  • Reflect error message on Report Creator repository for non-200 requests to the catalog information API. (#491)

  • Disable Report Creator columns panel buttons during export report refresh. (#534)

Release 1.4.4

Enhancements

  • Release 1.4.4 reduces the size of the pullreports-min.css file by 17% for faster Report Creator startup times.

    The reduction came from the removal of unused Bootstrap 3 style classes for Navbar, Breadcrumbs, Pagination, Pager, Labels, Badges, Jumbotron, Thumbnails, Progress Bars, Media Items, and Wells plus Bootstrap Javascript components Popover and Carousel.

    If your creator installation web page depends on any of these style classes, download the style classes from the Bootstrap customize and download website and include them within the installation web page.

Closed Defects

  • Removing a column from the creator which has a sort does not remove the sort. (#528)

Creator dependency upgrades

Release 1.4.4 upgrades the following Report Creator dependencies.

  • Bootstrap upgraded to 3.4

Release 1.4.3

Enhancements

  • Release 1.4.3 adds official support for Oracle 18.

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • org.codehaus.groovy:groovy-all to 2.4.17

  • com.opencsv:opencsv to 4.6

Release 1.4.2

Closed Defects

  • Sort indicator icons on preview table should point up for ascending sort and down for descending sort. (#520)

  • Preview table pagination indicator should display start record of 1 plus the offset instead of 0 plus offset. (#521)

Release 1.4.1

Enhancements

  • Release 1.4.1 adds official support for MySQL 8.

  • The json and xml formats of the Export Report REST API now include information about the sort applied to the export result. For an example, see the meta.sorts property of the returned JSON within the json export format.

Closed Defects

  • Servlet include decoration incorrectly places content outside the html body. (#509)

  • After removing the last value from "is one of" list in Query Viewer, the Apply button is still active even though the form is invalid (#515)

  • Sort indicators do not correctly show in Report Creator when a <export_config> has a default sort. (#439)

  • The XML DTD for OK (200) response from the Export Report API has structural problems. (#519)

Release 1.4.0

Initial release.

Release 1.3


Upgrade notes and breaking changes

Release 1.3 contains breaking changes from the prior release. Please see the section called “Upgrading from 1.2 to 1.3” for more information.

Custom catalog configuration security

Release 1.3 adds the new <access_control_voter> element to enforce custom access control at all levels of the report hierarchy. This control ensures that users of the Pull Reports REST API or Report Creator may only access permitted catalogs, reports, relationships, and columns.

See the section called “Securing Pull Reports™” for more information.

Catalog Configuration Java API

Release 1.3 contains the first release of the Catalog Configuration Java API. The Catalog Configuration Java API is a Java bean API which permits Pull Reports™ catalog configuration within Java instead of XML. The Catalog Configuration Java API means the full power of the Java programming language and runtime libraries may be used to configure Pull Reports™. This permits configuration assembly from any external source such as a database, network resource, or content management system.

In order to use the Catalog Configuration Java API prefix the fully qualified name of a Java implementation of the CatalogConfigurationFactory interface with factory: within the catalogs configuration property.

See the catalogs configuration property for more information.

Customize <label_value_query>s per request

In release 1.3, the <label_value_query>'s value is now a Groovy template which may be used to dynamically create the label value query at request time. Additionally, the HttpServletRequest associated with the GET Label Value List REST API request is available as the request template attribute.

This new feature allows label value lists within the Pull Reports™ Report Creator Filter web form to be customized to the permissions or attributes of the current user.

See the section called “Securing Label Value Lists” for more information.

Release 1.3.2

Enhancements

Release 1.3.1

Enhancements

  • Make the PlaceholderDefaultQueryLabelValuesProvider available to the Catalog Configuration Java API so that users can mimic the <label_value_query_default> capability within the Java API. (#474)

  • The Pull Reports™ JAR is now available at an enterprise Maven 2 repository for the benefit of licensees and trial users. Learn how to use the new repository to manage Pull Reports™ dependencies at the installation guide.

  • The Pull Reports™ JAR file is now available at the Pull ReportsMaven repository for license holders and trial users. The Maven repository greatly simplifies Pull Reports™ installation and upgrade since maintainers no longer have to manage Pull Reports™ dependencies within their installation WAR.

    Pull Reports™ license holders and evaluators may contact to obtain Maven repository credentials.

Closed Defects

  • Commas and semicolons in the <report> name attribute cause error in Content Disposition header within the XML and KML formats. (#465)

Release 1.3.0

Initial release.

Release 1.2


Upgrade notes and breaking changes

Major breaking changes

  • This release contains a new pullreports-catalog-1.4.0.xsd schema file. Change the xmlns attribute in each Pull Reports™ XML Catalog file to the new value.

    <catalog xmlns="http://www.pullreports.com/catalog-1.4.0"...

    The pullreports-catalog-1.4.0.xsd schema contains a new <subquery> element but is otherwise backwards compatible with the pullreports-catalog-1.3.0.xsd structure.

Customize <table> SQL with <subquery>

Release 1.2 adds a new <subquery> element as a child of the <table> element. If included, <subquery> replaces the <table> name attribute within the Export Report REST API SQL from clause with a subquery statement. <subquery>'s may be dynamically created at request time through the use of a Groovy template or designated factory class. When combined with HttpServletRequest attributes, <subquery>s may provide row based access security to any <table>.

See the <subquery> and securing data rows documentation for more information.

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • com.opencsv:opencsv to 4.1

  • com.verhas:license3j to 1.0.7

Note

Since the opencsv upgrade changes the transitive dependency footprint, if an existing Pull Reports™ installation uses the project-local JARs dependency management strategy, please ensure the JAR files in the Pull Reports™ media's lib directory are available within the installation application's classpath.

Release 1.1


Upgrade notes and breaking changes

Minor breaking changes

  • The Leaflet dependency bundled with the Report Creator JavaScript is no longer available via the JavaScript global L variable. Any creator initialization code requiring Leaflet must be within the creator initialization require function with leaflet as an injected dependency.

    Change creator initialization code written like this:

    <script>
    // L is a global variable. No longer supported.
    var layer = L.tileLayer(...);
    require(['pr-require-config'],function(){
        require(['angular','pr-main']
            , function(angular,prMain) {
                angular.element(document).ready(function() {
                    prMain.init({
                        ...
                    });
                });
            }
        );
    });
    </script>

    To this:

    <script>
    require(['pr-require-config'],function(){
        require(['angular','pr-main','leaflet']
            , function(angular,prMain,L) {
    
                // L is a AMD dependency.
                var layer = L.tileLayer(...);
    
                angular.element(document).ready(function() {
                    prMain.init({
                        ...
                    });
                });
            }
        );
    });
    </script>

Support for OR filters

The filter parameter of the Export Report REST API now allows multiple filter terms to be logically OR'ed together via the or keyword. Multiple filter parameters within the same GET request are still AND'ed together.

For example, the following filter parameters:

filter=/tableA@foo is not null or /tableB@bar > 10&filter=@baz in ('A','B')

result in the logical query: (Return all rows in which tableA, column foo is not null or tableB, column bar is greater than 10) and whose base table column baz is equal to either 'A' or 'B'.

OR filters in the Report Creator

Release 1.1 provides Add OR term buttons within the Filters navigation tab to specify new OR filter terms. Alternatively, create new OR filter terms by dragging a column from the Results Preview into an existing filter definition.

Viewing export report SQL

Release 1.1 adds a new SQL button to the Results Preview. The button opens a dialog containing the SQL query and query parameters which produce the export result.

The new GET Export SQL REST API endpoint supports the SQL button by returning the SQL produced from a given set of Export Report REST API parameters. To prevent unwanted database schema information leakage, the GET Export SQL REST API is disabled by default. See the GET Export SQL REST API documentation for instructions on how to activate both the API and SQL button for permitted users.

For consumers of the GET Report Information REST API, release 1.1 also includes a new exportSqlIsActive attribute which is true if the GET Export SQL endpoint is active for the report.

Improved Report Creator API

Release 1.1 removes all formatting restrictions on the filter and sort parameters in the Report Creator parameter API such that the parameters are now formatted identically to same parameters within the Export Report REST API. This enhancement is made possible by the new GET Export Parse Parameters endpoint.

Report Creator usability improvements

Release 1.1 adds the following usability improvements to the Report Creator.

Add Filter button

Create filters directly from the Filters navigation tab with the new Add Filter button.

Streamlined column labels

Column labels within the Tables and Search navigation tabs now have a streamlined, compact display. Click or drag the column label to add the column to the Results Preview. Shift+click to remove the column.

Streamlined table labels

Release 1.1 also streamlines the display of table labels within the Tables navigation tab, Related Tables panel for better understandability and to save vertical space. Additionally, The table Metadata button moves to a drop-down menu item, and the cardinality indicator moves to the left of the table label.

PostgreSQL 9.6, SQL Server 2017, and Grails 3.3 support

Release 1.1 now officially supports both PostgreSQL 9.6 and SQL Server 2017. Additionally, the Grails installation instructions are compatible with Grails 3.3.

Creator dependency upgrades

Release 1.1 upgrades the following Report Creator JavaScript dependencies.

  • AngularJS upgraded to 1.6

  • Leaflet upgraded to 1.2

  • Leaflet Markercluster to 1.1

  • Lunr upgraded to 2.1

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • org.codehaus.groovy:groovy-all to 2.4.13

Release 1.0


Upgrade notes and breaking changes

Major breaking changes

  • This release contains a new pullreports-catalog-1.3.0.xsd schema file. Change the xmlns attribute in each Pull Reports™ XML Catalog file to the new value.

    <catalog xmlns="http://www.pullreports.com/catalog-1.3.0"...

  • Within Pull Reports™ XML Catalog files, the defaultSort attribute moved from the <report> element to the <export_config> element.

  • Within Pull Reports™ XML Catalog files, the <column> export attribute is now a boolean value.

    Change <column> elements attributed as export='never' to export='false'.

    Since no <column>s may be absolutely required in Pull Reports REST API results, remove the export attribute from <column> elements configured as export='optional' or export='always'. <column>s without an export attribute are by default optionally exportable.

    Consider adding base table <column>s previously attributed as export='required' to the defaultColumns <export_config> parameter.

  • The containing HTML element into which the Report Creator installs must have a data-pr-creator attribute instead of data-pr-layout.

    To implement this change in creator HTML pages, change this:

    ...<section data-pr-layout id='...'></section>...

    To this:

    ...<section data-pr-creator id='...'></section>...

Minor breaking changes

  • The default behavior of the Export Report REST API columns parameter changed slightly in the case of an empty parameter value or a parameter value missing the base table path. In the former case, instead of returning all the exportable columns of the base table, an empty columns parameter now only returns the defaultColumns, if configured, from the base table. Similarly, if the columns parameter value is not empty, but is missing the base table path, only the defaultColumns, if configured, will be added to the beginning of the export result.

Redesigned Report Creator

The Report Creator underwent a complete redesign in this release. Major enhancements include:

  • Streamlined, single-page interface with minimal scrolling.

  • Table <column>s may be included individually into the export result and repositioned as needed.

  • Improved drag-n-drop interactivity.

  • Full text <table> and <column> search helps users find the data they need.

New defaultColumns attribute

The <export_config> has a new defaultColumns attribute to specify the default columns to be returned by the Export Report REST API if no other columns from the report's base table are included within the columns parameter. Use the defaultColumns attribute to return highest value base table columns to API users.

Base table columns may be at any position in the columns parameter

The Export Report REST API columns parameter no longer requires the base table columns to be specified at the beginning of the parameter value. Include base table or column resource paths at any position in the semicolon separated list.

Release 0.10


Upgrade notes and breaking changes

Major breaking changes

  • This release contains a new pullreports-catalog-1.2.0.xsd schema file. Change the xmlns attribute in each Pull Reports™ XML Catalog file to the new value.

    <catalog xmlns="http://www.pullreports.com/catalog-1.2.0"...

  • This release changes the <column> export attribute type from boolean to an enumeration of strings: always|optional|never. Any <column> defined as export='false' should be changed to export='never'. Any <column> defined as export='true' should be changed to either export='optional' or export='always'.

    Additionally, there is a new Pull Reports™ XML Catalog file requirement that at least one <column> of each <report>s base table must be set as export='always'.

    See this release note for more information.

Minor breaking changes

  • The GET Report Information JSON response schema's column.export value type changed from boolean to string. This API is used internally by the Pull ReportsReport Creator, but any custom clients dependent on this API should change accordingly.

  • The Export Report REST API columns parameter now requires that the base table path, if specified, must be at the first position in the table path list.

<column>s may now be optionally included in Export Report REST API

This release enhances the Export Report REST API columns parameter to allow the exact specification of columns and column order within the export results.

Specifying a full table resource path within the columns parameter continues to return all the columns available within that table in the order specified within the Pull Reports™ XML Catalog file. For example:

&columns=/some/table/path

However, the columns parameter now supports appending a @ character to the table resource path followed by a comma separated list of <column> ids. This will restrict the export results to just the listed columns in the given order. For example:

&columns=/some/table/path@columnId1,columnId2

To support this enhancement, the permitted values of the <column> export parameter changed from true|false to always|optional|never.

See the <column> element and columns parameter documentation for more information including the new requirement that at least one column of the <report>'s base table be defined with export='always'.

Visit the Pull Reportsweb service demonstration page for a demonstration of including specific columns in an Export Report REST API result.

Note

This release does not yet support optionally including columns from Pull ReportsReport Creator export results.

Dynamic creation of Pull Reports™ XML Catalog files

This release adds a new method to specify Pull Reports™ XML Catalog files during initialization. Use the factory: prefix within the pullreports.properties, catalogs property to indicate a Java factory class responsible for dynamically creating a Pull Reports™ XML Catalog file.

See the pullreports.properties documentation for more information.

<table_ref> elements may have a <description>

This release allows <table_ref>s to have an optional child <description> element. If defined, a <table_ref> description overrides the description from the referenced <table>.

Ability to override Leaflet GeoJSON Layer options

This releases increases the Leaflet mapper configuration options available within Report Creator initialization and the Export Report REST API map format.

The new geoJsonOptions property permits customization of the creator's and map format's Leaflet GeoJSON layer including popups, geometry style, and feature filtration.

Improved error handling for <url_template>

Errors in <url_template>s can cause invalid responses from the Export Report REST API because the errors occur after the response is already streaming to the client. This release includes improved error handling and logging for these error conditions.

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • org.codehaus.groovy:groovy-all to 2.4.11

  • org.slf4j:slf4j-api to 1.7.25

  • com.opencsv:opencsv to 3.9

Release 0.9


Upgrade notes and breaking changes

JNDI data source configuration is now exclusively configured within pullreports.properties. Although this change allows more flexible, per-report data source configuration, it means these breaking changes:

  • The <catalog> jndiDataSource attribute is no longer supported.

  • This release contains a new pullreports-catalog-1.1.0.xsd schema file with the jndiDataSource attribute removed.

  • The pullreports.properties default.jndiDataSource property is renamed to jndiDataSource.

See Per-<catalog> and per-<report> property configuration for more information.

Ad hoc creator usability improvements

The Report Creator Available Tables component received several usability improvements in the 0.9 release.

Column names now visible in table closed state

The first several <column> display names are now visible on the table component when the table is in its closed state. This helps users quickly review the columns without having to open the table.

Multiple tables open at once

More than one table component can now be opened a time. This helps users review many tables at once.

Additionally, the Available Tables component title bar contains buttons to open and close all tables with just one click.

Swatches indicate tables within export

Each table included within the export results is represented by a swatch button on the Available Tables component title bar. Clicking the swatch toggles the table's open/closed state and focuses the table within the Available Tables component. The new swatches provide a quick visual of which tables are in the current export and an easy way to navigate to an included table.

Non-exportable icon in table information tab

<column>s set to export="false" are now denoted with a special icon within the table's Info tab in addition to the text Not included in export results. Only for filtering.

Ability to decorate Export Report REST API output with Servlet includes

Decorate the HTML output of the html and map Export Report REST API formats via Servlet includes. This feature permits easy customization of the outputs with HTML, JavaScript, and CSS and provides an alternative decoration technology to SiteMesh.

Improved filter output for html, htmltable, and map output formats.

This release improves the readability of filters applied to the Export Report REST API results in the html, htmltable, and map formats. The filter format now following this pattern:

Table: <em>[table.displayName]</em>, Column: <em>[column.displayName]</em> <samp>[operator]</samp> [value(s)]

Row offset, limit, and total count added to html, htmltable, and map output formats.

The html and htmltable Export Report REST API formats now display the offset, limit, and total row count values within the table <caption>.

Additionally, the map format now displays the distinct feature count and raw data row offset, limit, and count values above the map.

Logging improvements

Logging may now be isolated to a specific <catalog>s or <report>s.

Per-<catalog> and per-<report> property configuration

Most properties within pullreports.properties may now be configured per-<catalog> or per-<report> by (.) appending the <catalog> id and, optionally, <report> id to the property name. Property values specified at a lower scope (e.g. <report>) override the same property specified at a higher scope (e.g. <catalog> or global).

Properties whose values may now be customized per-<catalog> and per-<report> are:

  • jndiDataSource

  • export.report.maxResults

  • export.report.postgresql.queryCostMaximum

Documentation improvements

The GET Label Value List REST endpoints are now documented.

REST-API dependency upgrades

The following Java dependencies are upgraded.

  • org.codehaus.groovy:groovy-all to 2.4.8

  • org.slf4j:slf4j-api to 1.7.22

Creator dependency upgrades

The following Report Creator JavaScript dependencies are upgraded.

  • Angular Bootstrap upgraded to 2.5