Skip to main content

Release Notes 2.3

· 8 min read

What's New

Version 2.3 includes following new features and changes.

New Explorer Backend

A lot of effort was put into separating concerns of GBS (UI) and Explorer (formerly Frontend) to increase maintainability and stability. All Explorer specific features were reevaluated and either removed or moved to a new dedicated backend. The following list contains all features that were removed.

  • Data Lab provided basic data analysis tools that could be applied to nodes once Property Aggregation types were configured accordingly. It was also possible to define and attach an Interop Template to a Data Lab.
  • Entity Configuration was used to define if an entity was used as scope, was a generic entity, could be used in sandboxes or if it should be versioned.
  • Group node logic allowed to define a property name in system configuration that held a boolean value to define a node as group node.
    info

    To remove the now obsolete xpl_isGroupNode property from nodes, the graph has to be reprocessed.

  • Integration enabled the definition of scripts that could be executed in Explorer.
  • Label and Property Filter allowed to define and save filters based on specific properties or labels. While filtering is still possible in Explorer, the ability to store filters was removed.
  • Node Settings allowed to configure colors and icons of nodes on a global scale. This feature was removed, but each user is still able to define colors and icons in their personalization settings.
  • Property Configuration allowed to define if a property could be changed in a sandbox or not.
  • Property Groups were used to define grouping amongst properties over different entities. All properties are now displayed in a "General" group.
  • Scope allowed to define global filters based on node data. While this feature was removed, it is still possible to define custom scopes in Explorer.
  • Theme allowed to change the active Explorer theme.
  • Trafomatrix logic allowed to define a property name in system configuration that held transformation matrices. These were used when providing a geometry to Instant 3DHub.
  • Versioning allowed to define entities that should be versioned whenever they were processed.
    caution

    Removing versioning changed the way how uniqueness of nodes is guaranteed. This requires a reprocessing of the graph to ensure data uniqueness and also benefit from indexes.

The following features were moved to the dedicated backend

  • EBS endpoints that were specifically developed for Explorer
  • Personalization
  • Sandbox
  • Session

User restriction was removed from Sandbox and Session. This means that all created sandboxes and sessions can be used by any user.

caution

Data of stored personalization configurations, sandboxes and sessions are not migrated to the new data structure and have to be recreated.

Views and Functions

Viewpoints were renamed to Views and now also support parameters. Parameters are a powerful feature that enhances query efficiency, security, and readability. They are used to pass values to queries at runtime, allowing for more dynamic and reusable queries.

Functions are analogous to Views, with key distinctions in query execution capabilities and how the Graph Security Layer is applied. Contrary to views, a function query can return any result. A user needs to have granted permissions specified as a Graph Access Rule to be able to execute a defined Cypher Query.

info

Functions replace EBS' /api/graph/query/cypher endpoint in the future. It is highly recommended to switch to functions as soon as possible.

Neo4j AuraDB Support

This version adds support for Neo4j AuraDB, Neo4j's fully managed cloud database service. In order to use an AuraDB instance either AWS S3 or Azure Blob Storage has to be configured. Check the System Configuration keys starting with graph-processing for more information. While enabling AuraDB support, the underlying processing code was also improved resulting in a better performance on big datasets.

New Way of Defining Data Pump Overrides

A new way of defining data pump overrides was introduced to make them more resilient and clear. Before, there was only one form to define overrides, whereby adding a specific separator would indicate multiple overrides.

The new approach separates each override into its own configuration which allows for a clear overview of how many overrides are defined and which values are used. Assigning a name to each override makes managing them even easier.

info

Existing overrides are automatically migrated to reflect the new structure.

Expression Improvements

Expression logic was refactored to improve stability, maintainability and performance. For more clarity, when using properties in expressions, a markup-like syntax was introduced. While a property was simply referenced by its name (e.g. name) earlier, it now has to be wrapped with backticks (e.g. `name`).

info

Existing expressions are automatically migrated to reflect the new syntax.

Improvements

  • [EBS] Update to .NET 8
  • [Explorer] Use same format for all dates
  • [Explorer] Performance improvements
  • [Explorer] Change default right side panel from Artifacts to Properties
  • [GBS] Support for predefined [Empty] expression was removed
  • [GBS] Performance of "edit relationship" was improved
  • [GBS] Streamline pagination behavior in GBS UI
  • [GBS] Obsolete task history logic was removed
  • [GBS] Rewrite rename logic
  • [GBS] Rewrite Keycloak realm creation logic
  • [GBS] Add validation when renaming unsaved properties that are used in expressions
  • [GBS] Add endpoint to reinforce Content db schema to be up-to-date with target entity definition
  • [GBS] Update to .NET 8
  • [GBS] Set staging and graph relationships fields to read-only
  • [GBS] Add information about "Distinct" to Queue Job context
  • [GBS] Consolidate log search endpoints and UI
  • [GBS] Add information about "Process Type" to Queue Job context for load plan jobs
  • [GBS] Remove action buttons in data importer for business key expression

Bug Fixes

  • [EBS] "Graph Overview" does not match modelling in GBS
  • [EBS] Space character in filename leads to crash when downloading file
  • [Explorer] When providing nodes, the new session will always use the default session name
  • [Explorer] Searching and filtering in dashboard is not working correctly when not on first page
  • [Explorer] Frontend is very slow and crashes with multiple tabs
  • [GBS] Relationship count between staging layer and graph is different
  • [GBS] Fixed an occasion where renaming entities was not possible because of Load Plans
  • [GBS] Create workspace: switching between users and groups does not display data correctly
  • [GBS] Keycloak groups are not displayed when editing a workspace
  • [GBS] Entity configuration is not set correctly when added to processing after load type was selected
  • [GBS] Many entities in a load plan lead to overflow of window
  • [GBS] When adding multiple properties to an entity they can exceed maximum character limit
  • [GBS] Fixed several problems for business key and business key builder
  • [GBS] Renaming a property that is used to build millions of relationships leads to error message
  • [GBS] Do not allow empty property value conditions in access rules
  • [GBS] Delete self relation joining causes problems
  • [GBS] Renaming configuration of an entity leads to deselection of the configuration in load plan
  • [GBS] Fixed several problems when creating an entity from a container
  • [GBS] Clients are not stored via external rules endpoint

API Changes

Following API related changes are part of this release.

Start of Transition to GBS API v2

Version 2.3 marks the start of a transition towards a RESTful API in GBS. Views and functions are the first features implemented in GBS API v2. Due to the size of the API the transition will be done step by step over a longer period of time. While new features will only be available in v2, existing functionality will be replicated or newly implemented in v2 but still kept as is in v1. Once the transition is finished, v1 will be deprecated and kept for at least one more version to give everyone enough time to switch to the new API.

Removed Endpoints

Following endpoints were removed.

  • [EBS] /api/data-buckets/*
  • [EBS] /api/configuration/*
  • [EBS] POST /api/graph/query/nodes
  • [EBS] GET /api/graph/query/tree-view
  • [EBS] GET /api/graph/navigation/scopes
  • [EBS] POST /api/graph/query/related-nodes/successors-same-label
  • [EBS] POST /api/graph/query/related-nodes/successors-same-label-count
  • [EBS] POST /api/graph/query/related-nodes/per-label moved to Explorer Backend
  • [EBS] GET /api/graph/query/related-nodes/primary-same-label
  • [EBS] /api/graph/query/viewpoints/* renamed to /api/graph/query/views/*
  • [EBS] /api/instant-3d-hub/* moved to Explorer Backend
  • [EBS] /api/integrations/*
  • [EBS] /api/interop-templates/*
  • [EBS] /api/label-filters/*
  • [EBS] GET /api/license/licensed-modules
  • [EBS] /api/personalization/* moved to Explorer Backend
  • [EBS] /api/property-filters/*
  • [EBS] /api/sandboxes/* moved to Explorer Backend
  • [EBS] /api/sessions/* moved to Explorer Backend
  • [EBS] /api/themes/*
  • [GBS] GET /api/datainterop/getTemplates
  • [GBS] GET /api/entity-configuration/getEntityConfigurations
  • [GBS] POST /api/graphprocessing/clearVersioningForEntity
  • [GBS] GET /api/graphprocessing/getJsonForEntity
  • [GBS] GET /api/logs/getTaskHistory
  • [GBS] /api/node/*
  • [GBS] /api/properties/*
  • [GBS] /api/property-configuration/*
  • [GBS] /api/propertygroup/*
  • [GBS] GET /api/targetEntities/getEntityProperties
  • [GBS] GET /api/targetEntities/getArtifactDefinitionProperties
  • [GBS] /api/theme/*
  • [GBS] /api/viewpoint/* replaced by new view endpoints /api/v2/views/*
  • [GBS] POST /api/workspace/data-buckets

Deprecations

Following endpoints were deprecated and will be removed in the next version.

  • [EBS] POST /api/graph/query/cypher was replaced by functions
  • [EBS] GET /api/graph/query/views/{id} was replaced by POST /api/graph/query/views/{id} to support parameters
  • [GBS] POST /api/importer/deleteDataImporterExpressionMapping