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
Ticket | SEVERITY | Description |
---|---|---|
https://jira.braintribe.com/browse/AD-355 | CRITICAL | ADx Admin: Migration Tool for 1.1 Configuration & Data migration |
https://jira.braintribe.com/browse/AD-305 | CRITICAL | ADx Admin: Deep Health Check Integration for Repositories |
https://jira.braintribe.com/browse/AD-346 | CRITICAL | ADx Admin: REST API - Configure/Expose missing endpoints Critical |
https://jira.braintribe.com/browse/AD-328 | CRITICAL | ADx Content: Finalize Content Signature feature |
https://jira.braintribe.com/browse/AD-321 | CRITICAL | ADx Content: Ensure optimized DB-Indices for StandardRepository and CacheAccess |
https://jira.braintribe.com/browse/AD-319 | CRITICAL | ADx General: ADx specific Landing Page |
https://jira.braintribe.com/browse/AD-355 | MAJOR | ADx Admin: Migration Tool for 1.1 Configuration & Data migration |
https://jira.braintribe.com/browse/AD-351 | MAJOR | ADx Admin: Auditing of Repository changes |
https://jira.braintribe.com/browse/AD-349 | MAJOR | ADx Admin: Create Template from Repository |
https://jira.braintribe.com/browse/AD-345 | MAJOR | ADx Admin: User Management (Search support & bi-directional linking) |
https://jira.braintribe.com/browse/AD-344 | MAJOR | ADx Admin: Ensure ADx specific roles/groups on startup |
https://jira.braintribe.com/browse/AD-312 | MAJOR | ADx Admin: Migration of New Deep Health Check to Phoenix |
https://jira.braintribe.com/browse/AD-335 | MAJOR | ADx Admin: Missing Health check for ADx CMIS/DCTM Connections |
https://jira.braintribe.com/browse/AD-289 | MAJOR | ADx Content: S3/GCP Connector integration in ADx |
https://jira.braintribe.com/browse/AD-323 | MAJOR | ADx Explorer: Show Repository Information |
https://jira.braintribe.com/browse/AD-325 | MAJOR | ADx Installation: Check DB connections during installation process |
https://jira.braintribe.com/browse/AD-396 | MAJOR | ADx Admin: Conversion health pages could not be embedded with self-signed certificate |
https://jira.braintribe.com/browse/AD-395 | MAJOR | ADx Admin: Conversion health check did not work with self-signed certificates |
https://jira.braintribe.com/browse/AD-353 | MINOR | ADx Admin: Pending Icon & Labels configuration |
https://jira.braintribe.com/browse/AD-352 | MINOR | ADx Admin: Option to retrieve technical information summary for Repository |
https://jira.braintribe.com/browse/AD-329 | MINOR | ADx Explorer: "Select all" button in ADx Phoenix explorer |
Known Issues
Known Issues ADx
Ticket | SEVERITY | Description |
---|---|---|
https://jira.braintribe.com/browse/AD-318 | CRITICAL | Finalize Architecture Diagram |
https://jira.braintribe.com/browse/AD-320 | CRITICAL | ADx Admin: Add TablePrefix (Support) for Standard Repository |
https://jira.braintribe.com/browse/AD-321 | CRITICAL | Add missing indices |
https://jira.braintribe.com/browse/AD-354 | CRITICAL | ADx Admin: Problem when synchronizing Type Definitions form DCTM/CMIS |
https://jira.braintribe.com/browse/AD-350 | CRITICAL | ADx Admin: Repository Activation state sometimes not correct in case of errors |
https://jira.braintribe.com/browse/AD-306 | CRITICAL | ADx Admin: Demo repository Documentum 6.7 is not working |
https://jira.braintribe.com/browse/AD-324 | CRITICAL | ADx Content: DCTM/CMIS Repositories throws error on some queries |
https://jira.braintribe.com/browse/AD-297 | CRITICAL | ADx Content: Repository Audit functionality disabled because of performance issues |
https://jira.braintribe.com/browse/AD-348 | MAJOR | ADx Admin: Repository Modificaiton-Status not updated on Update |
https://jira.braintribe.com/browse/AD-347 | MAJOR | ADx Admin: Repository Deletion not properly working |
https://jira.braintribe.com/browse/AD-331 | MAJOR | ADx 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-315 | MAJOR | ADx API: Missing features required for Legacy ADx Endpoints. |
https://jira.braintribe.com/browse/AD-330 | MAJOR | ADx Content: Missing ADx context information for conversion jobs |
https://jira.braintribe.com/browse/AD-297 | MAJOR | ADx Content: Enabled FullText could cause performance issues |
https://jira.braintribe.com/browse/AD-342 | MINOR | On-prem package: hibernate warnings in the log files |
https://jira.braintribe.com/browse/AD-341 | MINOR | On-prem package: Java warnings during for Java 9 and later |
https://jira.braintribe.com/browse/AD-311 | MINOR | Oracle - DbLockManager prints Oracle constraint message |
Known Issues TF Conversion
Ticket | SEVERITY | Description |
---|---|---|
https://jira.braintribe.com/browse/AD-337 | MAJOR | Make TF Conversion workbnech consistent to ADx |
https://jira.braintribe.com/browse/AD-338 | MAJOR | Finalize Permissions on accessing TF Converion |
https://jira.braintribe.com/browse/AD-318 | MAJOR | Finalize Architecture Diagram |
https://jira.braintribe.com/browse/CORETS-427 | MINOR | Finalize TF Conversion health check |
https://jira.braintribe.com/browse/TFSTUD-187 | MINOR | Add diagnostic package for failed resources |
https://jira.braintribe.com/browse/EXTDOCS-71 | MINOR | Fix wrong encoding on opening resource in Browser |
https://jira.braintribe.com/browse/AD-339 | MINOR | Go 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.