ADx 2.3 (03/08/2020) Release Notes
Overview
This release introduces several key updates, including:
- New export service allowing you to export all repository documents in one job.
- New import service, allowing you to import documents from a folder (instead of pointing to the individual resource) within ADx UI (previously only import via REST was offered).
- New
UPDATE_WORKING_COPY
option in the conversion Result Action menu has been introduced. As the name implies, the current working copy of the document is updated when you convert with this option. This can be used, for example, to watermark a document and then immediately see the changes in WebReader. - LDAP authentication is now supported.
- In the Cache area, the job list UI have been improved. Metadata jobs are now listed under Metadata and are grouped by category: Export, Import, or Delete.
For a detailed list with corresponding documentation links, see New Features and Improvements.
New Features and Improvements
The following features are added in this release:
Issue | Type | Priority | Summary | Documentation link |
---|---|---|---|---|
AD-1345 | Story | Critical | Add page-specific watermark information | See Converting Contents |
AD-1130 | Story | Critical | WebReader: Option to print a document | N/A (print button is now available in WebReader) |
AD-1315 | Story | Major | Service to import from a folder | See Exporting and Importing Repository Contents |
AD-1312 | Story | Major | Services to ensure metadata exports | See Exporting and Importing Repository Contents |
AD-1314 | Story | Minor | Services to delete metadata exports | See Exporting and Importing Repository Contents |
AD-1313 | Story | Major | Service to get repository statistics | New Statistics action has been introduced. This action shows repository's content and cache statistics. These statistics include: number of contents, number of documents, size of representations in the repository, and others. |
AD-1309 | Story | Major | Runtime property to adjust default for metadata export | See New Runtime Properties |
AD-527 | Story | Minor | See Changed Runtime Properties | |
AD-1252 | Story | Major | Create repository ACL documentation | See Setting Access Control on Repositories |
AD-1228 | Task | Minor | New property to set default for Fulltext Indexing | See New Runtime Properties |
AD-1197 | Story | Minor | Remove not needed properties from Fulltext Config Section | The following properties were removed from repository configuration: Cascading Attachment , Cluster Sniff , Max Result Window , Node Name . They are no longer configurable. |
AD-1031 | Story | Major | Add hostname and version info to backup scripts | For more details, see Using Backup and Restore Scripts. |
Installation
You can install this release from the provided package. Please follow the Installation Instructions if you're installing from scratch.
Updating Conversion and ADx
For information on how to update previously installed Conversion and ADx, see the following:
Important! After updating to ADx 2.3, it's required to re-synchronize your existing repositories.
Database Adaptation
Run the following statements in your ADx system database. If you use a separate system database for Conversion nodes, run the statements there, too:
ALTER TABLE tf_id_users ADD UNIQUE (user_name);
ALTER TABLE tf_id_groups ADD UNIQUE (group_name);
ALTER TABLE tf_id_roles ADD UNIQUE (role_name);
These statements must be executed in existing production ADx environments in order to add a constraint to user names, group names, and role names, forcing them to be unique. Without this adaptation, there could be an issue with duplicate users/groups/roles in ADx.
Configuration changes
This release introduces new runtime properties and changes to some of the existing runtime properties:
New Runtime Properties
ADx
Property | Description | Default value |
---|---|---|
ADX_DEFAULT_REPOSITORY_METADATA_EXPORT_ENABLED | When set to true , metadata export is enabled when you create a repository. | false |
ADX_DEFAULT_REPOSITORY_FULLTEXT_ENABLED | Default value for the fulltext indexing activation of a new repository or the Default repository. | true |
ADX_DEFAULT_JOB_REVIVE_BATCH_SIZE | The number of Jobs that should be revived in a single run (previously it was hardcoded 100). | 1000 |
Runtime properties related to LDAP authentication were also added in this release. These properties don't have to be configured unless you want to use LDAP authentication and they are not in the settings file by default. For a full list of LDAP-related properties, see LDAP Runtime Properties.
Conversion
Properties related to font substitution during conversion have been introduced in this release.
Property | Description | Default value |
---|---|---|
CONV_ASPOSE_FONT_FOLDERS | List of paths to folders containing font files, as in CONV_ASPOSE_FONT_FOLDERS: "mnt/c/path/to/folder1, mnt/c/path/to/folder2" . | null (property not written) |
CONV_ASPOSE_ALLOW_FONT_SUBSTITUTIONS | This property controls what to do if the font of a converted document is not available. false results in a conversion error, true results in the font being replaced. | null (property not written) |
Changed Runtime Properties
ADx
It is important that each repository uses its own content and cache paths. To reduce the configuration effort, runtime properties ADX_DEFAULT_STORAGE_CONTENT_PATH
and ADX_DEFAULT_STORAGE_CACHE_PATH
now support the variable repositoryName
. The string '{repositoryName}' is replaced with the technical name of the respective repository. This way, each repository gets its own path automatically, and there is no need to manually adapt the path when creating a new repository.
Properties related to communication between ADx and remote Conversion have had their names changed as explained below.
Property | Description | Default value |
---|---|---|
ADX_DEFAULT_STORAGE_CONTENT_PATH | Example: ADX_DEFAULT_STORAGE_CACHE_PATH: "${TRIBEFIRE_INSTALLATION_ROOT_DIR}/../repository-resources/{repositoryName}/content" | tmp/adx-storage/demo |
ADX_DEFAULT_STORAGE_CACHE_PATH | Example: ADX_DEFAULT_STORAGE_CACHE_PATH: "${TRIBEFIRE_INSTALLATION_ROOT_DIR}/../repository-resources/{repositoryName}/cache " | tmp/adx-storage/demo |
ADX_DEFAULT_REMOTE_CONVERSION_ENABLED | Name changed from DOCUMENTS_REMOTE_CONVERSION | true |
ADX_DEFAULT_REMOTE_CONVERSION_TFS_URL | Name changed from DOCUMENTS_CONVERSION_TFS_URL | |
ADX_DEFAULT_REMOTE_CONVERSION_USERNAME | Name changed from DOCUMENTS_CONVERSION_USERNAME | cortex |
ADX_DEFAULT_REMOTE_CONVERSION_PASSWORD | Name changed from DOCUMENTS_CONVERSION_PASSWORD |
Removed Runtime Properties
None.
Known Issues
A list of problems we're still working on.
Known Issues ADx
Ticket | SEVERITY | Description |
---|---|---|
https://jira.braintribe.com/browse/AD-321 | CRITICAL | Add missing indices |
https://jira.braintribe.com/browse/AD-348 | MAJOR | ADx Admin: Repository Modification-Status not updated on Update |
https://jira.braintribe.com/browse/AD-342 | MINOR | Hibernate warnings in the log files |
https://jira.braintribe.com/browse/AD-341 | MINOR | Java warnings during for Java 9 and later |
https://jira.braintribe.com/browse/AD-311 | MINOR | Oracle - DbLockManager prints Oracle constraint message |
Reimporting an Existing Repository Requires UI Reload
In some cases, when reimporting an existing repository, repository properties are not rendered correctly. To make sure properties are rendered correctly, refresh your browser after each import.
Cannot migrate legacy contents simultaneously
Due to cache database being shared between repositories, it's not possible for now to run multiple migration jobs from a single legacy repository at the same time. You need to wait for the previous migration to finish before running a new one.
Known Issues Conversion
Ticket | SEVERITY | Description |
---|---|---|
https://jira.braintribe.com/browse/AD-338 | CRITICAL | Introduce roles for conversion |
https://jira.braintribe.com/browse/AD-337 | MAJOR | Make TF Conversion workbench consistent to ADx |
https://jira.braintribe.com/browse/AD-501 | MAJOR | tf-conversion user has the admin role assigned |
https://jira.braintribe.com/browse/EXTDOCS-71 | MINOR | Fix wrong encoding on opening resource in Browser |
Minor Warnings
StatusLogger Error
The following error currently appears in ADx console output. It doesn't affect ADx functionality or performance.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
Tomcat Shutdown Warning
The following warning is sometimes thrown by Tomcat when stopping the service:
./tribefire-console-stop.sh
...
Tomcat did not stop in time.
PID file was not removed.
To aid diagnostics a thread dump has been written to standard out.
Tribefire Host stopped.
This happens when shutdown takes longer than Tomcat expects. Shutdown may take several minutes, which will result in this message being printed out. This warning could appear on both Conversion and ADx.
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.