You are viewing the documentation for Blueriq 13. 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 12.x release.

Table of contents

Version Management Migration

In Blueriq 12.9, opt-in support for a new version management system for Blueriq Studio has been introduced, in favor of the single Repository.sdf database file. With the release of Blueriq 13, the old system has been phased out completely and is therefore no longer available, prompting for a migration of the Repository.sdf data into the new version management system. Please note that this migration should be performed on an SDF database corresponding with the latest Blueriq 12 version, so make sure to perform this intermediate migration if necessary prior to starting the Blueriq 13 migration.

More information on the exact details of the migration can be found in the dedicated Version Management Migration page.

Legacy Toggles

In previous releases legacy toggles were added when a behavior change was done in Blueriq. These legacy toggles were for temporary use to help customers upgrade to a new version more gradually. In release 13 we removed most of these legacy properties. Please check your application.properties for the usage of the properties prefixed with: blueriq.legacy.
When you do use these legacy properties, please find the corresponding property on the Legacy Properties page and remove them from your application using the explanation.

Spring Boot upgrade

For Blueriq 13, Spring Boot was updated to version 2.2.6. This also means that a lot of underlying libraries have been updated. See the Blueriq 13.0 Release Notes for the complete set of updates.

Some noteworthy changes that might impact an upgrade to Blueriq 13 are:

  • The property logging.file has been renamed to logging.file.name.
  • For the 'Reload settings' button in the development tools to work, the refresh actuator endpoint should be enabled and exposed. If you use a default Blueriq installation, this is set properly by default, but if you have custom properties, the runtime might not start up. Use these properties if you run into problems:
application-development-tools.properties
management.endpoint.refresh.enabled = true
management.endpoints.web.exposure.include = ...,refresh,... # make sure that 'refresh' is included in the list of exposed endpoints
  • JMX is disabled by default. If you use actuators with JMX, you should set the property spring.jmx.enabled  to true.
  • There have been some changes to the default visibility of some actuators.
  • The JDBC Driver for Microsoft SQL Server should be updated to 7.4.1 or newer.
  • Spring has deprecated the application/json;charset=UTF-8 content type, because JSON is UTF-8 by specification. It is a good practice to make sure that all of your applications that receive JSON from the Blueriq Runtime interpret this response as UTF-8.

See the Spring Boot 2.2 Release Notes for more details.

MVC UI removed

In Blueriq 13 the MVC UI is removed, after it has been deprecated in R11. If you have a custom MVC theme, you can still use that with Blueriq 13, as explained here: MVC UI.

Deprecated containers removed

In Blueriq 13 the following containers have been removed, after they have been deprecated in R11.

  • AQ_Chart_EasyPieYou can use the AQ_Statistic_Visualization container as alternative.
  • AQ_BreadCrumb. There's no alternative container type. If you need help figuring out how you can create an alternative yourself, contact support@blueriq.com.
  • AQ_ExternalContent. There's no alternative container type. If you need help figuring out how you can create an alternative yourself, contact support@blueriq.com.

Formats on containers removed

In Blueriq 13 the format property on a few containers has been removed, after they have been deprecated in R12. In Blueriq 12, presentation styles were added to these containers as a replacement.

  • AQ_CaseList
  • AQ_WorkList
  • AQ_InstanceLinker

When opening a branch that still contains elements with formats, the formats will be dropped by an automatic migration, without replacing them. To migrate any remaining format usages over to presentation styles, the separate migration tool can be used when still on Blueriq 12, which is able to create the necessary presentation styles and convert the formats into the corresponding presentation style. For the usages of the migration tool please the check Migration tool page.

API changes

SDK

For release 13 a lot of methods which were deprecated and scheduled for removal a long time ago, were removed. Also the deprecated legacy toggles which were scheduled for removal in R13 have been removed.

com.aquima.interactions.composer.ITextItem, com.aquima.interactions.composer.model.TextItem, com.aquima.interactions.composer.model.TextStyleNode

  • method com.aquima.interactions.composer.model.TextElement[] getNodes(com.aquima.interactions.foundation.text.ILanguage)

com.aquima.interactions.composer.model.definition.AbstractReference

  •  method setButtonAction(java.lang.String)

com.aquima.interactions.composer.model.definition.AssetDefinition

  • constructor AssetDefinition(java.lang.String)

com.aquima.interactions.config.legacy.ILegacyToggles, com.aquima.interactions.config.legacy.DefaultLegacyToggles, com.aquima.interactions.config.legacy.TestLegacyToggles

  • method boolean getDefaultInstanceActivationType()
  • method boolean isBaasAuthorizationDisabled()
  • method boolean isComposerNowrapRepeatContainerEnabled()
  • method boolean isImplicitCaseLockingEnabled()
  • method boolean isKeepErrorsOnExceptionExitEnabled()
  • method boolean isLowerCaseDatePatternsEnabled()
  • method boolean isMapLdapGroupsToRoles()
  • method boolean isMessageeventUsedAsCasecreateAndBroadcastEventEnabled()
  • method boolean isServiceExceptionOnAggregateOfWrongType()
  • method boolean isShouldIncludeApplicationIdInCommentsList()
  • method boolean isTransactionalCaseEvaluatorEnabled()
  • method boolean isUseHttpConnectionInRestServiceClientService()
  • method boolean isValidateInvisibleFields()

class com.aquima.interactions.ds.studio.StudioDS

com.aquima.interactions.ds.xml.XmlPortalEngineDS

  • method void setApplicationFiles(java.lang.String[])

class com.aquima.interactions.expressions.functions.str.Format

com.aquima.interactions.foundation.report.ReportingDS, com.aquima.interactions.foundation.report.ReportingVisitorDS

  • method void addMessage(com.aquima.interactions.foundation.GUID, com.aquima.interactions.foundation.report.ErrorCode, java.lang.String[], com.aquima.interactions.foundation.report.Severity)

com.aquima.interactions.foundation.text.MultilingualText

  • method com.aquima.interactions.foundation.text.MultilingualText addContent(com.aquima.interactions.foundation.text.ILanguage, java.lang.String)

class com.aquima.interactions.foundation.utility.ArrayUtil

class com.aquima.interactions.foundation.utility.Base64

package com.aquima.interactions.framework.container.breadcrumb

com.aquima.interactions.framework.container.caselist.CaseListExpander

  • no longer implements com.aquima.interactions.portal.ISelfValidatingContainerExpander
  • field java.lang.String BUTTON_FORMAT
  • field java.lang.String CASE_LIST_COLUMN
  • field java.lang.String COLUMN_ACTION
  • field java.lang.String COLUMN_CASE_DATA
  • field java.lang.String COLUMN_DATA
  • field java.lang.String COLUMNS
  • field java.lang.String DATA
  • field java.lang.String FORMAT
  • method void validate(com.aquima.interactions.portal.model.IContainerExpanderDefinition, com.aquima.interactions.portal.ISelfValidationContext)

class com.aquima.interactions.framework.container.externalcontent.ExternalContentContainer

com.aquima.interactions.framework.container.instance.linker.InstanceLinkerParameters

  • field java.lang.String PARAM_FORMAT
  • method java.lang.String getFormat()

com.aquima.interactions.framework.container.worklist.config.impl.XmlWorkListParameters, com.aquima.interactions.framework.container.worklist.config.IWorkListParameters

  • method com.aquima.interactions.composer.model.PresentationStyle getLockedStyle()

class com.aquima.interactions.framework.container.worklist.WorkListExpander

  • no longer implements com.aquima.interactions.portal.ISelfValidatingContainerExpander
  • method void validate(com.aquima.interactions.portal.model.IContainerExpanderDefinition, com.aquima.interactions.portal.ISelfValidationContext)

com.aquima.interactions.framework.DefaultFactoryManagerBase

  • method com.aquima.interactions.metamodel.IDomainFactory getDomainFactory()

com.aquima.interactions.framework.documents.XmlFoRendererBase, com.aquima.interactions.portal.documents.IDocumentRenderer

  • method void renderDocument(com.aquima.interactions.composer.ICompositeElement, com.aquima.interactions.foundation.text.ILanguage, com.aquima.interactions.foundation.ApplicationID, com.aquima.interactions.portal.documents.IRenderTarget)

class com.aquima.interactions.framework.domain.DefaultDomainFactory

com.aquima.interactions.framework.FactoryManager

  • method com.aquima.interactions.metamodel.IDomainFactory getDomainFactory()
  • method void setDomainFactory(com.aquima.interactions.metamodel.IDomainFactory)

class com.aquima.interactions.framework.renderer.page.r6.XmlBreadCrumb

class com.aquima.interactions.framework.renderer.page.r6.XmlTable

com.aquima.interactions.framework.renderer.XmlRendererBase

  • method void setKeyPrefix(java.lang.String)

com.aquima.interactions.metamodel.DomainValues

  • method void addDomainValue(com.aquima.interactions.foundation.IPrimitiveValue)

interface com.aquima.interactions.metamodel.IDomainFactory

com.aquima.interactions.metamodel.IMetaModelFactory, com.aquima.interactions.metamodel.MetaModelFactory

  • method com.aquima.interactions.metamodel.IMetaModel create(com.aquima.interactions.metamodel.ds.IMetaModelDS, com.aquima.interactions.metamodel.IDomainFactory)

com.aquima.interactions.metamodel.impl.MetaModel

  • constructor MetaModel(com.aquima.interactions.metamodel.ds.IMetaModelDS, com.aquima.interactions.metamodel.IDomainFactory)

interface com.aquima.interactions.metamodel.util.DomainValuesFactoryAdapter

com.aquima.interactions.portal.ApplicationMode

  • field com.aquima.interactions.portal.ApplicationMode ACC

com.aquima.interactions.portal.IApplication, com.aquima.interactions.portal.model.Application, com.aquima.interactions.portal.model.process.ProcessEnabledApplication, com.aquima.interactions.portal.portalmessage.PortalMessageApplication

  • method boolean isProcessEnabled()

interface com.aquima.interactions.portal.IPortalFactory

class com.aquima.interactions.portal.model.def.ExpressionParameter

class com.aquima.interactions.portal.model.factory.LinkedDomainFactory

com.aquima.interactions.portal.model.factory.LinkedFactoryManager

  • method com.aquima.interactions.metamodel.IDomainFactory getDomainFactory()

com.aquima.interactions.portal.model.session.PortalSession

  • constructor PortalSession(com.aquima.interactions.portal.model.session.PortalSession)
  • constructor PortalSession(com.aquima.interactions.portal.model.ISolution, com.aquima.interactions.portal.model.IModule, com.aquima.interactions.metamodel.Channel, java.lang.String[], com.aquima.interactions.foundation.timetracker.ITimeTracker)
  • constructor PortalSession(com.aquima.interactions.portal.model.ISolution, com.aquima.interactions.portal.model.IModule, com.aquima.interactions.foundation.timetracker.ITimeTracker, com.aquima.interactions.portal.model.ISessionState)

class com.aquima.interactions.portal.PortalFactory

com.aquima.interactions.process.impl.ProcessCase, com.aquima.interactions.process.IProcessCase, com.aquima.interactions.process.wrapper.ProcessCaseDelegate. com.aquima.interactions.process.wrapper.ReadonlyProcessCase

  • method com.aquima.interactions.profile.IProfile getCaseData()

com.aquima.interactions.process.impl.ProcessCaseRepository

  • method com.aquima.interactions.process.dao.ICaseModel lockCase(long, java.lang.String)

com.aquima.interactions.process.impl.ProcessEngineManager

  • constructor ProcessEngineManager(com.aquima.interactions.process.ds.IProcessManagerDS, com.aquima.interactions.process.ProcessSettings, com.aquima.interactions.foundation.ILicenseProvider, com.aquima.interactions.process.scheduler.IScheduler)
  • constructor ProcessEngineManager(com.aquima.interactions.process.ds.IProcessManagerDS, com.aquima.interactions.process.IProcessEngineSettings, com.aquima.interactions.foundation.ILicenseProvider)
  • method setDomainFactory(com.aquima.interactions.metamodel.IDomainFactory)

com.aquima.interactions.process.IProcessEngineFactory, com.aquima.interactions.process.ProcessEngineFactory

  • method com.aquima.interactions.process.IProcessEngine create(com.aquima.interactions.process.IProcessExtensionFactory, com.aquima.interactions.process.ds.IProcessEngineDS, com.aquima.interactions.rule.IRuleEngine, com.aquima.interactions.metamodel.IMetaModel, com.aquima.interactions.project.IProject, com.aquima.interactions.process.dao.IProcessCaseDao, com.aquima.interactions.process.IProcessEngineSettings, com.aquima.interactions.foundation.ILicenseProvider, com.aquima.interactions.trace.ITraceEngine)
  • method com.aquima.interactions.process.IProcessEngine create(com.aquima.interactions.process.IProcessExtensionFactory, com.aquima.interactions.process.ds.IProcessEngineDS, com.aquima.interactions.rule.IRuleEngine, com.aquima.interactions.metamodel.IMetaModel, com.aquima.interactions.project.IProject, com.aquima.interactions.process.dao.IProcessCaseDao, com.aquima.interactions.process.ProcessSettings, com.aquima.interactions.foundation.ILicenseProvider, com.aquima.interactions.trace.ITraceEngine, com.aquima.interactions.process.scheduler.IScheduler)

com.aquima.interactions.process.IProcessEngineManager

  • method void setDomainFactory(com.aquima.interactions.metamodel.IDomainFactory)

com.aquima.interactions.process.TaskStatusType

  • field com.aquima.interactions.process.TaskStatusType COMPLETE

com.aquima.interactions.project.impl.XssSafeValueFormatter

  • method java.lang.String escapeCharacters(java.lang.String)

com.aquima.interactions.test.templates.composer.ElementReference

  • method void setVisibleCondition(java.lang.String)

com.aquima.interactions.test.templates.flow.FlowTemplate

  • method com.aquima.interactions.test.templates.flow.FunctionFlowDefinitionTemplate getFunctionFlow()

com.aquima.interactions.test.templates.model.MetaModelTemplate

  • constructor MetaModelTemplate(com.aquima.interactions.foundation.report.IInitializationReport, com.aquima.interactions.test.templates.resource.DomainValuesFactoryTemplate, com.aquima.interactions.test.templates.resource.DomainFactoryTemplate, java.lang.String)
  • method com.aquima.interactions.test.templates.resource.DomainFactoryTemplate getDomainFactory()

class com.aquima.interactions.test.templates.process.ProcessEngineSettings

class com.aquima.interactions.test.templates.resource.DelegatingDomainValuesFactoryTemplate

class com.aquima.interactions.test.templates.resource.DomainFactoryTemplate

com.aquima.interactions.test.templates.resource.FactoryManagerTemplate

  • method com.aquima.interactions.test.templates.resource.DomainFactoryTemplate getDomainFactory()

Known issues

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

  • No labels