These release notes reflect the changes with respect to ReportServer 3.1.1.
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.
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) 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
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.
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.
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>./</defaultFolder>
</ftp>
The scheduler notifications can be found here: /fileserver/etc/scheduler/scheduler.cf
<fileactionFtp disabled="false" html="false">
<subject> </subject>
<text> </text>
</fileactionFtp>
RS-3786 | New Feature | Scheduler can be disabled by reportserver.properties file setting: rs.scheduler.disable = true |
RS-3795 | New Feature | Allow setting standard column width for the dynamic list preview in the report datasource metadata |
RS-3900 | New Feature | Allow linking to Google Maps from the dynamic lists based on geolocation data |
RS-3901 | New Feature | Allow linking to URLs from the dynamic lists |
RS-3903 | New Feature | Allow referencing other column values while linking to URLs from the dynamic lists |
RS-3919 | New Feature | Add parameter dadget to dashboard library |
RS-3936 | New Feature | Add TeamSpace list to report documentation |
RS-3939 | New Feature | Allow to use script arguments in script datasources of JXLS reports |
RS-3943 | New Feature | Add scheduler information to report documentation |
RS-3957 | New Feature | Add list of report variants to report documentation |
RS-3966 | New Feature | Allow to use script arguments in script datasources of Jasper reports |
RS-3978 | New Feature | Allow to use script arguments in script datasources of BIRT reports |
RS-4003 | New Feature | Allow to send reports via FTP |
RS-4006 | New Feature | Allow to configure default FTP folder in storage.cf configuration file |
RS-4011 | New Feature | Allow to schedule reports via FTP |
RS-4014 | New Feature | Allow to disable sending reports via FTP |
RS-4015 | New Feature | Allow to disable scheduling reports via FTP |
RS-4017 | New Feature | Allow to configure FTP scheduler notifications |
RS-4020 | New Feature | Allow to include "executor" and "scheduledBy" in scheduler notifications |
RS-2406 | Improvement | Provide StatementModificationHook which allows to adapt dynamic list's query before its execution |
RS-2407 | Improvement | Allow Dynamic Lists to handle CTEs |
RS-3898 | Improvement | Add scripting and scheduler disabling configuration to reportserver.properties file skeleton |
RS-3910 | Improvement | When submitting values in a parameter dadget, only refresh the dadgets that use the given parameters |
RS-3920 | Improvement | Rename Dadget Library to Dashboard Library |
RS-3925 | Improvement | Remove unnecessary freemarker-2.3.20.jar library |
RS-3926 | Improvement | Remove unnecessary oro-2.0.8.jar library |
RS-3927 | Improvement | Remove unnecessary stax-ex-1.7.jar library |
RS-3928 | Improvement | Remove unnecessary saaj-api-1.3.4.jar library |
RS-3929 | Improvement | Remove unnecessary kxml2-2.3.0.jar library |
RS-3934 | Improvement | Add base report ID to report documentation |
RS-3937 | Improvement | Show only TeamSpaces the user has right on in report documentation |
RS-3942 | Improvement | Add column description to scheduling report information object |
RS-3948 | Improvement | Extend scheduling service to allow fetching list of jobs of current user |
RS-3950 | Improvement | Include server-side formatting helper |
RS-3961 | Improvement | Allow to set different datasource selection trees for each report type form |
RS-3970 | Improvement | Rename variable "TMP_TABLENAME" to "_RS_TMP_TABLENAME" |
RS-3971 | Improvement | Rename variable "query" to "_RS_QUERY" |
RS-3981 | Improvement | Show only Mondrian datasources in Saiku report form's datasource selection window |
RS-3982 | Improvement | Remove Mondrian datasources from dynamic list, Jasper, BIRT, Crystal and JXLS report forms' datasource selection windows |
RS-4007 | Improvement | transformAndKeepCallback in column width methods |
RS-3590 | Bug | Moving / renaming variants per terminal "mv" command is not working |
RS-3909 | Bug | No dadget write permissions should be necessary for using parameter dadget |
RS-3914 | Bug | "Import dashboard" dialog should only show dashboard elements |
RS-3915 | Bug | Dragging invalid objects should not be allowed in tree selection popup analogously as double-clicking them |
RS-3916 | Bug | Error message when importing more than one dashboard |
RS-3918 | Bug | Tree selection popup should remove DOM handlers when hiding |
RS-3946 | Bug | Permission checks on report's scheduler job list are not sufficient in some cases |
RS-3952 | Bug | New lines are not displayed correctly in report documentation |
RS-3967 | Bug | Jasper reports are not working together with script datasources if the database cache setting of the script datasource is 0 |
RS-3973 | Bug | BIRT reports are not working together with script datasources if the database cache setting of the script datasource is 0 |
RS-3997 | Bug | Some Saiku reports produce a stack overflow error because of Hibernate deep unproxy |
RS-3999 | Bug | Incorrect report documentation's logo example in theme.cf configuration file |
RS-4016 | Bug | Executing scheduler jobs is possible in some cases even though owners do not have rights on the report |
RS-4018 | Bug | User Variables tab is not being kept open when switching users |
RS-4019 | Bug | Selecting FTP default folder is not working when editing FTP scheduling jobs |