You are viewing the documentation for Blueriq 17. 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 17.6 release.

Table of contents

Document Renderer Service - Improvements/changes

  • We changed the default font from Arial to Roboto and included the TrueType font files needed for that to work out of the box. Although Arial and Roboto are quite similar, your generated PDF documents might be different if you use the defaults.
  • In order to improve the performance (RAM usage) of the Document Renderer Service we added a font allowList to the service configuration. If you don't rely on the default configuration you must add one or more entries to the font allowList, depending on the actual fonts you use in your documents.

DCM Dashboard - changes

During this release we have made some changes in several services and libraries which require migrations. With these changes we are now able to load versioned dashboard models from the DCM Dashboard Service and load them either from Encore or from a Filesystem. The changes also include starting DCM Dashboards from shortcuts.

Material Theme - @blueriq/dashboard

@blueriq/dashboard

The @blueriq/dashboard 0.18.9 npm package contains several changes which have impact on your custom frontend whether is it a Material Theme based frontend or something of your own creation. In this version we have separated the Module structure to make it easier to add additional API versions of the DCM Dashboard Service. With the introduction of the new BlueriqDashboardModule we have moved a lot of the implementation from Material Theme to the @blueriq/dashboard package. Refer to the getting started documentation, on how to use the new Module in comparison to the legacy DashboardBackendModule.

Material Theme

We have release multiple Material Theme versions from 1.4.0 to 1.5.0, here is a list of changes which happend in each version and where to find them.

VersionChangesCommit
1.4.0
  • Migrated to the BlueriqDashboardModule 
  • Updated DashboardModule routes
  • Use BlueriqDashboard and BqDashboardComponent in DashboardComponent and DashboardPageComponent
  • Removed DashboardEffects and resolvers, routing folders
https://github.com/blueriq/blueriq-material/commit/d9ce1414a68b9172cca08c5529a808c90e2610a9
1.4.2
  • Split project into projectReference and projectVersion
  • Update Dashboard routes
https://github.com/blueriq/blueriq-material/commit/ab6710082732caf60bd0ec1e06a9e9a3cd7605cd
1.5.0
  • Added shortcuts functionality
https://github.com/blueriq/blueriq-material/commit/e1d4ccd753eb49120cee08865f7a666adca1868f

DCM Dashboard Service

Context path

In version 2.2 of the DCM Dashboard Service we have added a new default context path: /dcm-dashboard. This could have impact on your current services which connect to the DCM Dashboard Service. 

Dashboard properties

In DCM Dashboard Service 2.2, we introduced properties for enabling Dashboard project data sources and we renamed the blueriq.dcm.dashboard.definitions.location property. Please review the new and renamed properties below and update your configuration accordingly.

Old propertyNew propertyDescription
n/ablueriq.dcm.dashboard.exports.enabled

Enable the dashboard project data source that retrieves Dashboard exports from the file system.

Default: false

blueriq.dcm.dashboard.definitions.location blueriq.dcm.dashboard.exports.location

Folder that contains the Dashboard project exports.

n/ablueriq.dcm.dashboard.studio.enabled

Enable the dashboard project data source that retrieves Dashboard exports from Encore. Please note that this data source is only available when the development-tools profile is active.

Default: false

blueriq.studio blueriq.dcm.dashboard.studio

Configured the studio projects data source

blueriq.jwt blueriq.dcm.dashboard.jwt

Jwt configuration


Gateway Service

configuration

In the Gateway Service configuration a route is configured to connect to the DCM Dashboard Service. This route configuration needs to be updated to the following, for the legacy API of the Dashboard Service to still work.

Route configuration
spring:
  cloud:
    gateway:
      routes:
        - id: dashboard
          uri: http://<host>:<port>
          predicates:
            - Path=/dcm-dashboard/**
        - id: legacy-dashboard
          uri: http://<host>:<port>
          predicates:
            - Path=/dashboards/**
          filters:
            - PrefixPath=/dcm-dashboard

The legacy endpoint will still use '/dashboards' route but it will send a context path prefix of /dcm-dashboard so the DCM Dashboard Service understands what is happening.


DCM Dashboard Frontend

With the context path that is added to the DCM Dashboard Service you will also need to update your nginx configuration for the DCM Dashboard Frontend. 

Old configuration
    location /dashboards/ {
        proxy_pass http://gateway/;
    }

Previously a /dashboards/ location was required in order to retrieve the dashboard definitions from the DCM Dashboard Service. This location block can be removed as it is no longer required.

New configuration
    location /dcm-dashboard/ {
        proxy_pass http://gateway;
    }

With the newly introduced context path you will need to need to configure a location /dcm-dashboard block to retrieve the dashboard pages from the DCM Dashboard Service, please note that the gateway proxy_pass no longer needs a trailing slash.

Nullability in REST services

In support of modelling whether a Domain Schema property is nullable, various changes in REST request processing have been made. Models are automatically migrated such that Domain Schema properties remain nullable (aligning with the behavior in prior versions), there are however cases where behavior differences may be observed:

  1. Array and object values (corresponding with multivalued properties and inline or referenced domain schema properties, respectively) used to be entirely ignored when they had an explicit null  value. Now, this results in assigning a user-set unknown into the Blueriq profile, as well as triggering the field validations of those properties.
  2. Serialization to and from XML has been changed to set xsi:nil="true"  on XML elements that represent a null  value. Previously there was a discrepancy where this resulted in an empty element tag, which would get parsed into an empty string instead of unknown when received by Blueriq.
  3. JSON parsing did not properly handle commas within arrays and objects. This has been addressed, resulting in parse errors when trailing commas are present. Such trailing commas are not valid JSON and are now rejected as such.

Known issues

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

  • No labels