ADx 2.2 (01/04/2020) Release Notes
Overview
This release introduces several key updates, including the following features:
- Possibility to export and import repository configuration via REST
- Importing repository contents via REST
- Possibility to define conversion restrictions on both Conversion- and repository level
- Rendering contents from Velocity templates via REST
- Multiple convenience features (executing actions on multiple repositories simultaneously, uploading multiple contents to a folder).
For a detailed list with corresponding documentation links, see New Features and Improvements.
Installation
You can install this release from the provided package. Follow 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:
Hardware Requirements for JVMs
We recommend to set up your Java Virtual Machines in accordance with the following requirements:
Memory Minimal Requirements
- JVM heap memory - at least 4 GB
- JVM non-heap memory - at least 4 GB
- Initial heap memory equal to maximum heap memory. You can set the initial and maximum heap size in the installation settings (4 GB each is the default setting).
CPU Minimal Requirements
- Minimum 2 CPUs
- Maximum depends on your load.
Memory and CPU Scaling
In principle, we recommed to double the memory in GB compared to the number of CPUs, keeping the minimal values in mind. Heap memory size should be equal to non-heap memory size.
Vertical Scaling
Memory (GB) = 2 * number of CPUs or 8 GB (minimum requirements) - whichever is greater.
- 2 CPUs (minimum) = 8 GB of memory (4 GB heap, 4 GB non-heap as per minimal requirements)
- 4 CPUs = 8 GB of memory (4 GB heap, 4 GB non-heap)
- 8 CPUs = 16 GB of memory (8 GB heap, 8 GB non-heap)
- 16 CPUs = 32 GB of memory (16 GB heap, 16 GB non-heap)
Horizontal Scaling
Increase the number of Conversion nodes based on your expected/observed load increase.
Refer to the below table showing resource consumption levels per job type. If you know the distribution of job types in your organization, it should help you estimate the load.
Job type Expected resource consumption Convert to image Heavy Prepare for WebReader Heavy Convert to PDF Average Merge documents Average Merge templates Average Apply watermark Light Apply template Light Extract text Light without OCR, otherwise heavy
New Features and Improvements
The following features are added in this release:
Issue | Type | Priority | Summary |
---|---|---|---|
AD-921 | Story | Critical | Create Multi-Actions for Repository operations - see Simultaneous Actions on Repositories |
AD-909 | Story | Critical | Global Search Support - see Global Search |
AD-875 | Story | Critical | Improve stability on conversion - see Configuration Changes. |
AD-861 | Story | Critical | Create a check for the license |
AD-533 | Story | Critical | ServiceRequest to upload multiple contents to a folder - see Creating Contents with REST |
AD-376 | Story | Critical | ADx Admin: Configuration Export/Import Functionality - see Exporting and Importing Repository Configuration |
AD-954 | Story | Critical | Import Possibility based on Entry Export Metadata files - see Importing Contents into Repository |
AD-981 | Bug | Critical | Backup/Restore: rename installation folder - see Using Backup and Restore Scripts |
AD-981 | Bug | Critical | Backup/Restore: fix missing execute permissions |
AD-970 | Story | Major | Enable OpenApi Support for ADx - see Open API Suppoet |
AD-960 | Documentation | Major | Missing runtime properties for GCP/S3 - see ADx Cloud Storage Runtime Properties |
AD-831 | Documentation | Major | Define Memory and CPU settings - see Hardware Requirements |
AD-411 | Story | Minor | Deletion of multiple Contents and Folders |
AD-410 | Story | Minor | Provide a target folder when issuing a conversion request - see Sending Conversion Requests with New Content Specification |
Simultaneous Actions on Repositories
You can now select multiple repositories and perform actions (such as synchronization) simultaneously, saving time in the process:
Global Search
Instead of searching individual repositories, you can use Global Repository Search.
Log in to ADx.
Click Explore under Global Repository Search.
Use one of the provided queries (Owned by Me, Recent, Search - see Basic Search) or switch to Advanced Search. Owned by Me and Recent queries will return results from all repositories by default. Search allows you to customize the query.
When using Search, you're prompted for the standard search information, which is extended with a list of repositories. Use this list to select the repositories to be searched, then run the query.
Search results are grouped by repository:
Open API Support
When you open an API page, you will now be redirected to Open API page by default, instead of Swagger 2.0:
Open any API page from the landing page:
You are redirected to an API description page following the Open API 3.0 standard. You have the option to switch to Swagger 2.0:
If you experience any trouble using the Open API page, please switch to Swagger 2.0. Open API is still treated as an experimental feature.
Configuration changes
This release introduces new runtime properties for Conversion, allowing you to set restrictions on conversion input files.
New Runtime Properties
This release introduces Conversion file limits. These limits concern the input resource size as well as the number of available objects per resource. These limits are configurable, both on Conversion side (using the runtime properties below) as well as on repository side in ADx. For instructions on how to set limits in ADx UI, see Setting Conversion Restrictions.
Property | Description | Default value |
---|---|---|
CONV_MAX_INPUT_FILE_SIZE | Maximum size of an individual input file (in bytes) of a job. | 524288000 = 500MB |
CONV_MAX_TOTAL_INPUT_FILE_SIZE | Maximum total file size of all input files (in bytes) of a job. | 2147483648 = 2GB |
CONV_MAX_NUMBER_OF_INPUT_FILES | Maximum number of input files for a job. | 100 |
CONV_PDF_TO_IMAGE_MAX_NUMBER_OF_OBJECTS_PER_PAGE | Maximum number of objects per page in a PDF-to-image operation. | 1000000 |
CONV_PDF_TO_IMAGE_MAX_NUMBER_OF_OBJECTS | Maximum number of objects in a PDF-to-image operation, counted from all pages. | 10000000 |
CONV_PDF_TO_IMAGE_MAX_NUMBER_OF_PAGES | Maximum number of pages in a PDF-to-image operation. | 10000 |
Changed Runtime Properties
None.
Removed Runtime Properties
The following properties are no longer in use as of ADx 2.0:
Property | Reason for removal |
---|---|
TRANSFORMATION_SERVICE_PROCESS_AGE | Process cleanup is no longer needed in ADx 2.0 |
TRANSFORMATION_SERVICE_TMP_FILE_AGE | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_SERVICE_CLEANUP_SLOT_DURATION | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_SERVICE_CLEANUP_TMP_SLOT_DURATION | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_CLEANUP_INTERVAL | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_CLEANUP_INTERVAL_UNIT | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_RETENTION | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_RETENTION_UNIT | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_RETENTION_RESOURCES | This is done in fixed intervals in ADx 2.0 |
TRANSFORMATION_ACTION_RETENTION_RESOURCES_UNIT | This is done in fixed intervals in ADx 2.0 |
Known Issues
A list of problems we're aware of and 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-354 | CRITICAL | ADx Admin: Problem when synchronizing Type Definitions form DCTM/CMIS |
https://jira.braintribe.com/browse/AD-1096 | MAJOR | Stopping ADx Tomcat process may take multiple minutes |
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 |
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.