Skip to main content
Version: 2.8

ADx 2.0 (21/06/2019) Release Notes

With ADx 2.0, we improved the performance, working from top to bottom to make it faster and more responsive. ADx 2.0 kept all the features of previous version with full support for ADx 1.1 API calls.

We introduced the option of having multiple root folders, more asynchronous API calls, better content manipulation, better Administration panel, improved Swagger documentation, and more.

Installation

You can install this release from the provided package. Follow Installation Instructions for more details.

New Features

Multiple Root Folders

The first major difference you will notice is having multiple root folders. In ADx 1.1, only one root folder was allowed, now in ADx 2.0 each folder that does not have a parent is considered to be a root folder.

Repositories

The name of admin repository has also changed, it used to be ad.repository.access and now it is access.adx.admin.

To list repositories, you now have to use Tribefire Service API for Platform Domain Gmql Request (endpoint /gmql) with statement from tribefire.adx.model.deployment.repository.AdxRepository and recommended endpoint.depth set to 1.

As the number of root folders can be greater then one, you will have to do one more query on the target repository to get root folders. Use Tribefire Service API for content access on the target repository (for example standard repository with content access id: access.adx.content.standard) and then run the Search Folders By Condition request (endpoint /access.adx.content.standard/v1/folder/search/by-condition) with condition parent = null.

Content can also be parent-less. To find such content, you have to run the Search Contents By Condition request (endpoint /access.adx.content.standard/v1/content/search/by-condition), also with condition parent = null.

Querying Folders and Content

ADx 2.0 introduces the option to query both folders and content. For example, you can get all child folders and content of the parent folder in a single API call. You can also delete, move, work with tags or search contents and folder all together. To get folders and content without parent id use Search Entries By Condition (endpoint /access.adx.content.standard/v1/entry/search/by-condition), again with condition parent = null.

Versioning

Freshly created content is set to WORKING_COPY version status, but it is not locked! This means that anyone with proper authorization can change or delete content. After checking-in (Checkin By Id: endpoint /access.adx.content.standard/v1/content/checkin) content will change version status to CURRENT and set version to 1.0. No changes can be done until check-out (Checkout By Id: endpoint /access.adx.content.standard/v1/content/checkout), meaning you cannot move, copy, or update the content. Deleting the content is still available, regardless of the version status.

Checkout will change version status WORKING_COPY, but also, unlike creating content, it will set lock for changes of other users. Now you can do any kind of manipulation. You can always cancel the check out (Cancel Checkout By Id: endpoint /access.adx.content.standard/v1/content/cancel-checkout) if needed. By checking-in you will create a new version of content with greater major or minor version number.

See Content Versioning for more information.

Different versions of content are connected with Chronical Id. To query all content with same Chronical Id you have to use Search Entries By Condition (endpoint /access.adx.content.standard/v1/entry/search/by-condition) with statement chronicalId='CONTENT_CHRONICAL_ID'. If you want to get the latest version by some Chronical Id, use the following statement: chronicalId='CONTENT_CHRONICAL_ID' and versionStatus = `enum(tribefire.adx.model.content.VersionStatus,CURRENT)`` (please notice that enum is surrounded by back quotes and not single quotes).

Upcoming Features/Improvements

TicketSEVERITYDescription
https://jira.braintribe.com/browse/AD-355CRITICALADx Admin: Migration Tool for 1.1 Configuration & Data migration
https://jira.braintribe.com/browse/AD-305CRITICALADx Admin: Deep Health Check Integration for Repositories
https://jira.braintribe.com/browse/AD-346CRITICALADx Admin: REST API - Configure/Expose missing endpoints Critical
https://jira.braintribe.com/browse/AD-328CRITICALADx Content: Finalize Content Signature feature
https://jira.braintribe.com/browse/AD-321CRITICALADx Content: Ensure optimized DB-Indices for StandardRepository and CacheAccess
https://jira.braintribe.com/browse/AD-319CRITICALADx General: ADx specific Landing Page
https://jira.braintribe.com/browse/AD-355MAJORADx Admin: Migration Tool for 1.1 Configuration & Data migration
https://jira.braintribe.com/browse/AD-351MAJORADx Admin: Auditing of Repository changes
https://jira.braintribe.com/browse/AD-349MAJORADx Admin: Create Template from Repository
https://jira.braintribe.com/browse/AD-345MAJORADx Admin: User Management (Search support & bi-directional linking)
https://jira.braintribe.com/browse/AD-344MAJORADx Admin: Ensure ADx specific roles/groups on startup
https://jira.braintribe.com/browse/AD-312MAJORADx Admin: Migration of New Deep Health Check to Phoenix
https://jira.braintribe.com/browse/AD-335MAJORADx Admin: Missing Health check for ADx CMIS/DCTM Connections
https://jira.braintribe.com/browse/AD-289MAJORADx Content: S3/GCP Connector integration in ADx
https://jira.braintribe.com/browse/AD-323MAJORADx Explorer: Show Repository Information
https://jira.braintribe.com/browse/AD-325MAJORADx Installation: Check DB connections during installation process
https://jira.braintribe.com/browse/AD-396MAJORADx Admin: Conversion health pages could not be embedded with self-signed certificate
https://jira.braintribe.com/browse/AD-395MAJORADx Admin: Conversion health check did not work with self-signed certificates
https://jira.braintribe.com/browse/AD-353MINORADx Admin: Pending Icon & Labels configuration
https://jira.braintribe.com/browse/AD-352MINORADx Admin: Option to retrieve technical information summary for Repository
https://jira.braintribe.com/browse/AD-329MINORADx Explorer: "Select all" button in ADx Phoenix explorer

Known Issues

Known Issues ADx

TicketSEVERITYDescription
https://jira.braintribe.com/browse/AD-318CRITICALFinalize Architecture Diagram
https://jira.braintribe.com/browse/AD-320CRITICALADx Admin: Add TablePrefix (Support) for Standard Repository
https://jira.braintribe.com/browse/AD-321CRITICALAdd missing indices
https://jira.braintribe.com/browse/AD-354CRITICALADx Admin: Problem when synchronizing Type Definitions form DCTM/CMIS
https://jira.braintribe.com/browse/AD-350CRITICALADx Admin: Repository Activation state sometimes not correct in case of errors
https://jira.braintribe.com/browse/AD-306CRITICALADx Admin: Demo repository Documentum 6.7 is not working
https://jira.braintribe.com/browse/AD-324CRITICALADx Content: DCTM/CMIS Repositories throws error on some queries
https://jira.braintribe.com/browse/AD-297CRITICALADx Content: Repository Audit functionality disabled because of performance issues
https://jira.braintribe.com/browse/AD-348MAJORADx Admin: Repository Modificaiton-Status not updated on Update
https://jira.braintribe.com/browse/AD-347MAJORADx Admin: Repository Deletion not properly working
https://jira.braintribe.com/browse/AD-331MAJORADx Content: After updating content with new file, old one is still presented in ADx explorer and is opened in web-reader
https://jira.braintribe.com/browse/AD-315MAJORADx API: Missing features required for Legacy ADx Endpoints.
https://jira.braintribe.com/browse/AD-330MAJORADx Content: Missing ADx context information for conversion jobs
https://jira.braintribe.com/browse/AD-297MAJORADx Content: Enabled FullText could cause performance issues
https://jira.braintribe.com/browse/AD-342MINOROn-prem package: hibernate warnings in the log files
https://jira.braintribe.com/browse/AD-341MINOROn-prem package: Java warnings during for Java 9 and later
https://jira.braintribe.com/browse/AD-311MINOROracle - DbLockManager prints Oracle constraint message

Known Issues TF Conversion

TicketSEVERITYDescription
https://jira.braintribe.com/browse/AD-337MAJORMake TF Conversion workbnech consistent to ADx
https://jira.braintribe.com/browse/AD-338MAJORFinalize Permissions on accessing TF Converion
https://jira.braintribe.com/browse/AD-318MAJORFinalize Architecture Diagram
 https://jira.braintribe.com/browse/CORETS-427 MINOR Finalize TF Conversion health check
https://jira.braintribe.com/browse/TFSTUD-187MINORAdd diagnostic package for failed resources
 https://jira.braintribe.com/browse/EXTDOCS-71MINORFix wrong encoding on opening resource in Browser
 https://jira.braintribe.com/browse/AD-339MINORGo through roadmap of TF conversion

Minor Warnings

Java Warnings

When using Java 9 or later, the following warning may appear in application logs and also during installation procedure:

WARNING: An illegal reflective access operation has occurred
WARNING : Illegal reflective access by com.braintribe.model.processing.itw.asm.AsmClassLoaderWrapper$1 (file:/path/to/instant-type-weaving-1.0.28.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.braintribe.model.processing.itw.asm.AsmClassLoaderWrapper$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Ticket: https://jira.braintribe.com/browse/AD-341

Hibernate Warnings

The log files may contain Hibernate-related warnings. They can be identified based on the fully qualified class which starts with org.hibernate, as in:

WARNING org.hibernate.tuple.entity.EntityMetamodel 'HHH000084: Entity [com.braintribe.model.user.User] is abstract-class/interface explicitly mapped as non-abstract; be sure to supply entity-names' [TribefireServices-2.0:tribefire-services#initialize,ApplicationLoader:/tribefire-services#initialize]

Ticket: https://jira.braintribe.com/browse/AD-342

These warnings do not affect the functionality of the application and can be ignored. We are working on a fix.