You are viewing the documentation for Blueriq 16. Documentation for other versions is available in our documentation directory.

Before you upgrade make sure to read the General Upgrade instructions as well as the Upgrade instructions for previous versions.

The changes are color coded. Orange elements have been changed, Green elements have been added and Red elements have been removed compared to the 16.x release.

Table of contents

DCM Case Modeling Dashboard Development Toolbar

In release 16.4 Development Toolbar support has been added to the DCM Case Modeling Dashboard setup, this however does bring migration changes with them. Changes have performed on different services in our infrastructure, most of the changes are now default settings but they can  be of impact to the your setup.

Runtime

The Runtime will now always have JSESSIONID as the default session cookie name. This was done by configuring the server.servlet.session.cookie.name property. The reason for this change is to ensure that the DCM Case Modeling Dashboard widget sessions can be fully scoped to a single session, for that to work the Runtime will always has to send the same session cookie name to when initializing a HTTP Session.  

When the Runtime is storing its sessions in Redis, by default the session cookie name would be SESSION this is now changed to JSESSIONID. In case the Runtime does not have a session store configured it will create a session cookie name with JSESSIONID by default.

DCM Dashboard frontend reverse proxy

As opposed the default Blueriq Frontend the DCM Dashboard frontend needs to be run in a reverse proxy to guarantee that requests of the frontend reach the proper backing services. To support the development toolbar, changes need to be executed in the configuration of the reverse proxy. The DCM installation starter's reverse proxy (nginx) configuration has been updated to include the new or changed locations.

Runtime location

The runtime location block of has been updated to optionally include the /server path segment in the request location to allow HATEOAS link requests which are generated by the development toolbar API.

BeforeAfter
 location /runtime/ {
    rewrite ^/runtime/([^/]*)/(.*)$ /runtime/$1/server/$2 break;
    proxy_pass http://gateway/;
}


 location /runtime/ {
    rewrite ^/runtime/([^/]*)/(server/)?(.*)$ /runtime/$1/server/$3 break;
    proxy_pass http://gateway/;
} 

 Server location

For the DCM Dashboard frontend to load the development toolbar itself a new location block has been added. The /server location.

location /server/ {
    rewrite ^/server/(.*)$ /runtime/server/$1 break;
    proxy_pass http://gateway/;
} 

Material Theme

The Material theme has been updated to keep track of the devtools query parameter in the url when switching between dashboard pages. Changes that have done to accomplish this can be found here on our material theme github page.

Gateway WidgetSession Filter

Multiple changes have been applied to the WidgetSession route Filter.

ContextPaths parameter

The WidgetSession Filter now only supports one contextPath per route. In case multiple contextPaths are currently configured you will need to separate the route into multiple routes.

BeforeAfter
      routes:
        - id: runtimes
          uri: http://load-balancer
          predicates:
            - Path=/runtime/**,/other-runtime/**
          filters:
            - WidgetSession=/runtime,/other-runtime/


      routes:
        - id: runtime
          uri: http://load-balancer
          predicates:
            - Path=/runtime/**
          filters:
            - WidgetSession=/runtime
		- id: other-runtime
          uri: http://load-balancer
          predicates:
            - Path=/other-runtime/**
          filters:
            - WidgetSession=/other-runtime

SessionCookiePath parameter

A new WidgetSession Filter parameter has been introduced which allows the implementer to override the default session cookie name which is send by the Runtime. By default the session cookie name is configured to JSESSIONID but can be override by setting it as the second parameter.

      routes:
        - id: runtimes
          uri: http://load-balancer
          predicates:
            - Path=/runtime/**
          filters:
            - WidgetSession=/runtime, SESSIONID

Session Cookies

As of version 0.2.0 of the Gateway runtime session cookie names will now also be scoped to the widget id. This could have impact on the current infrastructure. 

Before
Set-Cookie: JSESSIONID=123456789 ;Path=/runtime/widget-1
After
Set-Cookie: JSESSIONID_widget-1=123456789 ;Path=/runtime/widget-1

Material Theme JWT Authentication

The material theme has been updated to include the JWT authentication flow when the JWT Authentication Provider is enabled in the Blueriq Runtime.

To add support for you custom theme upgrade your @blueriq npm libraries to a minimum version of 0.17.3. Changes done to Material Theme can be found here.

Spring Boot 3.1

Redis SSL properties

The properties for configuring SSL for Redis have changed.

old
spring.data.redis.ssl = true
blueriq.external-flow.redis-store.ssl = true
new
spring.data.redis.ssl.enabled = true
blueriq.external-flow.redis-store.ssl.enabled = true

DCM Maintenance App Oauth2 and Blueriq Gateway Service

The authentication and authorization mechanism of the DCM Maintenance App has been altered. The Basic auth mechanism will not work anymore, as it is removed. The only way to authenticate is using OAuth 2.0 in combination with the Blueriq Gateway Service. Earlier it was already possible to use OAuth 2.0, but now the Blueriq Gateway Service is also mandatory for that. The explanation how to set it up can be found in the Blueriq Gateway and OAuth2 configuration page of the Blueriq DCM Maintenance Application.

Known issues

For an overview of known issue please refer to: Known issues.