Products

Polarion ALM 22 R1 – What’s New and Noteworthy

By Radek Krotil

Another major version of Polarion is now available – Polarion ALM 22 R1

In this release, we deliver greatly improved source code traceability, as well as several productivity improvements, based on the feedback from our customers who use our solutions every day.

Significant enhancements were done to the following: 

  • Commit Traceability – New scalable architecture of source code change traceability allows you to link changes from thousands of branches to Polarion Work Items with minimal network utilization.
  • Simulink Connector – A brand new Simulink connector provides a superb user experience with the embedded Polarion UI within the Simulink and an advanced feature set.
  • Productivity Improvements – Easy on the user with type-specific custom fields for Live Documents, or retaining the Work Item selection when switching the Live Document filter.

Let’s take a deep dive into all improvements the new release brings.

Improved Commit Traceability

We rethought how Polarion connects to external repositories and tracks the changes made to your code.

The new Commit Traceability feature uses Apache Kafka as an intermediary Data Exchange Tool to locally store all metadata for the commits made to the connected repositories. Each Polarion cluster node then uses the data from Kafka to build the index and get new changes – making the whole process 10% to 60% faster than the original solution.

RepositoryNew Solution
Fetch
New Solution
(Index and Reindex)
Original Solution
(Fetch + Re/Index)
100x local Git, 500K revisions2 min6 min20 min60%
GitHub, 300K revisions40 min3 min60 min 28%
GitHub, 1000K revisions190 min27 minnot possible to process
4x SVN, 2000K revisions48 s42 min50 min14%

We introduced a new,  External Repository Aggregator (ERA) service to manage external repository connections. The ERA service acts as a single point of contact, supports thousands of repositories for a single Polarion instance, and supports the most popular repository providers (SVNGitGitHubGitLab, and Bitbucket) in all their versions and flavors.

With ERA as the single point of contact, the whole system is much more efficient, decreasing the network load because there are no longer multiple Polarion nodes trying to communicate with each external repository at once.

Health Polling in Polarion with Kafka
Health Polling

The big feature of ERA is the support for Hooks/GitHooks/WebHooks together with Health Polling.

Up until now, every Polarion node polled all connected external repositories for updates every 5 seconds. For example, with 100 connected repositories and 7 nodes in a Polarion cluster, this totaled over 12 million requests per day.

The hooks are configured on the external repository side and are used to let ERA know that there has been a change. This allows us to not use periodic polling as the primary source for getting information about new updates. Instead, we can increase the polling period from 5 seconds to hours and use it as a “health” feature that occasionally checks for changes missed due to network issues or system outages.

Using hooks with health polling set to 1 hour with 100 connected repositories and 7 Polarion nodes in the cluster totals 4900 requests per day. (The system makes almost 2500x fewer requests, just 0,04% of the original amount.)

Repo
count
Commits
per day
Health polls per day
(60 min interval)
Polls per day – hooks
(repos * commits)
New polls per day
(health + hooks)
Old solution polls
per day (7 nodes)
Heavy501001 2005 0006 2006 048 000975x
Mid100252 4002 5004 90012 096 0002468x
Light450110 80045011 25054 432 0004838x
Total60012614 400795022 35072 576 0003230x

ERA also supports simultaneous connections to multiple branches of each connected repository. This avoids the need for local clones of specific remote repository branches. (A requirement up until now.)

The tracked branches can be specified as a static list or dynamically loaded by ERA based on a regular expression (RegEx) that defines a pattern of branch IDs that should be automatically picked up.

This dramatically improves the usability of the Commit Traceability feature for use cases like working in feature branches when developing your new functionality. All commits for all features can now be visible in Polarion even if the work on a feature is still in progress and it’s done seamlessly without any administrative overhaul.

Tracking multiple branches from the same repository only increases the number of processed external revisions by the commits unique to the tracked branches. Once a commit is merged to the master, it no longer appears for other branches. This allows us to effectively track multiple branches from the same repository without negatively impacting scalability and performance.

Productivity Improvements

Type-specific custom fields for LiveDocs

The new version allows you to configure different custom fields for specific Document types so that only relevant custom fields are available for each Document. It is possible to configure custom fields for “All Types“, which are then configured for all Document types on top of the type-specific ones.

Define custom fields per LiveDoc type
You can now define custom fields per LiveDoc type
Custom fields for the System Requirements Document type / Custom Fields for the Software Requirements Document type

Keep Work Item selection when switching Document Filter

Live Documents have been enhanced so that you can keep your working context by retaining the Work Item selection when switching between filtered read-only and full edit mode of a Live Document.

Navigation via Linked Work Items in Document Editor

We unified the rendering of Linked Work Items in the Work Item Presentation layout in the Document, with the existing behavior of Linked Work Items in the Work Item Properties sidebar.

  • Clicking on a Linked Work Item that is sitting in the same Document will select the target Work Item and scroll it into the view.
  • Clicking on a Linked Work Item that is sitting in a different Document will open that Document, select the target Work Item and scroll it into the view.
  • Clicking on a Linked Work Item that is not in a Document will open the Work Item details in a new browser tab.

This functionality makes the navigation via trace links easy from within the Document context, without the necessity to navigate via the Work Item Properties sidebar.

Other Enhancements

  • The “Stay logged in” functionality can be optionally disabled via a polarion property if administrators want to force their end-users to always use their credentials for login for increased security. “Stay logged in” only applies to authentication via the local users file, or LDAP. Not via the single sign-on authentication using SAML, or OAuth 2.
  • Adding a custom logo to the login screen now replaces the Siemens logo instead of displaying both logos.
  • The custom field type Duration is available in Collection and Test Record Custom Field administration.

Enhanced Ecosystem

Open Services for Lifecycle Collaboration (OSLC) Support

When you hover over an OSLC link in the Work Item Properties sidebar, a rich text supported window from the remote system’s UI appears.

OSLC link from a remote system previewed in the Work Item Properties sidebar
OSLC link from a remote system previewed in the Work Item Properties sidebar.

We also made it possible to create OSLC links between LiveDocs located on two different Polarion instances or a container of requirements (like a module) on another remote system.

OSLC linking to other requirement collections in the Document Properties sidebar
LiveDoc Properties sidebar now displays a rich text preview of OSLC links to other LiveDocs

We made the following usability and compatibility improvements to Polarion’s OSLC support:

  • The Selection and Creation dialogs from an OSLC provider are now resizable within Polarion.
  • Polarion 22R1 was updated to use the latest OSLC libraries to ensure maximum compatibility with remote systems.
  • OSLC links now display the Teamcenter Item ID, Rev ID, and Name when using the Teamcenter/Polarion linked data integration. (Instead of just the Name.)
Teamcenter OSLC links displayed with Rev ID, Item ID and Name

Personal Access Tokens for authentication in the Webservices API

Personal Access Tokens allow you to authenticate users or service accounts via the Webservices API (and later in the REST API) securely, by avoiding the storage of usernames and passwords in external tools. Users can create their own Personal Access Tokens with specific expiration dates, or revoke the tokens manually.

Personal Access Tokens administration

License monitoring via Java Management Extensions

Polarion license utilization can be easily monitored via the new License statistics MBean that exposes license usage information via the Java Management Extensions API, or so-called JMX. The JMX is a standard Java technology that enables the easy plugging of these statistics into enterprise monitoring tools like Zabbix, or Kibana, or allows viewing these statistics with tools such as Java Management Console.

License Statistics can be easily monitored in the favorite tool of your DevOps team

Active Load Balancing in the Cloud

Active load balancing ensures the correct balancing of users across the Polarion application nodes in a cluster. Users need to be re-balanced especially when Polarion application nodes in the cluster are added, removed, or restarted.

Active load balancing requires that the user’s login session is shared across all the nodes in the cluster. Previously, the technical implementation of this functionality relied on Multicast technology, which was not available with many cloud providers, so we updated the session replication implementation to unlock active load balancing in the Polarion clusters deployed in the cloud. We highly recommend setting up active load balancing for any Polarion cluster.

Performance and Scalability

The most notable improvement is related to the loading of objects that use custom fields of type object enumeration, i.e., Fields that list Polarion objects. All the object enumerations are now lazy-loaded into the editor, which significantly reduces the load time of affected objects.

Additionally, the algorithm for constructing a tree of Work Items has been enhanced to avoid deduplication of tree nodes when a certain tree size is reached in order to limit system resource utilization. The deduplication removes redundant root Work Items if the same Work Item is displayed in the lower levels of the tree.

Finally, the calculation and indexing of outline numbers in Document history has been switched off by default, in order to speed up historical indexing and reduce index size. Outline numbers in Document history can be enabled by a polarion property.

Use Case21 R2 [s]22 R1 [s]
Load Test Run No Cache168199,40%
Load Test Run Cache140,695,70%
TreeCreatorPerformanceTests.testCreateTree* (Median)0,440,2151,90%

Technology update

Graal JavaScript engine

Polarion workflow script functions, conditions, and script jobs are currently executed by the Nashhorn JavaScript engine that is part of Java. Due to the upcoming removal of the Nashorn JavaScript engine in the future Java 17, we included the next-generation Graal JavaScript engine into Polarion. For now, the usage of the Graal engine can be enabled by a Polarion property.

From Polarion 22 R2, we will support only Java 17 for runtime, so the Graal engine will be used by Polarion by default.

The scripts are not fully compatible between the different engines, so we suggest you start validating and updating your scripts early.

Updates to Supported 3rd Party Systems and Components

  • Added Debian 11 support
  • Added support of PostgreSQL 13.4 which is now bundled in the Windows distribution
  • Firefox support limited to ESR versions

New Documentation Guides

In order to make Polarion scripting easier, a new SDK Scripting Guide was introduced and provided in the Polarion distribution.

Since Polarion needs to be maintained long-term, we need to update the technology continuously and occasionally deprecate and remove old features. To keep our customers in the loop, we created a new Deprecation and Removal plan that lists all the depreciations and removals for the current release as well as a roadmap for the following Polarion release.

Notable Issue Fixes

A number of important issues have been addressed in this release. For example, the search in the historical Work Items table has been fixed to execute the search against the historical index to produce an accurate query result. Here are some further notable issue fixes:

DPP-225317 – Easy Linking: Memory leakage reported
DPP-224397 – White Label Error Page when activating Collaboration Feature using AWS LB
DPP-223026 – Coordinator runs out of memory because of multiplied login requests
DPP-223012 – Regression in 3.21.1 SAML: Polarion does not convert anchor links before they are sent to IdP
DPP-214163 – Regression in SVN 1.10+: History view of some documents fails with SVN exception “chunked stream ended unexpectedly„ 
DPP-203009 – Any changes in UI-data classes breaks the deserialization of already serialized objects
DPP-164731 – Cannot execute workflow action via drag&drop in Kanban board if the action requires description
DPP-122146 – unable to attach *.gz file to work item
DPP-96084 – NPE when selecting Work Item for bulk edit with insufficient permission
DPP-94261 – Rows in old table component are stuck in Loading… State
DPP-92597 – Filter is applied on head revision when viewing Document history
DPP-91617 – Table with no border in editor displays border in PDF Export
View the complete resolved issues list.

One last thing … New Polarion Connector for Mathworks Simulink

In the last “What’s new blog post for Polarion”, we mentioned that we were working on a new Polarion connector for Mathworks Simulink. Now, in time for this new Polarion 22 R1 release, we are pleased to announce that the new Polarion connector for Simulink is here in a dedicated blog post. For the first time, Polarion itself has been directly embedded into the Simulink desktop client to support a larger set of customer use cases and reduce inconvenient app context switching.

Polarion embedded inside of Simulink

Update Information

Version 22 R1 is a free update to all customers with a current maintenance subscription. You can download the update distribution at Support Center. Instructions for installing it are in the HOW_TO_INSTALL_THIS_UPDATE.txt file, bundled in the update distribution package. Please also review the Configuration.txt file, which describes changes that can affect existing Polarion installations.

Evaluation

If you would like to evaluate this release before updating your production installation, simply visit Polarion Trial Download, download the product, install it, and use the built-in 30-day evaluation license.

If you have any questions or comments, please don’t hesitate to contact us on the Polarion Community portal or through your Polarion technical support contact. On behalf of our entire team, thank you for using Polarion ALM.

Regards,
Radek Krotil,
Polarion ALM Product Management

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/polarion/polarion-alm-22-r1-whats-new-and-noteworthy/