Release Notes for ReportServer 4.7.0

These release notes reflect the changes with respect to ReportServer RS4.6.3-6104.

Some Important Features and Noteworthy Improvements for ReportServer RS4.7.0

Remove old deprecated and insecure mail.cf configuration file

IMPORTANT

The old, deprecated and insecure mail.cf has been now removed. This means that you can and should delete it from your system after the upgrade to RS 4.7. If you have any scheduler jobs based on mail.cf, these are automatically upgraded to an automatically created Email datasink during the upgrade process. This datasink is created in any case.

Please note that if your default email datasink requires no password, simply deleting the characters in the password field won’t work, as it will set the password to an empty string. Instead, you need to right-click on the password field and choose "Remove Password", as shown in the screenshot below:

IMPORTANT

Starting with ReportServer 4.7, usernames are required to be unique and non-null. During the upgrade process, any existing usernames that are duplicated or empty will be automatically modified to meet this requirement. Specifically, duplicated or empty usernames will have their ID appended to them in the following format: user_id_{id}.

It's important to note that, in earlier versions of ReportServer, users with invalid usernames (e.g., duplicates or empty usernames) would not have been able to log in. Therefore, such cases should be very rare. However, for those few instances where invalid usernames exist, this automatic modification ensures that all usernames comply with the new requirements in ReportServer 4.7.

A similar approach has been implemented for keys in ReportServer 4.7. Keys are now required to be unique (per tree) and non-null. During the upgrade process, any duplicated or empty keys will be automatically adjusted to meet these new requirements.

If a key is duplicated or empty, it will be modified to ensure uniqueness and validity. Additionally, when creating new objects in ReportServer, default values for keys are automatically assigned to prevent any issues.

This ensures consistency and integrity in the system, especially during the transition to ReportServer 4.7.

Dynamic list performance improvements

In ReportServer 4.7, significant enhancements were made to the performance of the dynamic list feature. This involved reducing the number of database queries sent, as many of them were unnecessary and could be refactored to improve overall performance.

Further, a "export:veto_large_report" report property was added. By default, when exporting a report to formats like Excel, ReportServer verifies whether the result set size exceeds certain limits. If it does, the export process is halted. However, if this property is configured with a value other than "auto", this verification step is bypassed. It's important to note that this approach could potentially cause the system to crash if the report size is exceptionally large.

Transport mechanism

ReportServer 4.7.0 offers a comprehensive transport mechanism that enables secure transportation of objects like reports, datasources, datasinks, and files between different system environments such as development, testing, and production. This mechanism ensures that changes are carried out consistently and in a controlled manner, thereby guaranteeing the integrity and stability of the entire system landscape.

The transport mechanism in ReportServer provides various use cases that allow users to efficiently manage their work and safely transfer changes across different environments:

Transfer of Reports and Datasources between Environments:

Use Case: Transporting reports, datasources, datasinks, and files from a development environment to a testing or production environment.

Advantage: Ensures that changes can be tested in a controlled environment before being transferred to production.

Backing up Work Results during Development:

Use Case: Developers can create regular transports to secure the current state of their work.

Advantage: Provides a way to secure work steps as snapshots that can be restored or transferred to another system if needed. This is especially useful when multiple developers are working in parallel or when experimental changes are made that need to be rolled back later.

Duplicating Transports for Further Processing:

Use Case: Creating copies of existing transports to make changes or use content in other contexts.

Advantage: Flexibility in managing transports, as existing transports can be duplicated and reused as open transports.

Restoring States after Errors:

Use Case: Undoing unwanted changes by applying a new transport that restores the original states.

Advantage: Allows restoring the original state after an error or misapplication by transporting and applying the corresponding changes again.

Reverting Changes:

Use Case: Indirectly reverting changes through manual adjustments or repeated transports, as direct rollbacks are not possible in ReportServer.

Advantage: Provides a method to undo applied changes by either relying on backups or performing manual corrections.

Tools menu

A new menu is shown in the upper right section of the screen in order to allow easy access to important ReportServer functionalities as shown in the following screenshot.

Support sending CSV/script datasource data to table datasinks

ReportServer now supports sending CSV and script datasource data to table datasinks as shown in the following screenshot. Scheduling CSV/script datasource-based dynamic lists to table datasinks is also supported. This allows gathering your necessary data into tables of any supported DB easily.

Allow to truncate table in table datasinks

ReportServer now allows to truncate the table in the table datasink before copying the data to the given table as shown in the following screenshot.

Allow to configure thresholds of exportable records

When exporting a dynamic list, ReportServer now allows to configure two different thresholds. If the export contains more records than the first threshold, the user gets a warning as in the following screenshot.

If the export contains more records than the second threshold, the export is being prohibited.

Both thresholds allow to avoid memory overflow errors if a user tries to export too many records. Both thresholds are configurable in the main/main.cf configuration file as shown here:

The default main/main.cf configuration file is shown below.

Allow to configure number of rows of dynamic list preview

The number of rows of the dynamic list preview can now be configured in the ui/previews.cf configuration file as shown below.

The number of rows is dependent of the number of columns selected. In the example above, the preview will have:

Note that you can use the "MAX" keyword for denoting the maximum number of columns.

In case you don't want the number of rows to be dependent on the number of columns, you can configure it as follows:


<pageSize>
   <configs>
      <config minCols = "0" maxCols = "MAX">50</config>
   </configs>
</pageSize>

The default ui/previews.cf configuration file is shown below.

Support JXLS Grid

ReportServer now supports the JXLS grid in the JXLS template of the dynamic list as demonstrated in the following screenshots:

Support for old MSSQL installations with jTDS driver

ReportServer now supports old MSSQL installations by the jTDS driver. According to the documentation, the following servers are supported: Microsoft SQL Server (6.5, 7, 2000, 2005, 2008 and 2012). The following screenshot shows an example configuration:

Allow to configure TeamSpace file upload

The TeamSpace file upload (shown in the following screenshot) can now be completely disabled in the /etc/security/teamspace.cf configuration file as shown below.

Further, the maximum upload file size can be configured using the following property:

Only the file endings explicitely allowed in the whitelist as shown below are allowed.

Note that regular expressions are allowed in the ending whitelist. E.g., the following allows all possible file endings:


<whitelist>
   <endings>
      <ending>.*</ending>
   </endings>
</whitelist>

The complete default /etc/security/teamspace.cf configuration file is shown below.

Allow to move variants to another report

ReportServer now allows to move variants easily from one report to another report as shown in the screenshot below.

Allow to render DOT files directly from file system administration to SVG

You can now directly render DOT files as SVG graphs if you include the content type "text/vnd.graphviz" as shown in the following screenshots. Note that if the content type is not included, the preview will not appear.

Allow to render DOT files directly in script reports via "dot-svg", "dot-png" and "dot-html" renderers

You can now easily render DOT files directly in script reports via the new "dot-svg", "dot-png" and "dot-html" renderers.

The “dot-svg” renderer renders a given DOT file as a SVG graph, the “dot-png” renders a given DOT file as a PNG image, and the “dot-html” renders the DOT file as a SVG graph and embeds it into a HTML page.

Note that this is very powerful, since you can dynamically create your DOT file and export it easily. Two examples are shown here and here.

Allow to render external DOT files via REST

The "dot-renderer" REST service now allows to render arbitrary external DOT files into SVG via POST.

Example: (POST) https://SERVER:PORT/reportserverbasedir/reportserver/rest/dot-renderer?user= myuser&apikey=MYAPIKEY

Don’t forget to include your external DOT file in your POST request body.

Allow to render Markdown files directly from file system administration to HTML

You can now directly render Markdown files as HTML if you include the content type "text/markdown" as shown in the following screenshots. Note that if the content type is not included, the preview will not appear.

Allow to render Markdown files directly in script reports via "markdown-html" renderer

You can now easily render Markdown files directly in script reports via "markdown-html" renderer.

The "markdown-html" renderer renders a given Markdown file as a CompiledHtmlReport.

Please note that not every Markdown formatting command can be rendered properly. An example is shown here.

Allow to render external Markdown files via REST

The "markdown-renderer" REST service now allows to render arbitrary external Markdown files to HTML via POST.

Example: (POST) https://SERVER:PORT/reportserverbasedir/reportserver/rest/markdown-renderer?user= myuser&apikey=MYAPIKEY

Don’t forget to include your external Markdown file in your POST request body.

Be aware that some Markdown commands are not supported and will not render properly.

Allow to render DOT files in Markdown

You can now directly include DOT files in your Markdown files. These will be automatically rendered. Also, width and height can be specified as shown in the following screenshot.

Allow to open terminal session location from any location

Now you can open a new terminal session from any location in ReportServer as shown in the following screenshots:

Allow to move entities to any location by right click

ReportServer now provides the capability to relocate any entity (such as reports, datasources, datasinks, etc.) to any desired location through a simple right-click action, as demonstrated in the screenshot below. This feature proves particularly beneficial for installations with complex directory hierarchies.

Allow to merge entities by terminal command

The "entitymerge" command merges two entities transfering values from one to the other. No entity is deleted after merging. In general, only entities of the same type can be merged.

Allow to import entities with merge option in UI

The importer was extended to allow (per-default) a merge import. If the checkbox is selected, the merge routine is applied. This involves taking one object and transferring its values to another object in the system, with the exception of the key and ID.

More readable terminal colors

The terminal colors have been improved to be more readable.

You may have to change your theme.cf file to see the new colors. The default theme.cf with the updated color is shown below.

Before:

After:

More intuitive icon for parameter

As you can see in the following screenshot, the parameter icon has changed to show the settings menu in a more intuitive manner.

Mappings configuration file (replaces old rssync.cf)

The old main/rssync.cf configuration file has been replaced by main/mappings.cf. You can find the default configuration file following:

Enforcing unique usernames

While it was previously technically possible to have multiple users sharing the same username. Neither would be able to log into their respective account. With this update unique usernames will be enforced to prevent this situation from occurring.

Improvements to LDAP service and commands

In this release we made some adaptations to the LDAP service functionality to ensure a smooth transition to the enforcement of unique usernames. While is was previously possible to import LDAP users that have the same name as internal users you will now receive an error message. In order to resolve possible username duplication errors you may utilize the "ldaptest users" terminal command which scans the current usertree to identify username collisions.

Another noticeable change is that the LDAP service will now scan the whole usertree for LDAP nodes. Meaning that if you accidentally moved a node imported by LDAP service it will still be recognized, updated and moved to its supposed destination without creating a new node. You should ensure that your current usertree does not contain duplicate GUIDs because that leads to undefined behavior. You can easily identify duplicate GUIDs by running the "ldaptest guid" terminal command. If duplicate GUIDs are found they will be displayed in a second table

Allow to select variants to duplicate when duplicating a report

In earlier versions of ReportServer, duplicating a report did not include duplicating the report's variants. However, in the current version, you can now choose the variants to duplicate, and they will be copied along with the report, as illustrated in the screenshot below:

Allow to suppress automatic report preview

ReportServer now provides the functionality to selectively deactivate automatic previews for specific reports by configuring the "suppress_automatic_preview" property of the report to "true". Setting this option to "true" prevents the report from automatically executing upon opening from within the Administration panel or within a TeamSpace. This capability is particularly beneficial in situations where reports generated by Birt, JXLS, Jasper, or Crystal have extended execution times, and users simply wish to export the report without initiating its direct execution. It's important to note that when automatic preview is disabled, users can still manually trigger previews by explicitly clicking on "Preview" or the "Refresh preview" button. Furthermore, it's noteworthy that dynamic lists cannot have their preview functionality disabled, as users are always required to explicitly click on "Preview".

Allow to configure the number of rows per Excel sheet for dynamic list

When exporting to Excel, you can organize the data into multiple tabs by setting the number of rows per tab. The default value is 1,048,574, which is selected because Excel allows a maximum of 1,048,576 rows. The difference accounts for one row used by the headings and one for the final newline. To determine the number of rows per sheet, modify the following parameter:

New Features, Improvements and Bug Fixes for ReportServer RS4.7.0-6105

RS-6876 New Feature Veto report export if number of rows exceeds a given threshold
RS-6877 New Feature Allow to organize the data into multiple tabs in dynamic list Excel export
RS-6878 New Feature Allow to configure threshold of maximum number of exportable records
RS-6900 New Feature Add confirmation for exporting number of records larger than given threshold
RS-7231 New Feature Add removeWriteProtection.groovy script to samples
RS-7298 New Feature Allow to export DOT file directly from file system administration to SVG via button
RS-7376 New Feature Support JXLS dynamic grid command in the JXLS template of the dynamic list
RS-7385 New Feature Allow to open admin panel items via new "Tools" menu
RS-7434 New Feature Add DOT report to DEMO reports
RS-7438 New Feature Support for old MSSQL installations with jTDS driver
RS-7451 New Feature Add user home to "General info" system console
RS-7454 New Feature Allow to execute RSP packages per drag&drop automatically
RS-7481 New Feature Transports: Allow to create transport objects with "transport create" terminal command
RS-7483 New Feature Transports: support transport entities
RS-7486 New Feature Transports: create permissions analogous to other entities
RS-7489 New Feature Transports: allow to edit some elements of transports
RS-7490 New Feature Transports: Display date and hash (short) in tree
RS-7493 New Feature Transports: allow to create valid transports via UI
RS-7494 New Feature Transports: allow to display object info
RS-7496 New Feature Transports: allow to duplicate transports via UI and use new key for the duplicated transports
RS-7500 New Feature Transports: when transports are closed they may never be edited or opened again
RS-7501 New Feature Transports: support import/export of transport entities
RS-7502 New Feature Transports: REST: allow to export transports via "node-exporter" resource
RS-7504 New Feature Transports: usage statistics in "General info" system panel
RS-7508 New Feature Allow to open terminal session from any location
RS-7515 New Feature Transports: add transports to virtual file system
RS-7516 New Feature Transports: allow to import transports with "rpull copy" terminal command
RS-7520 New Feature Transports: allow to copy transports via "cp" terminal command
RS-7522 New Feature Add "transport describe" terminal command for showing metadata and transport objects
RS-7553 New Feature Allow to truncate table in table datasinks
RS-7557 New Feature Transports: allow to add items with "transport add" terminal command
RS-7559 New Feature Allow to disable TeamSpace file upload
RS-7560 New Feature Allow to configure file ending whitelist for TeamSpace file upload
RS-7565 New Feature Transports: allow to export complete item path
RS-7567 New Feature Transports: references should contain the complete item path
RS-7571 New Feature Allow to move variant to another report per UI
RS-7572 New Feature Transports: allow to add report variants to a given transport
RS-7577 New Feature Allow to configure the number of rows of the dynamic list preview
RS-7623 New Feature Support sending CSV/Script datasource data to table datasinks
RS-7645 New Feature Allow to configure export confirmation record threshold
RS-7685 New Feature Allow to limit size of TeamSpace file upload
RS-7687 New Feature Allow regular expressions in TeamSpace file upload ending whitelist
RS-7735 New Feature Allow to preview Markdown file directly from file system administration as HTML via button
RS-7740 New Feature Allow to export DOT file directly from file system administration to SVG via tab
RS-7741 New Feature Add "dot-svg" renderer to script reports for converting DOT files into SVG graphs
RS-7742 New Feature Allow to preview Markdown file directly from file system administration as HTML via tab
RS-7743 New Feature Add "markdown-html" renderer to script reports for converting Markdown files into HTML
RS-7746 New Feature Allow to reload SVG graph preview
RS-7747 New Feature Add "dot-html" renderer to script reports for converting DOT files into (in HTML) embedded SVG graphs
RS-7748 New Feature Add "dot-png" renderer to script reports for converting DOT files into PNG images
RS-7754 New Feature Allow to render external DOT files via REST dot-renderer (POST)
RS-7761 New Feature Allow to render RS file system Markdown files via REST markdown-renderer
RS-7762 New Feature Allow to render external Markdown files via REST markdown-renderer (POST)
RS-7768 New Feature Allow to open terminal session from any location in new window
RS-7771 New Feature Add MARKDOWN_HTML_renderer.groovy example script report
RS-7772 New Feature Allow to wrap DOT/SVG render result in HTML via html_wrap parameter in REST service
RS-7775 New Feature Allow to wrap Markdown render result in HTML via html_wrap parameter in REST service
RS-7776 New Feature Allow to move any report to any location by right click
RS-7806 New Feature Transports: create new merge importer for transport functionality
RS-7817 New Feature Transports: Allow to add objects to transport via UI
RS-7818 New Feature Transports: Allow to fetch remote transports with "transport rpull" terminal command
RS-7819 New Feature Transports: Allow to configure remote server for "rpull"
RS-7820 New Feature Transports: Allow to execute "transport rpull" terminal command without explicit parameters reading them from configuration file instead
RS-7821 New Feature Transports: Allow to configure target folder for "rpull"
RS-7822 New Feature Transports: Allow to pull remote transports via UI
RS-7823 New Feature Transports: allow to close transports via "transport close" terminal commando
RS-7824 New Feature Provide EntityMergeService to allow merging entities
RS-7828 New Feature Allow to merge entities by "entitymerge" terminal command
RS-7830 New Feature Transports: Visualize transport contents in UI
RS-7832 New Feature Transports: Allow to remove elements from given transport with "transport remove" terminal command
RS-7833 New Feature Transports: allow to remove transport content in UI
RS-7834 New Feature Transports: allow to configure mappings in config file
RS-7836 New Feature Transports: allow to add folders to transport via UI
RS-7840 New Feature Transports: "transport apply" terminal command for applying transports
RS-7856 New Feature Transports: export preprocessor: add key of exported elements to exported XML
RS-7858 New Feature Transports: allow to use map external keys to local datasources
RS-7859 New Feature Allow to access files in virtual file server by key
RS-7863 New Feature Transports: set applied fields and protocol the apply process when applying a transport
RS-7877 New Feature Allow to apply transports in the UI
RS-7878 New Feature Use merge importer by default and allow to use old importer in UI
RS-7889 New Feature Allow to suppress automatic report preview
RS-7890 New Feature Allow to select variants to duplicate when duplicating a report
RS-7900 New Feature Allow to move all entities per right click
RS-7904 New Feature Transports: Allow to add files to transport
RS-7907 New Feature REST: Allow to flatten tree in "node-exporter" service
RS-7910 New Feature Transports: "transport rpull" terminal command should skip transports with existing key
RS-7919 New Feature Transports: add "status" field
RS-7920 New Feature Transports: status field should be set to "CREATED" initially
RS-7921 New Feature Transports: status field should change to "CLOSED" when transport is closed
RS-7922 New Feature Transports: status should change to "IMPORTED" when transport is fetched from remote
RS-7923 New Feature Transports: show status field in the UI
RS-7928 New Feature Transports: add "imported" and "applied" fields
RS-7935 New Feature "ldaptest users" terminal command should be extended to show username conflicts
RS-7937 New Feature Transports: new "Transport Management" area for listing all transports with "IMPORTED" status
RS-7987 New Feature Allow files to be merged by EntityMergerService
RS-8018 New Feature Allow to gather additional data into ImportResult
RS-8019 New Feature Transports: allow to protocol timestamp for "transport apply" entities
RS-8020 New Feature Transports: allow to protocol apply strategy (merge/create)
RS-8021 New Feature Transports: allow to protocol the exact node where a problem occurs when applying transport
RS-8023 New Feature Transports: check if all local datasource mappings map to a local datasource
RS-8024 New Feature Transports: allow to configure transport apply user in apply.cf configuration file
RS-8026 New Feature Transports: check configured super user
RS-8027 New Feature Transports: add RS version and DB schema check
RS-8028 New Feature Transports: allow to install "transport apply" preconditions per ApplyPreconditionHook
RS-8029 New Feature Transports: apply protocol should be JSON
RS-8030 New Feature Transports: apply protocol should save start/end timestamps and current user
RS-8041 New Feature Transports : add button "check apply preconditions"
RS-8042 New Feature Transports: allow to check preconditions by "transport apply -c" terminal command
RS-8052 New Feature Transports: check if transport config files are available
RS-8054 New Feature Transports: precondition check on transport permissions
RS-8057 New Feature "ldaptest guid" terminal command should be extended to show existing local GUID duplicates
RS-8093 New Feature Transports: check if transport datasource reference keys contain a mapping to a local key
RS-8097 New Feature Allow to define custom key generation per DefaultKeyGenerationHook and SpecificDefaultKeyGeneratorHook
RS-8102 New Feature Create samples GeneralGenerateDefaultKeyHooker.groovy and SpecificGenerateDefaultKeyHooker.groovy for Keygeneration Hooks
RS-8151 New Feature Allow to use Juel expressions in all datasink scheduler jobs
RS-8156 New Feature Transports: Allow to expand and collapse all objects in transport object view
RS-8160 New Feature Allow to check permissions on QueryByAttribute, QueryById and SimpleQuery annotations
RS-8221 New Feature Add executeStoredProcedure.groovy to GitHub examples
RS-8274 New Feature Add Emoji font and adapt some command results to display emojis
RS-8275 New Feature Support accessing files by key via fileServerAccess
RS-8281 New Feature Allow to download files via fileServerAccess
RS-8282 New Feature Allow to download folders via fileServerAccess
RS-8284 New Feature Add grid example of JXLS template for the dynamic list
RS-8396 New Feature Allow some advanced scheduler configuration options
RS-8400 New Feature Provide support for a wider range of Markdown syntax options
RS-8404 New Feature Automatic migration of mail.cf-based to Email datasink-based scheduler jobs
RS-8436 New Feature Allow to render DOT images in Markdown files
RS-8438 New Feature Upgrade jasperreports-fonts to 6.21.3
RS-8439 New Feature Upgrade jasperreports-functions to 6.21.3
RS-8447 New Feature Allow to specify width and height in Markdown DOT files
RS-8475 New Feature PostCacheClearHook for allowing to perform actions after clearing groovy script cache
RS-8479 New Feature Allow to render Markdown and DOT files directly via fileServerAccess
RS-8602 New Feature Allow to restrict access to tabs in urlview.cf configuration file
RS-7147 Improvement Transports: if folder is being found while importing new elements (transport apply), use the existing folder instead of duplicating it
RS-7380 Improvement Replace font-awesome with nerd fonts
RS-7443 Improvement Add help flags to "pkg" terminal commands
RS-7446 Improvement Better and sorted output of "pkg list" terminal command
RS-7448 Improvement Refactor pkg command and services to "pkg" package
RS-7450 Improvement Print internal datasource key in general info and in "env" terminal command
RS-7471 Improvement Refactor duplicate entity functionality for better naming conventions
RS-7495 Improvement Transports: use description instead of "comments"
RS-7499 Improvement "pkg list" and "pkg execute" terminal commands should accept .rsp files
RS-7503 Improvement Transports: add search labels and descriptions
RS-7514 Improvement Refactor global search out of incubator
RS-7518 Improvement Transports: do not allow to create transports with null keys
RS-7519 Improvement Transports: support "." wildcard in "transport create" terminal command
RS-7526 Improvement Transports: display error when trying to import transport with existing key
RS-7539 Improvement Tools menu should be clickable
RS-7564 Improvement Export should only export allowed references
RS-7573 Improvement Lucene index should skip huge fields
RS-7584 Improvement Refactor TableReportUtilityService.exportToDot() and TableReportUtilityService.exportToSvg() to exportPrefilterToDot() and exportPrefilterToSvg()
RS-7602 Improvement Move "Logout" button to the right
RS-7629 Improvement Transports: element/transport not found or wrong type: better error message
RS-7646 Improvement Better error message if number of records is larger than max record threshold
RS-7647 Improvement Improve Italian translations
RS-7648 Improvement Add display-name and description to web.xml
RS-7698 Improvement Transports: Add description to "transport describe" terminal command
RS-7739 Improvement Add key to object information
RS-7749 Improvement Add key to "info datasource" terminal command
RS-7750 Improvement Add DOT_SVG_renderer.groovy example script report
RS-7751 Improvement Add DOT_SVG_renderer_file.groovy example script report
RS-7759 Improvement Improve moving variant to another report UI
RS-7764 Improvement Add commonmark-0.21.0.jar dependency
RS-7766 Improvement Unify Markdown and SVG preview tabs with UI
RS-7769 Improvement Add permission check to open terminal location from any location
RS-7773 Improvement Refactor asIFrame to UtilsUIService
RS-7831 Improvement Transports: "transport add" terminal command should not allow variants
RS-7835 Improvement Transports: Users, transports and remote servers should not be transportable
RS-7842 Improvement Transports: remove dependent objects from transport when adding entities to it
RS-7843 Improvement Transports: make sure that key is not null when adding element to a transport
RS-7844 Improvement Transports: "transport describe" terminal command should contain the element types
RS-7849 Improvement Refactor replaceInvalidCharacters(String) to use removeInvalidFilenameChars(String)
RS-7865 Improvement Usernames should be unique
RS-7866 Improvement Usernames should be not-null
RS-7876 Improvement Transports: rollback apply when exception happens
RS-7883 Improvement Keys should not be allowed to be NULL or empty strings in UI
RS-7884 Improvement All tree based entities' keys should be unique inside the corresponding tree and not-null
RS-7886 Improvement Set default key in newly created entities
RS-7901 Improvement Transports: remove "add to transport" menu for not-transportable entities
RS-7906 Improvement Transports: "transport rpull" terminal command should flatten tree
RS-7912 Improvement Transports: "transport rpull" terminal command should not assume empty import directory
RS-7916 Improvement Transports: Add "loading mask" when fetching transport from remote
RS-7917 Improvement Transports: Show errors in the UI when using the transport buttons
RS-7918 Improvement Transports: "transport rpull" should only pull closed transports
RS-7924 Improvement Transports: improve translations on "created by" fields
RS-7933 Improvement LDAP import: allow import when folder contains internal users or folders
RS-7934 Improvement LDAP import: scan whole usertree for GUIDs
RS-7938 Improvement Transports: allow to apply transport in "transport management" panel
RS-7942 Improvement Refactor FormView subclasses and SimpleFormView subclasses to mirror the entity structure better
RS-7949 Improvement Set default key when creating new file
RS-7950 Improvement Set default key when uploading new file
RS-7951 Improvement Extend key-field from 40 characters to 50 characters
RS-7955 Improvement Delete all standard passwords from demo datasinks
RS-7957 Improvement Allow to set datasink passwords and secret keys to NULL
RS-7958 Improvement Allow to skip passwords during export
RS-7959 Improvement Transports: if "transport rpull" directory is not available, create directory
RS-7960 Improvement Refactor some translations into their correct location
RS-7961 Improvement Set keys on all demo entities
RS-7962 Improvement Refactor regex for keys to avoid duplicates
RS-7963 Improvement "pkg copy" should set default key for imported files
RS-7964 Improvement Set fileserver file keys to not-null
RS-7965 Improvement Mondrian datasources should not export the password
RS-7968 Improvement Transports: better error message when remote server can not be found
RS-7969 Improvement Better "transport apply" terminal command display of results
RS-7975 Improvement Transports: don't export "imported by" or "applied by" user while exporting transport
RS-7977 Improvement On duplicate key error message, id of the respective object should be shown to the user
RS-7981 Improvement Transports: add exportedData type and entity key to objects UI
RS-7983 Improvement Allow maximal number of entity copies depending on their maximal technical field length
RS-7986 Improvement Transports: clean the folder structure in transport object after removing an entity
RS-7990 Improvement Add scheduler information translations
RS-7991 Improvement TeamSpace import report dialog: allow to filter by report ID in Teamspace tabs
RS-8001 Improvement Transports: display "apply transport" button only when execute rights on transport are available
RS-8003 Improvement Refactor merge service hookers to adapt to RS structure
RS-8005 Improvement Transports: move transport rmerge button to transport management area
RS-8006 Improvement Config files should not contain "_copy" in their key during new installations
RS-8009 Improvement Make terminal colors readable
RS-8011 Improvement FileServerFile should contain toString() method for better file representation
RS-8031 Improvement Refactor key length to variable
RS-8037 Improvement Transports: "add to transport" button should use a modal callback window
RS-8044 Improvement Show specific constraint error messages for "ldapimport" terminal command directly in the terminal window
RS-8045 Improvement Add gson-2.10.1.jar dependency
RS-8046 Improvement Transports: transport apply should be run by the configured super-user
RS-8047 Improvement Refactor MemoryInfoDtoPA into "pa" package
RS-8050 Improvement Transports: remove xml and transport protocol fields from Lucene index
RS-8055 Improvement Transports: superuser should only be used for the import functionality in the apply method, while the current user for the rest
RS-8063 Improvement Template of dynamic list: key should be not-null and empty key should not be allowed
RS-8064 Improvement Don't allow to save templates of the dynamic list with existing key in the UI
RS-8067 Improvement Transports: remove stack trace from apply checks
RS-8074 Improvement Transports: apply defined object mappings on "transport apply"
RS-8077 Improvement Dynamic width of tables in the terminal
RS-8080 Improvement Report uuid should be marked as deprecated
RS-8082 Improvement Swap parameter icon to be more intuitive
RS-8083 Improvement Transports: only datasources should use the mapping configs
RS-8084 Improvement Transports: adding entities to transport should add dependent files as well
RS-8085 Improvement Refactor transport.cf and rssync.cf into mappings.cf and transport.cf
RS-8086 Improvement Transports: refactor config file attributes from TransportService initialization
RS-8089 Improvement Transports: move apply functionality to EE
RS-8090 Improvement Replace report uuid with report key in default error configuration file
RS-8091 Improvement Refactor getEntityByKey() methods as key fields can not contain duplicates
RS-8092 Improvement Adjust terminal table row color
RS-8094 Improvement Use standardized font in terminal
RS-8095 Improvement Refactor TreeDbManager getObjectByKey()
RS-8096 Improvement Extend default key generation to check if key exists
RS-8098 Improvement Transports: add elements to transport should only be possible if user has "write" permissions on transport object
RS-8100 Improvement Transports: permission check
RS-8101 Improvement Transports: add transport management generic permission
RS-8112 Improvement Templates of dynamic list: do not allow duplicate keys
RS-8122 Improvement Transports: fix json logs to use path instead of id of the node.
RS-8129 Improvement Transports: refactor permissions to service and entity
RS-8133 Improvement Forbid white spaces in usernames
RS-8134 Improvement Transports: add "check apply preconditions" button to "transport management" tab
RS-8135 Improvement Transports: remove unnecessary outputs
RS-8137 Improvement Transports: "transport apply" should show root error message if error happens
RS-8139 Improvement Transports: "remove from transport" button should not be shown if transport is closed
RS-8141 Improvement Transports: open duplicated transport after duplication
RS-8143 Improvement Import: Replace "Remove 'key' field in all imported reports if necessary" checkbox with "Generate random key"
RS-8146 Improvement Refactor right click menu items to their respective packages
RS-8147 Improvement Default datasink should not be loaded if datasink type is disabled in datasink.cf configuration
RS-8148 Improvement Remove old mail.cf (not secure! password in cleartext)
RS-8161 Improvement Refactor Juel "now" replacement
RS-8162 Improvement Juel expressions should be parsed in notification emails
RS-8163 Improvement Refactor datasink notification hookers
RS-8164 Improvement Scheduler: change default filename for datasink scheduler jobs
RS-8257 Improvement Refactor generic permissions to their respective packages
RS-8258 Improvement General info system console should include external java libs
RS-8259 Improvement General info system console should include internal java libs
RS-8261 Improvement Transports: add default transport generic permissions to Administrators group
RS-8264 Improvement Transports: improve button icons
RS-8269 Improvement Enforce unique combinations of paths and filenames in the backend code
RS-8276 Improvement General info system console should include installation path
RS-8277 Improvement Error log should allow to print installation path, headless, and library information
RS-8288 Improvement JXLS: explicitly activate formula processing
RS-8292 Improvement Datasinks should not export keyphrase
RS-8296 Improvement Allow to use more icons and replace some datasink icons
RS-8299 Improvement Show a better error when activating user does not work
RS-8318 Improvement Display IO temp files dir in "general info" system console
RS-8327 Improvement Check general info system console paths
RS-8356 Improvement Report duplication dialog should contain variant icons
RS-8359 Improvement Upgrade commons-configuration to 2.10.1
RS-8360 Improvement Upgrade commons-logging to 1.3.1
RS-8361 Improvement Improve dynamic list performance
RS-8362 Improvement Upgrade groovy to 4.0.21
RS-8363 Improvement Upgrade groovy-astbuilder to 4.0.21
RS-8364 Improvement Upgrade groovy-cli-picocli to 4.0.21
RS-8365 Improvement Upgrade groovy-datetime to 4.0.21
RS-8366 Improvement Upgrade groovy-dateutil to 4.0.21
RS-8367 Improvement Upgrade groovy-json to 4.0.21
RS-8368 Improvement Upgrade groovy-jsr223 to 4.0.21
RS-8369 Improvement Upgrade groovy-macro to 4.0.21
RS-8370 Improvement Upgrade groovy-nio to 4.0.21
RS-8371 Improvement Upgrade groovy-servlet to 4.0.21
RS-8372 Improvement Upgrade groovy-sql to 4.0.21
RS-8373 Improvement Upgrade groovy-templates to 4.0.21
RS-8374 Improvement Upgrade groovy-xml to 4.0.21
RS-8406 Improvement Better license descriptions
RS-8408 Improvement Add commonmark-ext-gfm-strikethrough-0.21.0.jar dependency
RS-8409 Improvement Add commonmark-ext-gfm-tables-0.21.0.jar dependency
RS-8410 Improvement Add commonmark-ext-image-attributes-0.21.0.jar dependency
RS-8411 Improvement Add commonmark-ext-ins-0.21.0.jar dependency
RS-8412 Improvement Add commonmark-ext-task-list-items-0.21.0.jar dependency
RS-8417 Improvement Larger login fields
RS-8422 Improvement Display better path information in entity information dialog
RS-8432 Improvement Upgrade mysql-connector-j to 8.4.0
RS-8437 Improvement Upgrade jasperreports to 6.21.3
RS-8440 Improvement Remove incorrect available columns info
RS-8443 Improvement #terminal URL should support pathway argument instead of using separate #terminalwithcommand URL
RS-8464 Improvement Improve Markdown and DOT rendering error messages
RS-8465 Improvement DOT files should be parsed as blocks in Markdown
RS-8471 Improvement Correct button order in "Execute RSP package" dialog
RS-8531 Improvement Transports: create import folder automatically
RS-8534 Improvement Transports: Remove caching in transport dialog
RS-8535 Improvement Transports: the transport description should be limited to 200 characters
RS-8536 Improvement Transports: Refresh after transport fetch
RS-8538 Improvement Transports: allow to close transport via right-click
RS-8541 Improvement Change aware tree provider caching
RS-8543 Improvement Transports: remove unnecessary scrollbars from transport object view
RS-8544 Improvement Transports: refresh transport UI after "Apply Transport" button click
RS-8576 Improvement Improve "Random key" in import dialog
RS-7860 Epic transports: keys als pflichtfeld machen überall
RS-7507 Bug Transports: search is not working
RS-7511 Bug "General info" system console is throwing "GWT.create() is only usable in client code" error
RS-7523 Bug Transports: error with TransportManagerAdminViewSecurityTarget in new installations
RS-7524 Bug Transports: creating transports by UI is throwing error because of empty key
RS-7525 Bug Transports: importing transports is changing their key
RS-7690 Bug Transports: XML syntax created automatically is incorrect
RS-7736 Bug Transports: Transport folder instance description and dto generation does not include correct messages
RS-7745 Bug AbstractTreeMainPanel.reloadView() deletes toolbar
RS-7753 Bug Open terminal location from any location is not working correctly for folders
RS-7854 Bug Pivot export is not working
RS-7914 Bug Transports: "transport rpull" terminal command is throwing error if no transports are found
RS-7931 Bug Base config files are not being created correctly on first run
RS-7932 Bug "rpull copy" terminal command is throwing a 500 error
RS-7936 Bug Transports: transport objects can not be exported when these include "imported by user" or "applied by user"
RS-7939 Bug Transports: NullPointerException in objects view
RS-7948 Bug Saving files is not showing new values in the form
RS-7952 Bug Duplicating files is not setting the key correctly
RS-7966 Bug "cp" terminal command is not creating unique keys
RS-7970 Bug Transports: "transport apply" is not working for multiple objects in the same folder
RS-7972 Bug Transports: applying same transport the second time throws error
RS-7973 Bug File duplication is throwing a key constraint error
RS-7978 Bug Copying reports per "cp" terminal command is not setting the key correctly
RS-7979 Bug NullPointerException during new ReportServer installation
RS-7982 Bug Transports: Object tree is not showing correct type in UI
RS-7984 Bug Transports: Error when importing files with existing key
RS-8007 Bug "transport apply" terminal command is not showing translations
RS-8036 Bug Transports: applying transport by "transport apply" terminal command causes protocol to be rolled back
RS-8039 Bug Demo data installation files contain "_copy" in their keys
RS-8043 Bug Hibernate persistence error when creating users
RS-8051 Bug Transports: error when trying to apply transport
RS-8060 Bug "diffconfigfiles createmissing" terminal command is throwing error because key can not be created
RS-8076 Bug Transports: key is not being shown in object tree
RS-8116 Bug Transports: adding more than one objects in the same folder is not working correctly
RS-8191 Bug Adding files per SFTP is throwing error
RS-8240 Bug Extracting files from zip is throwing error
RS-8262 Bug Transports: treeManagers contain not-transportable types
RS-8263 Bug Transports: transport is being applied although preconditions are not being met
RS-8266 Bug Transports: adding duplicated keys in the same tree should not be possible
RS-8267 Bug Transports: applying a transport fails if it contains a file without file ending
RS-8268 Bug Transports: files must have a unique name inside their respective folder in the transport object
RS-8272 Bug Transports: fix addReferenceKeys
RS-8285 Bug Transports: Missing property exceptions during apply
RS-8333 Bug Basic configuration package can not be installed
RS-8355 Bug Some icons are not being displayed correctly
RS-8375 Bug TeamSpace: TeamSpace owner is only displaying first name in TeamSpace edit dialog
RS-8376 Bug TeamSpace: if a user is owner and at the same time member, the TeamSpace edit dialog is not opening
RS-8377 Bug TeamSpace: managers and users should have access in method mayAccess()
RS-8379 Bug TeamSpace: permissions should be checked in method mayAccess()
RS-8381 Bug Automatic preview suppress: dynamic lists are not showing correctly
RS-8382 Bug Automatic preview suppress: property inheritance is not working
RS-8391 Bug Dynamic list CSV output creates an extra LF row at line 2 when the report contains no data.
RS-8423 Bug Installing the DEMO data throws a missing rights exception
RS-8426 Bug Dynamic lists with filter are showing incorrect record number in status bar
RS-8427 Bug Incorrectly formatted comment in scheduler.cf configuration file
RS-8442 Bug Opening terminal session from root folders is not working
RS-8444 Bug "Open terminal session here in new window" is not working in some cases
RS-8451 Bug Some DOT files are not being rendered correctly via Markdown
RS-8463 Bug New lines should not be replaced with spaces during DOT Markdown rendering
RS-8474 Bug Image attributes are not working in Markdown
RS-8485 Bug Installing demo data is causing a constraint error in Oracle due to duplicate entries
RS-8487 Bug Installing demo data throws NULL key constraint exception in template key (Oracle)
RS-8488 Bug Terminal window is not displaying prompt text
RS-8489 Bug Terminal window input field is not getting resized when resizing the terminal window
RS-8490 Bug theme.css contains invalid css
RS-8506 Bug DOT script report is not working in demo data
RS-8509 Bug Downloading files is not working
RS-8512 Bug Date format is not working in the dynamic lists
RS-8514 Bug Oracle TIMESTAMPTZ is not working
RS-8527 Bug Transports: Deleting transports and transport elements is not working
RS-8528 Bug Transports: deleting transport elements is not working
RS-8530 Bug Transports: mapping funktioniert nicht
RS-8532 Bug Transports: no error message is shown if no transport selected in transport management panel
RS-8540 Bug Transports: same-key mapping is not working correctly
RS-8542 Bug Values should be trimmed after reading xml to import
RS-8545 Bug Transports: "Duplicate as open" is not working if transport status is applied
RS-8561 Bug Computed fields are not working
RS-8562 Bug Show error when invalid computed fields expressions are entered
RS-8564 Bug Errors in computed columns are not shown in the UI
RS-8584 Bug XMLA cube based in Microsoft Analysis Services is not working
RS-8601 Bug restrictTo configuration is not working for users in urlview.cf configuration file
RS-8603 Bug "createNewFile" terminal command is not working
RS-8604 Bug Write-into-file terminal operator is not working
RS-8615 Bug Demo data can not be installed within the installer