Release Notes for ReportServer 3.1.2

These release notes reflect the changes with respect to ReportServer 3.1.1-6020.

Some Important Features and Noteworthy Improvements for ReportServer RS3.1.2

Allow to disable scheduler by reportserver.properties file

You can now disable the scheduler by setting the following property in your reportserver.properties file:


rs.scheduler.disable = true
This allows you to make sure no scheduler jobs are being executed when starting ReportServer.

Allow linking to URLs from the dynamic lists

ReportServer allows you to link your dynamic lists to a (possibly external) URL. This may be very practical if the link contains additional information of the record clicked on. Useful examples include opening a new report based on a given id (e.g. by httpauthexport), performing a Google search based on a given value, etc. This is achieved in ReportServer by using the metadata datasource. Along with the four columns described in the documentation, the metadata datasource query may contain a fifth column for this purpose. Therefore, the fourth column (default column width in the dynamic list preview) is required in this case although it is normally optional. Its value may be of course NULL if no default width is required. An example query containing the five columns could be:


SELECT column_name, default_alias, description, default_width, 
'linkto|http://URL/reportserver/httpauthexport?&user=myuser&id=20616&format=PDF&p_id=$' + '{value}' as link
FROM METADATA

Note that the string begins with a "linkto|" substring. In this case, ReportServer recognizes the rest of the string as a link. The example link points to a PDF report which expects an "id" parameter. You can use ${value} for passing the value of the cell where the user right-clicked on to your URL. ${value} is being concatenated in the query in order to avoid that ReportServer handles this as a parameter. Also note that in order for the example to work, the user has to right-click a column in the dynamic list preview containing the id to be passed as a parameter to the URL. The context menu will contain a "Link to..." entry which opens a new window containing the URL for the given entry.

Other colum values in the row clicked on can also be referenced in the link. Further, geolocations can also be linked, which jump to the location specified in Google Maps. Refer to the documenation for more details.

Common Table Expressions (CTEs)

Common Table Expressions (CTEs) are now supported in ReportServer. Refer to the following example in MSSQL syntax.


WITH USERS_CTE (username, firstname, lastname)  
AS  (  
SELECT username, firstname, lastname from RS_USER
)  
SELECT * from USERS_CTE

If you write this valid query into your dynamic list's query, you will get an error. This error appears because of the query generated by ReportServer. In order to solve this problem, you can mark the CTE expression as follows.


/*<rs:cte>*/
WITH USERS_CTE (username, firstname, lastname)  
AS  (  
SELECT username, firstname, lastname from RS_USER
)  
/*</rs:cte>*/
SELECT * from USERS_CTE

Changing Query Being Sent to DB

If you need to modify the query before it is being executed, take a look at the net.datenwerke.rs.base.service.dbhelper.hooks.StatementModificationHook.

Using Script and CSV Datasources with Pixel-Perfect Reports: Jasper, BIRT, JXLS

For using script datasources (csv datasources analogously) together with pixel-perfect reports, you need additional minor configuration in the given reports. The configuration is based on the following. The data of script datasources is buffered to internal temporary tables. The query type to be used is


SELECT * FROM _RS_TMP_TABLENAME

where "_RS_TMP_TABLENAME" is a temporary table name assigned by ReportServer. Note that the variable "TMP_TABLENAME" was renamed to "_RS_TMP_TABLENAME", so you have to change your queries accordingly. The following replacements are available:

These replacements can be used in pixel-perfect reports as described in the Scripting Documentation. Further, you can now send arguments to the script datasource analogously as with dynamic lists.

Sending and scheduling reports to FTP Server

With ReportServer 3.1.2 you can send and schedule reports to a FTP server. The configuration of the FTP server can be configured here: /fileserver/etc/exportfilemd/storage.cf


  <ftp disabled="false" supportsScheduling="true">
    <host>ftp.host.net</host>
    <port>21</port>
    <username>rs@host.net</username>
    <password></password>
    <defaultFolder>./</defaultFolde&>
  </ftp>

The scheduler notifications can be found here: /fileserver/etc/scheduler/scheduler.cf


  <fileactionFtp disabled="false" html="false">
	     <subject> </subject>
	     <text> </text>
  </fileactionFtp>

New Features, Improvements and Bug Fixes for ReportServer RS3.1.2

New Features

Improvements

Bug Fixes