The new version of Polarion is available - Polarion ALM version 19.1 (Service Release 1).
This release introduces a new User Groups feature for easier enterprise-level permissions management. An early access feature in 19.1, enabled via a system configuration property, it lets administrators define entire groups of users that they then revoke or grant permissions to collectively. More details below.
We've also delivered some significant improvements and enhancements to the following:
Comparison of LiveDoc Documents - Much faster comparison of huge LiveDocs
Optimized UI preferences handling - Scalability boost for thousands of users in a cluster
All that along with the usual round of fixes and continuous performance optimizations.
Let's jump in and have a closer look.
User Groups Management
The new User Group feature greatly simplifies and ensures the consistency of access rights and permission management. With user groups, administrators can now group users based on their business role and associate both global and project roles in different projects to these groups. So when on-boarding a new user to Polarion, administrators only need to associate the user with the group that corresponds to their business role and they’re immediately granted the permissions required for all relevant projects.
Users can be members of multiple User Groups simultaneously, so administrators can temporarily elevate a user's permission level by adding them to an additional Group with more permissions. Existing direct assignments of project roles to individual users is also still supported, so you can combine these two approaches to assign permissions as you see fit.
Enabling User Groups management
Although our teams are not yet done with the whole scope of this functionality, we decided to expose it to our administrators, because it brings very substantial benefit to them. In the Polarion 19.1 release, the User Groups Management feature can be enabled on-demand by adding the following property to the polarion.properties file:
com.siemens.polarion.userGroups.enabled = true
The User Groups feature in the current early-access state has a couple of temporary limitations that will be addressed in the next Polarion 19.2 release for even greater administrative control and convenience.
Users and Roles can currently only be assigned to a Group manually by editing the XML configuration files in the SVN repository. How to do this is thoroughly described in Polarion's Help.
When a change is done in a Group that results in a change of a user's access rights, the access file synchronization must be done manually by navigating in Administration to User Management > Roles and clicking on the Synchronize SVN Access File button.
In the Users and Roles administration pages, it is currently not possible to tell the source of a user's role assignment— whether it was assigned directly to them, or it was done via a User Group.
Faster and less resource-intensive Document compare
Comparison of Document changes has been enhanced by additional preprocessing that speeds up the comparison of very big documents. Depending on the size and structure of the Document, the number of Work Items, and the number of changes, the overall time of the compare has been reduced by tens of percent.
Additional benefits of the new algorithm include:
A significant reduction in memory consumption because the changes are now chunked into smaller fragments, and only small pieces of the Documents are being compared at a time.
Better visualization of changes in complex tables, not only in the LiveDoc compare but also in the Work Items history.
The following table shows the improvement in some of the biggest test Documents used in our regular performance testing.
Customer A Specification
Customer B Specification
Customer Z Specification
AUTOSAR DCM Specification
> 10 minutes, OOM
> 90 %
Improved navigation through Document changes
Navigating through changes in a Document now visualizes the currently selected change with a purple rectangle for easier review. Additionally, changes can be highlighted by a click, so users can jump to any change in the Document, and then use the navigation buttons to browse through the adjacent changes.
Configurable hiding of duplicate roots in Work Items Tree table
By default, each item is only exposed once in the dependency tree, so the roots of the tree are hidden in case they are also exposed in the lower levels of the tree (see below).
However, in some cases, customers want to show all items that are the result of the query on the top level of the tree, regardless of having the same items exposed in the lower levels of the dependency tree. A new configuration property gives administrators control over the hiding of duplicate roots.
workitems.treeTable.removeDuplicateRoots = false
Setting the configuration property shown above in Administration > Configuration Properties, either on global or project level, disables the removal of duplicate roots as indicated in the screenshot below.
Digital signature for SAML single sign-on AuthnRequests
Our customers hosting Polarion in the cloud require the highest level of security. In order to clearly identify valid requests from a Polarion service provider on the customer's identity provider side, Polarion now supports the signing of the SAML authentication request. Refer to our Single Sign-On with Polarion guide for detailed information on how to set up the Authentication request signing.
Propagation of Work Item delete in TFS connector
The new TFS connector, part of the Polarion core product since Polarion 19, supports the synchronization of Work Item delete operations on the Polarion side. If "Work Item A" was previously synchronized from TFS to Polarion, and later deleted on the Polarion side, then this deletion will be propagated to TFS if configured to do so.
Configuring attachment previews on remote Window machines
The attachment previews functionality of Polarion typically requires generating the previews on a remote Windows machine when the Polarion server is hosted on a Linux machine. New guidance for setting up remote previews has been prepared and tested by our DevOps team. The new configuration no longer uses the legacy WinExe utility, which no longer works on the newest operating systems, but leverages OpenSSH instead. Refer to our Linux Installationguide for more details about the new recommended configuration.
Changes in supported 3rd party dependencies
The recent change in Oracle's licensing of Java required a change in our Java support policy. The new major version of Oracle OpenJDK is only provided with 6 months of free support. However, there are community groups that provide open-source, long-term support for OpenJDK 11 binaries.
From Polarion 19.1 onwards, AdoptOpenJDK 11 (LTS) is the recommended JDK for runtime. Please refer to the Configuration.txt file in the Polarion distribution archive for a detailed description of configuration changes that need to be applied in relation to the switch to the OpenJDK.
Firefox 67 was also tested and added into the list of supported browsers.
Performance and Scalability
Optimized handling of UI preferences in a cluster
Polarion provides many user-level UI preferences, which are stored on the server-side, but not persisted in our Subversion repository, e.g. last visited URL, screen layout, recently used queries or favorite projects.
The handling of these UI preferences in a cluster has been significantly reworked and optimized to support seamless scalability to thousands of concurrent users. This data is now managed by the Polarion coordinator service in a cluster and leverages additional 2-level caching (on browser and server), which significantly reduces the number of IO operations.
DPP-200837 - TFS connector cannot connect to TFS 2018 DPP-198666 - Cluster locks are not correctly released if a transaction fails or is terminated DPP-198206 - Baseline revision cannot be used when comparing LiveDoc revisions DPP-197626 - Regression in 3.18.2: Thread killing can cause a deadlock of licenses in a cluster DPP-181312 - Broken table layout when comparing a table in a Description between branch and master documents in Work Item mode DPP-178115 - Cluster lock contention on UICustomizationDataProvider on high concurrency DPP-177820 - Changes are incorrectly positioned when comparing a table in a Description in Work Item mode DPP-176532 - Comparing big documents consumes too much memory DPP-175676 - Work Item tree table may confuse users by not showing all Work Items in a query result on the root level DPP-160563 - Filter for lazy-loaded watchers list does appear correctly DPP-103593 - Attachment with a non-breaking space in its name crashes Lucene search DPP-99989 - Document comparison is slow for big documents due to its non-linear complexity DPP-95844 - Search in Activity stream does not search correctly by the first word in the title
Additionally, a few security issues were fixed in this release.
Version 19.1 is an update for all Polarion ALM products. It is free to all customers with a current maintenance subscription. You can download the update distribution at https://polarion.plm.automation.siemens.com/downloads/update. For details, see the bundled HOW_TO_INSTALL_THIS_UPDATE.txt in the update distribution package.