These release notes reflect the changes with respect to ReportServer RS4.5.0-6089.
SAP HANA is a multi-model database that stores data in its memory instead of keeping it on a disk. The column-oriented in-memory database design allows you to run advanced analytics alongside high-speed transactions – in a single system. Why is this so important? Because it lets companies process massive amounts of data with near-zero latency, query data in an instant, and become truly data-driven. By storing data in column-based tables in main memory and bringing online analytical processing (OLAP) and online transactional processing (OLTP) together, SAP HANA is unique – and significantly faster than other database management systems (DBMS) on the market today.
ReportServer supports SAP HANA by its official JDBC driver ngdbc.jar, downloadable from SAP.
Amazon AWS Athena is an interactive query service that makes it easy to analyze data directly in Amazon Simple Storage Service (Amazon S3) using standard SQL. With a few actions in the AWS Management Console, you can point Athena at your data stored in Amazon S3 and begin using standard SQL to run ad-hoc queries and get results in seconds.
ReportServer supports AWS Athena by its official Simba JDBC driver AthenaJDBC42-VERSION.jar, downloadable from AWS.
YugabyteDB is a high-performance, cloud-native, distributed SQL database that aims to support all PostgreSQL features. It is best suited for cloud-native OLTP (i.e., real-time, business-critical) applications that need absolute data correctness and require at least one of the following: scalability, high tolerance to failures, or globally-distributed deployments.
ReportServer supports YugabyteDB by its official JDBC driver, downloadable from here.
CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data.
ReportServer supports CockroachDB by the Postgres driver shipped with ReportServer.
Exasol is a parallelized relational database management system (RDBMS) which runs on a cluster of standard computer hardware servers. Following the SPMD model, on each node the identical code is executed simultaneously. The data is stored in a column-oriented way and proprietary in-memory compression methods are used.
ReportServer supports Exasol by its official JDBC driver exasol-jdbc.jar
Incorta is an end-to-end data and analytics platform for acquiring, processing, analyzing and presenting business applications data.
ReportServer supports Incorta by the PostgreSQL driver shipped with ReportServer.
CrateDB is a distributed SQL database management system that integrates a fully searchable document-oriented data store.
ReportServer supports CrateDB by its official JDBC driver, downloadable from here
Apache Derby is an open-source relational database management system (RDBMS) developed by the Apache Software Foundation that can be embedded in Java programs and used for online transaction processing.
ReportServer supports Apache Derby by its official JDBC driver derbyclient.jar, downloadable from here
ReportServer publishes several REST API endpoints automatically which can be used for accessing given REST services.
These include the following:
Details of specific usage can be found in the Administration Guide.
ReportServer 4.6.0 introduces a new kind of node called "remote server". This is used to defined remote ReportServer servers, which can be then used to copy external data, e.g. reports or users from another ReportServer installation (e.g. PROD) into your local ReportServer installation (e.g. TEST) (refer to this for more information).
Currently, remote RS REST servers are supported, which use the ReportServer REST API.
The following screenshot shows an example remote RS REST server definition.
By using the remote RS servers explained here, you can now copy entities from a remote RS server into a local RS installation, e.g. from PROD to TEST, using the "rpull copy" terminal command as shown in the following.
The screenshot below first checks if the copy can be done correctly, then it copies reports (including variants) from the remote PROD server, remote location /reportmanager/myreports to the local location /reportmanager/import:
Any DOT file can now be easily rendered into a SVG graph in ReportServer with help of the "dot-renderer" REST service as shown in the following screenshot. The DOT file in the example can be found here.
The dynamic list prefilter can now be exported as a DOT file, which can be visualized in any Graphviz tool, including ReportServer, as shown in the following screenshots:
You can now replace an old user with a new user in all owners, executors, scheduled-by and recipients of all active scheduler jobs with "scheduler replaceUser" terminal command as shown below.
You can now use the "copy parameterDefinitions" terminal command for copying all parameter definitions of a report as shown in the screenshot below. The command copies all parameter definitions from an origin report to a target report. If the reports are variants, their parent base reports are used. Note that dependencies on other parameters are not copied, so these have to be copied manually.
Note that you can also copy parameter definitions with the "copy" and "paste" context menu items of the parameter management panel as shown below.
The script registry can be modified via the new "registry" terminal commands as shown below.
The registry entries can be listed and completely cleared as shown below.
Individual entries can be removed as shown below.
To add or modify entries you can use the "registry put" terminal command as shown below.
The properties mapping can be modified via the new "properties" terminal commands as shown below.
The properties entries can be listed and completely cleared as shown below.
Individual entries can be removed as shown below.
To add or modify entries you can use the "properties put" terminal command as shown below.
The "General Info" system console was extended to include more system and usage properties as shown in the screenshot below.
Analogously to reports, you can now set a unique key to your datasources and access them by key, e.g. by "net.datenwerke.rs.core.service.datasourcemanager.DatasourceService.getDatasourceByKey(String)".
The same applies to datasinks and remote servers.
Executing a manual LDAP import now displays the specific import results as shown in the following screenshot. This allows easier problem debugging.
You can now execute HQL (Hibernate Query Language) database queries and displays the results directly in ReportServer as shown in the following screenshot.
By default, when a user logs out, the user will be taken back to the original ReportServer login page. In order to change this, you can change the config file located in etc/security/misc.cf within the ReportServer filesystem.
An example of this is shown below.
<logout> <url>http://your-reportserver/ReportServer/reportserver/fileServerAccess?path=/resources/public/login.html</url> </logout>
The example above redirects the user to the given URL instead of the original ReportServer login page.
This is useful when customizing the login page, you can find more details on customizing the login page the Configuration Guide.
The default etc/security/misc.cf configuration file is shown below.
The global search can be now easily accessed via the new admin panel button as shown in the following screenshot.
|RS-6873||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list Excel export|
|RS-6882||New Feature||Replace an old user with a new user in all owners, executors, scheduled-by and recipients of all active scheduler jobs with "scheduler replaceUser" terminal command|
|RS-6889||New Feature||Add script for copying parameter definitions: copyReportParameterDefinitions.groovy|
|RS-6898||New Feature||Add replaceSchedulerUser.groovy example script for replacing an old user with a new user in all owners, executors, scheduled-by and recipients of all active scheduler jobs|
|RS-6905||New Feature||Add "copy parameterDefinitions" terminal command for copying all report parameter definitions from an origin report to a target report|
|RS-6906||New Feature||Allow to copy-paste parameter definitions via context menu|
|RS-6927||New Feature||REST: allow to export reports via "node-exporter" resource|
|RS-6953||New Feature||REST: allow to export users via "node-exporter" resource|
|RS-6958||New Feature||REST: allow to export datasources via "node-exporter" resource|
|RS-6959||New Feature||REST: allow to export datasinks via "node-exporter" resource|
|RS-6960||New Feature||REST: allow to export files via "node-exporter" resource|
|RS-6961||New Feature||REST: allow to export dashboards via "node-exporter" resource|
|RS-6966||New Feature||Add "headless" information to "General info" system console|
|RS-6969||New Feature||Add available font names to "General info" system console|
|RS-6977||New Feature||Allow to add and configure "Remote RS Servers" entities|
|RS-6981||New Feature||Allow to copy remote users to local installation with "importRemoteEntities.groovy" sample script|
|RS-6982||New Feature||Allow to import remote users with "rpull copy" terminal command|
|RS-6992||New Feature||Add user and group statistics to "General info" system console|
|RS-7003||New Feature||Add T_AGG_ORDER JXLS template example|
|RS-7048||New Feature||Add REST URL to "env" terminal command|
|RS-7049||New Feature||Allow to import remote reports with "rpull copy" terminal command|
|RS-7051||New Feature||Allow to import remote report variants with "rpull copy -v" terminal command|
|RS-7057||New Feature||Allow to configure datasource mappings in "main/rssync.cf" and use these in "rpull copy" terminal command|
|RS-7058||New Feature||Allow to configure "rpull copy" mapping priorities|
|RS-7062||New Feature||Allow to list all registry entries with "registry list" terminal command|
|RS-7066||New Feature||Allow to check for import errors with "rpull copy -c" terminal command|
|RS-7069||New Feature||Add "sql2json.groovy" example script to query a database and convert the resulting rows to a JSON|
|RS-7077||New Feature||Add @CommitFlushMode annotation for allowing to change flush mode temporarily to COMMIT flush mode|
|RS-7079||New Feature||Allow to clear all registry entries with "registry clear" terminal command|
|RS-7080||New Feature||Allow to remove a specific registry entry with "registry remove" terminal command|
|RS-7081||New Feature||Allow to check if registry contains an entry with "registry contains" terminal command|
|RS-7082||New Feature||Allow to add and modify a registry entry with "registry put" terminal command|
|RS-7086||New Feature||Allow to list all properties with "properties list" terminal command|
|RS-7091||New Feature||Allow to clear all properties with "properties clear" terminal command|
|RS-7092||New Feature||Allow to remove a specific property with "properties remove" terminal command|
|RS-7093||New Feature||Allow to check if properties map contains an entry with "properties contains" terminal command|
|RS-7094||New Feature||Allow to add and modify a property entry with "properties put" terminal command|
|RS-7097||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list JSON export|
|RS-7098||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list JSON (compact) export|
|RS-7099||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list HTML export|
|RS-7100||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list PDF export|
|RS-7101||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list XDOC template export|
|RS-7102||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list CSV export|
|RS-7106||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list JXLS template export|
|RS-7107||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list velocity template export|
|RS-7108||New Feature||Allow to configure to export NULL values as empty cell or String in dynamic list XLST template export|
|RS-7116||New Feature||Add YugabyteDB support|
|RS-7124||New Feature||Add CockroachDB support|
|RS-7126||New Feature||Add SAP HANA support|
|RS-7128||New Feature||Add Exasol support|
|RS-7130||New Feature||Add Incorta support|
|RS-7132||New Feature||Allow to import remote files with "rpull copy" terminal command|
|RS-7137||New Feature||Allow to import remote datasources with "rpull copy" terminal command|
|RS-7139||New Feature||Allow to import remote dashboards with "rpull copy" terminal command|
|RS-7140||New Feature||Allow to import remote datasinks with "rpull copy" terminal command|
|RS-7145||New Feature||Allow to access datasources by key|
|RS-7146||New Feature||Allow to access datasinks by key|
|RS-7148||New Feature||Add REST URL to "General Info" system console|
|RS-7149||New Feature||Add REST URL to error log when report execution throws an exception|
|RS-7150||New Feature||Show base report count in "env" terminal command|
|RS-7151||New Feature||Show base report count in "General Info" system panel|
|RS-7152||New Feature||Show variant count in "env" terminal command|
|RS-7153||New Feature||Show variant count in "General Info" system panel|
|RS-7158||New Feature||Allow to query all installed report variants types|
|RS-7159||New Feature||Show specific report count in "env" terminal command|
|RS-7160||New Feature||Show specific report variant count in "env" terminal command|
|RS-7161||New Feature||Show specific report count in "General Info" system panel|
|RS-7162||New Feature||Show specific report variant count in "General Info" system panel|
|RS-7172||New Feature||Add JsonService for easy JSON object conversion|
|RS-7232||New Feature||Add CrateDB support|
|RS-7233||New Feature||Add AWS Athena support|
|RS-7234||New Feature||Add Derby support|
|RS-7255||New Feature||Allow to access remote RS servers by key|
|RS-7256||New Feature||Use "Remote RS Servers" in "rpull copy" terminal command|
|RS-7257||New Feature||Allow to import and export remote RS servers|
|RS-7258||New Feature||REST: allow to export remote servers via "node-exporter" resource|
|RS-7260||New Feature||Allow to duplicate remote RS servers|
|RS-7262||New Feature||Display datasink statistics in "env" terminal command and "General info" system console|
|RS-7265||New Feature||Display remote server statistics in "env" terminal command and "General info" system console|
|RS-7284||New Feature||Allow to export dynamic list prefilter to DOT file|
|RS-7285||New Feature||Display dynamic list template statistics in "env" terminal command and "General info" system console|
|RS-7287||New Feature||Allow to execute HQL queries with "hql" terminal command|
|RS-7296||New Feature||Add JQuery example for customizing login page to GitHub rs-samples|
|RS-7297||New Feature||Add simple example for customizing login page to GitHub rs-samples|
|RS-7301||New Feature||Add remote servers to virtual file system|
|RS-7302||New Feature||Allow to import remote remote servers with "rpull copy" terminal command|
|RS-7305||New Feature||"rpull copy" terminal command should check if elements contain keys and if the keys do not exist in the local system|
|RS-7307||New Feature||Use key-based datasource mapping in rssync.cf configuration file|
|RS-7308||New Feature||Allow to test remote RS REST servers|
|RS-7337||New Feature||Add global constants to "General info" system console|
|RS-7338||New Feature||Add scheduler statistics to "General info" system console|
|RS-7339||New Feature||Add TeamSpace statistics to "General info" system console|
|RS-7341||New Feature||Add file system usage statistics" to "General info" system console|
|RS-7344||New Feature||Add relational database usage statistics to "General info" system console|
|RS-7346||New Feature||REST: Allow to render DOT files in virtual filesystem to SVG|
|RS-7366||New Feature||Add user variable statistics to "General info" system console|
|RS-7370||New Feature||Add DOT_SVG_scriptreport.groovy example to show how to render and display a DOT file to SVG as a script report|
|RS-7373||New Feature||Allow to export dynamic list prefilter to SVG graph|
|RS-7377||New Feature||Allow to render DOT to text-based formats and binary-based formats|
|RS-7379||New Feature||Add "Global search" button to "Admin panel" system console|
|RS-7386||New Feature||Add folder count in "General info" system console|
|RS-7388||New Feature||Add datasource usage statistics to "General info" system console|
|RS-6379||Improvement||Add "apikey" to default user property list in UI|
|RS-6903||Improvement||Improve string representation of some entities|
|RS-6907||Improvement||Replace cleanDuplicated() with ClonePostProcessor|
|RS-6925||Improvement||Refactor "copyTableContents" terminal command into "copy tableContents" terminal command|
|RS-6941||Improvement||Add icons to "copy" and "paste" context menu|
|RS-6954||Improvement||REST: return internal server error on "node-exporter" error|
|RS-6955||Improvement||REST: check read permissions on "node-exporter" node|
|RS-6956||Improvement||REST: return unauthorized status on authentication error and internal server error on other cases|
|RS-7054||Improvement||"rpull copy" terminal command should use COMMIT flush mode|
|RS-7055||Improvement||Add output information to "rpull copy" terminal command|
|RS-7056||Improvement||Add duration to "copy tableContents" terminal command|
|RS-7060||Improvement||Better date formatting in datasinks|
|RS-7061||Improvement||Add output details to "rpull copy" terminal command|
|RS-7064||Improvement||"rpull copy" terminal command should throw exception if datasource mapping is not possible|
|RS-7104||Improvement||Change default export NULL values as empty cell in dynamic list export|
|RS-7117||Improvement||Sort relational datasource types in alphabetical order|
|RS-7135||Improvement||Importer should use @CommitFlushMode annotation|
|RS-7165||Improvement||Refactor general info module to use hooks and maps|
|RS-7175||Improvement||Add key to default and demo datasources and datasinks|
|RS-7177||Improvement||Support datasource keys in "default datasource" configuration of datasources.cf configuration file|
|RS-7180||Improvement||Show ID in existing key error messages|
|RS-7182||Improvement||Refactor database datasource naming and driver settings|
|RS-7208||Improvement||Display manual "ldapimport" terminal command results|
|RS-7215||Improvement||Datasource and datasink tests should show root error message in message box|
|RS-7241||Improvement||Better error message when ldapimport fails because of invalid number of nodes|
|RS-7254||Improvement||Show correct icons for remote RS servers|
|RS-7271||Improvement||Refactor remote RS servers out of remote servers packages|
|RS-7280||Improvement||Refactor usage statistics into blocks|
|RS-7288||Improvement||Better string representation of report properties|
|RS-7311||Improvement||Refactor "Remote RS Server" to "Remote RS REST Server"|
|RS-7316||Improvement||Allow to use "rpull copy" terminal command into non-empty directories|
|RS-7317||Improvement||REST: Better error messages for "node-exporter"|
|RS-7328||Improvement||Use key instead of name in internaldb.cf configuration file|
|RS-7332||Improvement||Check remote RS REST URL for empty URL or empty protocol|
|RS-7353||Improvement||Add graphviz-java-0.18.1.jar dependency|
|RS-7354||Improvement||Add graphviz-java-all-j2v8-0.18.1.jar dependency|
|RS-7355||Improvement||Add j2v8_linux_x86_64-4.6.0.jar dependency|
|RS-7356||Improvement||Add j2v8_macosx_x86_64-4.6.0.jar dependency|
|RS-7357||Improvement||Add j2v8_win32_x86_64-4.6.0.jar dependency|
|RS-7358||Improvement||Add j2v8_win32_x86-4.6.0.jar dependency|
|RS-7359||Improvement||Add viz.js-graphviz-java-2.1.3.jar dependency|
|RS-7360||Improvement||Add batik-codec-1.16.jar dependency|
|RS-7361||Improvement||Add jersey-media-multipart-2.37.jar dependency|
|RS-7362||Improvement||Add mimepull-1.9.13.jar dependency|
|RS-7369||Improvement||Use datasink keys in datasinks.cf configuration file|
|RS-7384||Improvement||Allow to resize SVG prefilter window|
|RS-7103||Bug||Removing column format is not resetting "export NULL as String" setting|
|RS-7109||Bug||Conversion error in dynamic list template export|
|RS-7270||Bug||Datasink/datasource/remote server-import is not handling existing key correctly|
|RS-7276||Bug||Search is not showing correct texts for remote servers|
|RS-7278||Bug||General info system console is throwing exception|
|RS-7279||Bug||"env" terminal command is throwing exception if datasource's JDBC properties are empty|
|RS-7289||Bug||"hql" terminal command is only working if results are entities|
|RS-7290||Bug||getDatasourceByKey(), getDatasinkByKey(), getRemoteServerByKey() are always returning null|
|RS-7303||Bug||"rpull copy" terminal command is not working if path contains spaces|
|RS-7304||Bug||Missing method exception when rssync.cf is not found|
|RS-7312||Bug||"rpull copy" terminal command is not working for single objects|
|RS-7318||Bug||"rpull copy" terminal command tries to import unrelated users|
|RS-7326||Bug||"rpull copy" terminal command is not working for single users|
|RS-7363||Bug||Dynamic list prefilter DOT export is showing status window multiple times|
|RS-7415||Bug||"properties clear" terminal command is not working correctly|