Cloud Software Group, Inc. EBX®
TIBCO EBX® Documentation

6.1.3

6.1 service packs

6.1.3

6.1.3 has been built on December 4, 2023. Overview of this service pack:

Backward compatibility - Permissions check on nodes used to define associations

Associations 'by foreign key' and associations 'over a link table' are now hidden if at least one of their defining nodes is confidential and hidden.

See Defining confidentiality for more information.

Backward compatibility - Display policy

The Unicode CLDR has changed with JRE versions and impacts locale-sensitive formats such as integer or decimal. By default, EBX® uses the JRE's native format. However, you can configure this option. For more information, see Supported application servers.

Backward compatibility - User authentication

The way EBX® handles user authentication and stores the authorization has changed:

  • The ebx-authentication servlet was added in this release. EBX® automatically redirects users to this servlet when login is required; this should be transparent from a user's perspective. This change might require your attention if you use a custom directory or a custom login page.

  • The authorization information is stored in a cookie. As a consequence, enabling cookies is now required to access EBX®.

See User authentication for more information.

Built-in RESTful services

New business object operations using data-bo and data-compact-bo categories were added to operation categories . Additionally, the new business object categories:

New datasets selection operations for data and data-compact categories are available. See Dataset operations and OpenAPI operations for more information.

Selector pagination was enriched with three new links for first, previous, and last page navigation. See Pagination for more information.

Stop words and synonyms

Stop words and synonyms lists can now be defined in the Search data model extension.

See Synonyms and stop words for more information.

Case sensitivity of uniqueness constraints

It is now possible to specify the case sensitivity used to check the uniqueness of string fields. By default, the case-sensitive option is applied.

See Uniqueness constraint for more information.

Date, DateTime and Time

Indexing for the Date, DateTime, and Time data types has been enhanced to ensure more consistent filtering when there are changes in the server's time zone. Consequently, a delay might be experienced due to the rebuilding of the index when first accessing tables containing these data types.

Staging

  • The role mail, localized label, and description are now staged. The relationships between roles are also now staged.

    Note

    6.1.2 archives with roles can be imported to a 6.1.3 repository without fields or relationships.

  • Non-published views are now supported.

  • The documentation for staging was updated to include information on what add-on components can be staged and where to find those components.

EBX® Container Edition

The installer can now build:

  • an image with the legacy addons and

  • images for several architectures, not only for the current architecture.

See Building the image for more information.

Data validation

A property was added to enable changing the behavior of child dataset validation. See Validation mode of child datasets for more information.

Dependency to dataset fields

It is now possible to define, in a constraint on table, a dependency to a dataset field (field not under a table). In the context of the incremental validation, this means that any updates performed on the dataset field will imply a full revalidation of the constraint. See DependenciesDefinitionContext.addDependencyToModify and DependenciesDefinitionContext.addDependencyToModify for more information.

Java Runtime Environment

JRE 17 and 21 LTS are now supported. Support was removed for JRE 11, except for WebLogic 14c where JRE 11 currently remains supported. Please see the following installation note for more details on WebLogic support.

If mail is configured using the ebx.properties file, the ebx.mail.smtp.ssl.provider and ebx.mail.smtp.ssl.factory properties are now ignored and can be removed.

For more information, see Supported application servers and Activating and configuring SMTP and emails.

Supported databases

PostgreSQL 11 is no longer supported. The minimum supported version of PostgreSQL is now 12. See Supported databases for more information.

Known issues

See 6.1.3 Known issues section.

Closed issues

See 6.1.3 Closed issues section.

6.1.2

6.1.2 has been built on September 8, 2023. Overview of this service pack:

Logs configuration

It is now possible to configure log messages using Apache Log4j™ 2, the ebx.properties main configuration file, or a combination of both mechanisms.

See Log configuration for more information.

Backward compatibility - Linked Fields properties inheritance

Linked fields now inherit most of their properties from their target node. As a consequence of the properties and facets inheritance, adding a facet to a linked field is now obsolete; a warning message is thrown and the facet is ignored. Moreover, validation is always disabled for linked fields since the validation is done on the target node and the linked field only displays the value of its target node.

See Linked fields for more information.

Query now considers programmatic access rules

When setting a session on a Query and executing it, the result now takes into account any programmatic access rules defined in the session. This is in addition to the scripted access rules that were already considered in previous versions.

Kubernetes platform support

EBX® Container Edition is now compatible with Red Hat® OpenShift®. We provides Helm chart samples that are available on GitHub.

See Kubernetes for more information.

Java EE deployment - Deployment

The management of cookies becomes enabled by default.

Closed issues

See 6.1.2 Closed issues section.

6.1.1

6.1.1 has been built on July 10, 2023. Overview of this service pack:

EBX® SQL

The EBX® SQL API now includes a single parameter FK_AS_STRING built-in function. This avoids the problem of providing the wrong arguments to the 3-parameter version. In some cases, it will still be necessary to use the 3-parameter version. See EBX® SQL functions for more information.

REST exception handling

The REST Toolkit exception JSON format has been updated to match the exception JSON format of the Built-in RESTful services (same as in version 5).

Search on associations

Quick search now includes association fields. Additionally, the 'text search' operator is available for associations when performing an advanced search. The search is performed on each field used in the label of the associated records.

To improve performance, exclude fields and associations from the quick search tool using the new property osd:defaultView/hiddenInQuickSearch="true|false".

See Default view for more information.

Complex search filters

Multiple search criteria can now be grouped by logical operator to create complex filters. The groups display in a tree view that utilizes a variety of features to streamline the construction of even the most complex filters. See Create complex filters for more information.

Staging

The following new types of staging elements were added:

  • Global permissions

  • Scheduled tasks

  • Workflow models

The automatic import of staging archives on startup feature was also added. See Staging for more information.

Permission: Access rights configuration

The dataset permission configuration screen has been replaced by a new grid configuration service that allows users to configure and check all dataset permissions in a single screen.

Permission: Access to history and scripted permission rule

It is now possible to configure a list of authorized profiles to access a table's history when a scripted permission rule is set. See Scripted permission rules on records and table history for more information.

Backward compatibility – retrieving a value in an invalid context

The ReadContext.get(SchemaNode) method behaved incorrectly in previous versions if the specified node didn't belong to the same table as the current record. Now, the consistency of the specified node is checked and an IllegalArgumentException is thrown if it does not belong to the same table as the current record.

Business objects

The business objects extension is now available in the DMA even if the TIBCO EBX® Match and Merge Add-on is not registered.

See Business objects, BusinessObjectModel and MainEntity for more information.

Closed issues

See the 6.1.1 Closed issues section.

Java API

The Java API was improved on the following topics:

Note: 6.1.0 has been built on March 22, 2023.

Audit trail

The "Audit Trail" feature has been extended. Now it handles user access to comparison and validation services. The attribute "service-mode" is now logged in the specific case of the "User service" event. See Audit trail for more information

Tile views

You can now create a custom view that displays data using tiles. The tiles are arranged in a grid and can include the following information: title (required), subtitle, image, and description. For the title and description you can: select fields to automatically populate the values, manually specify the text that displays, or use a combination of both methods. Additionally, you can define sort and filter criteria that apply to the view. Toolbars can also be added. See Tile views for more information.

Team Up

Team Up features introduce new ways to collaborate and engage with your data. Business users can leave comments on records, rate records, and assign tags to records. Access to, and visibility of Team Up features is highly customizable. See Collaborative features (Team Up) and Introduction to collaborative features (Team Up) for more information.

Hierarchies

This release contains the following new hierarchy features and updated functionality:

Record metadata

Record metadata is now automatically added to a table's structure. The metadata nodes allow you to retrieve the following information about a record: creator, creation time, last modifier, time of last modification, and Unique identifier (UUID). Since this metadata is now part of the data model, you can:

See Record metadata, SchemaMetadataConstants and SchemaNode.getNodeChildren for more information.

Staging

The new staging feature allows you to move elements in your EBX® repository from one environment to another. For example, you can stage configuration settings from a development environment to a testing environment. See Staging for more information.

Workflows

Several improvements were made to workflows:

Workflow Launcher

The Workflow Launcher built-in service was improved in the following ways:

  • When activating a workflow launcher you can now select and activate multiple tables at the same time.

  • The process to launch or view workflows that require a record selection was simplified. Now users can view and launch workflows from the toolbar that displays on rows in the table view. This prevents them from having to open a record, or use the Actions menu to locate a workflow before launching it. See Workflow launcher in data for additional information.

Workflow model editor improvements

  • A pop-up is now displayed when unvalidated changes of the layout are not saved when creating a new step.

  • Customize the links arrangement, and more generally the steps disposition using new connectors.

  • A pop-up is now display when unvalidated changes of the layout are not saved. The following new automatic placement mode is available: vertical layout.

New built-in script tasks

  • Update a record String value

  • Retrieve a record’s field value ( String )

  • Update a dataspace label

  • Update a workflow label

New API for Workflow Publication and Unpublication

  • Workflow Publisher API: Introduces the WorkflowPublisher class for workflow preparation and publication. Retrieve an instance using WorkflowEngine.getWorkflowPublisher(). Refer to WorkflowPublisher for more information.

  • Workflow Unpublish API: The WorkflowEngine now provides a method to unpublish a workflow process and manage its active instances. For detailed usage, see WorkflowEngine for more information.

Perspectives

A new perspective mode is now available to set as the default when connecting to EBX®. Choose between the following two modes:

See also Perspective modes.

Data modeling

Data modeling includes the following new features:

Entity names

By default, an entity name is now automatically created for tables when no name is explicitly defined in the data model. Entity names allow you to directly reference tables in SQL requests and data service operations using unique names instead of their paths. This is accomplished by defining aliases for SQL requests and suffixes for WSDL operations. This new behavior can impact existing data models.

Note that this new behavior may trigger an error on data model compilation, as indicated in the Backward compatibility section.

Search strategies

The following search strategies are now available to define on String fields: Levenshtein, Soundex, Double Metaphone, and NGram strategy. Previously, these strategies were only available when the EBX® Information Search Add-on was deployed; in case a data model was already using them, not further action is required.

See Advanced strategies for strings for more information.

Data validation

When creating a constraint on table with a record level check, you can now specify a behavior depending on the record's creation status. It is now possible to use an indicator to know if current record is being created. The method isRecordCreation() returns true if the current record is being created. See ValueContextForValidationOnRecord.isRecordCreation for more information.

Request and query optimizations

Several features offer better performance. In particular:

Java API

The Java API was improved on the following topics:

Iterable RequestResult

RequestResult now extends Iterable<Adaptation> so it can be traversed using a simplified syntax.

See RequestResult for more information.

Repository

The new method Repository.getDefaultWhenFullyInitialized() blocks the calling thread until the repository is fully initialized and become able to handle: SOAP, REST Built-in, REST Toolkit requests and UI.

See Repository.getDefaultWhenFullyInitialized for more information.

SchemaLocation

Some methods have been added to SchemaLocation to retrieve the properties of packaged and embedded data models.

See SchemaLocation.isPublication, SchemaLocation.getPublicationName, and SchemaLocation.getPathInModule for more information.

UICustomViewContext

The new Java interface UICustomViewContext allows to get:

  • the recommended view for a given user;

  • the favorite view for a given user;

  • the currently applied view.

See UICustomViewContext for more information.

ValidationReportItemSubject

Two new methods have been added to ValidationReportItemSubject to check the subject type of a validation item.

Data services

The following sections describe new features and improvements to data services:

REST Toolkit APIs

The OpenAPI operations now extend the 'api' category to generation documents for REST Toolkit resources. See OpenAPI for more information.

Built-in RESTful services

The built-in RESTful services were improved in the following areas:

URL encoding

URL encoding has been improved for REST services. It now complies with the following URI specifications: RFC-3986 with percent encoding (section 2.1) .

See backward compatibility for more information.

Record metadata

The select operation has been improved to return record metadata using the new includeMetadata parameter. The system metadata can now be used by the filter and sort parameters with the following metadata fields: creator, creation time, updater and update time. As a consequence the:

  • includeMeta is deprecated and replaced by the includeMetamodel parameter.

  • includeTechnicals parameter is deprecated and replaced by the includeMetadata parameter with the 'system' value.

  • checkNotChangedSinceLastUpdateDate parameter is deprecated and replaced by the checkNotChangedSinceLastUpdateTime parameter for the delete operation.

Update and delete operations now support the Optimistic locking in JSON compact format with the same mechanism as the extended format. See data modeling Record metadata, includeMetadata parameter, includeMetamodel parameter and checkNotChangedSinceLastUpdateTime parameter for more information.

New mass update and delete operations

These operations can combine a XPath predicate expression and/or a published table view that can also contain an XPath expression. The update operation applies one or more changes to each record that matches.

See Insert operation and Delete operation for more information.

Health REST built-in

New health category operation helps monitor the EBX® server.

See Health operations for more information.

Lightweight JSON extended format

The selector URL of the multi-occurs enumeration field is moved under the field instead of each occurrence. This change lightens the JSON content for select operations.

Built-in SOAP operations

The built-in SOAP operations were improved in the following areas:

Record metadata

The select operation was improved to return record metadata using the new includesMetadata parameter. The system metadata can now be used by the predicate parameter with those fields: creator, creation time, updater and update time. As a consequence, the includesTechnicalData is deprecated and replaced by the includesMetadata parameter with the 'system' value.

The update operation was improved to take all data content returned by the select operation even if fields are ignored. For example, it can take association values and record metadata, except ebx-metadata/system/update_time to ensure success of the optimistic locking feature.

See includesMetadata parameter, Update operation and Record metadata for more information.

EBX® main configuration file

The main configuration file has been improved on the following topics:

Configuring SMTP without JNDI

Timeouts for sending an email are now configurable from main configuration file, when ignoring the Java Naming and Directory Interface (JNDI).

See Activating and configuring SMTP and emails for more information.

EBX® Container Edition

The Container Edition was improved on the following topics:

Java SE Development Kit

The JDK has been upgraded to LTS version 17.

See Overview for more information.

Configuring SMTP timeouts

Timeouts for sending an email are now configurable.

See Email connectivity for more information.

Limitations for this release

Hierarchy limitations

On allowed dimension for new dependencies:

Query limitations

The performance of these features is not yet optimized:

The following cases do not rely on Lucene indices. This has two consequences: first, performance is not optimized; second, Quick search behaves like a 'contains', rather than a full-text search:

More specific cases not benefiting from index optimization are described in the following section.

Value-labeling limitations

Search and sort using the value-labeling feature have a few limitations described in section Value-labeling.

Data validation limitations

Linked fields limitations

Version upgrade

In addition to the information provided in this release note, the chapter 6.1 Java API changes provides an exhaustive list of the new Java APIs published since the release of the 6.0 version.

Compilation and build environments

Your compilation and build environments must now use the following new development JAR libraries, instead of ebx.jar:

Note

Java types in ebx.jar are no longer obfuscated.

Note

At runtime, development JAR libraries should not be deployed, continue to only use the ebx.jar library.

Changes on supported environments

The chapter Supported environments has been updated to reflect the necessary upgrades detailed below.

Browser support

Please note that Microsoft Internet Explorer and the non-Chromium version of Microsoft Edge are not supported anymore.

JVM support

Required Java Runtime Environment: either JRE 17 or 21 LTS. Java 8 and 11 are no longer supported.

IBM support

WebSphere Application Server 9 is no longer supported.

WebSphere Application Server Liberty, for Java EE 8 only, is supported.

Oracle support

Oracle 12c is no longer supported. Minimum supported version of Oracle is now 19c.

PostgreSQL support

PostgreSQL 10 and 11 are no longer supported. Minimum supported version of PostgreSQL is now 12.

Microsoft support

SQL Server 2012 SP4 is no longer supported. Minimum supported version of SQL Server is now 2014.

Migrating an existing EBX® 5 environment

To get a running EBX® 6 from an existing EBX® 5 environment, follow the dedicated migration guide.

Upgrading from an existing EBX® 6 environment

The Lucene library version has been bumped from 8.11.0 to 9.4.0, bringing modifications in the index format. As a consequence, the directory holding the indices is going to be automatically deleted during the product upgrade. Thus, a delay at the first access to each table can be expected for index rebuild. Some minor changes in search behavior can also be observed.

Removal of dataset creation options

In the Create a dataset service, the option to create a dataset from an external data model was removed. It is still possible to import a file in the data model assistant.

Backward compatibility

URL encoding

URL encoding has been improved for REST services and GUI. It now complies with the following URI specifications: RFC-3986 with percent encoding (section 2.1) . The percent encoding is used to encode path and query parameters values and keys of URL when they contain dataspace keys or primary keys which may have characters that would require encoding. For example, '&' in a query parameter value of a URL (like in A&B will be encoded as A%26B)

Server configuration should be checked to support slash and backslash characters.

See Installation notes for more information.

Entity names

In this release EBX® now automatically creates an entity name for the tables defined in a data model. The last step of the table's path is used as the default entity name. Since entity names must be unique in a data model, an error is now raised during compilation if the model contains tables with the same name. To prevent an error in this case, you must explicitly set the entity names.

See Entity mappings and SchemaNode.getTableEntityName for more information.

JSON extended format change

Selector URL has been moved for multi occurrence enumeration fields using the select operation. See Lightweight JSON extended format for more information.

REST Toolkit exception handling

The REST Toolkit exception JSON format has been modified and is no longer compatible with the format used on versions 6.0.x.

See the overview of 6.1.1 for more information.

Decimal serialization in the REST Toolkit

The JSON serialization library was upgraded and the new version serializes a java.util.BigDecimal into a JSON string instead of a JSON number. A custom serializer can be used to override this behaviour.

Maximum number of clauses in a query

Due to the upgrade of the Lucene library, the method to compute the maximum number of clauses authorized in a query has changed. Previously, it was possible to have a very high number of clauses. Those queries now throw an exception. The condition is not easily met. If it happens, this is probably due the Levenshtein search strategy. This can be avoided by customizing the strategy to decrease its fuzziness. For instance, by adding an invariant prefix, or reduce the max edit distance.

Rolling log files

From 6.0.6 to 6.0.10 (included), the rolling files names have changed from xxxx.log.yyyy-MM-dd (or xxxx.log.yyyy-MM-dd-i) to xxxx.MM-dd-yyyy.log (or xxxx.MM-dd-yyyy-i.log). By default, the former format (xxxx.log.yyyy-MM-dd or xxxx.log.yyyy-MM-dd-i) is used. The rolling format can be specified in ebx.properties file by setting the property ebx.log4j.appender.ebxFile.rollingFormat. If this property is specified, the filenames will have the following format: xxxxx.rollingFormat.log and will not be append to the end of the filename with the extension. To configure same filename format than since 6.0.6, the value must be %d{MM-dd-yyyy}-%i. The property will accept both a date/time pattern compatible with Java SimpleDateFormat and/or a %i which represents an integer counter. The integer counter is used in conjunction of the backup threshold, and will increment to create new files when the current file size will reach the threshold.

Since 6.0.6, the ebx.log4j.appender.ebxFile.backup.Threshold property defines the maximum size (in megabytes) of backup files for daily rollover and not the maximum number of backup files.

6.1.3 Known issues

User Interface

6.1.3 Closed issues

Container Edition

Core Engine

Data Modeling

Data Services

Data Validation

Data Workflows

Hierarchies

Infrastructure

Staging

User Interface

Users & Permissions

6.1.2 Closed issues

Core Engine

Data Services

Data Workflows

Documentation

Hierarchies

Team Up

User Interface

Users & Permissions

6.1.1 Closed issues

Cloud

Container Edition

Core Engine

Data Modeling

Data Services

Data Services -REST Toolkit

Data Validation

Documentation

Hierarchies

Staging

User Interface

6.1.0 Closed issues

Container Edition

Core engine

Data modeling

Data services

Data validation

Data views - hierarchies

Data workflows

Dataspaces & History

Documentation

Infrastructure

Queries

Team Up

User interface

Users & Permissions