tribefire 2.2 - 17/11/2021
On this page
- Update Instructions
- Landing Page
- DDSA
- Processing Engine
- Marshallers
- Utils
- Type Reflection
- Queries
- DCSA
- DDSA
- REST
- Core
- Tomcat
- CORS
- Logging
- Hibernate
- JWT
- Tribefire Modules
- Tribefire.js
- Tribefire Explorer
- Optimizations
- Jinni
- Setup Processing
- Misc
- AWS/S3 Module
- GCP Module
- Email Module
- Spreadsheet Module
- Shiro Module
Update Instructions
To update to the new release adjust your repository settings to use the respective release repository https://artifactory.server/artifactory/core-stable-20211117
.
Furthermore, check whether any of the versions of your dependencies have changed and adjust your dependencies accordingly.
For example, most likely your group depends on tribefire.setup.classic.env
, e.g. env-aware-standard-setup
. In that case please switch from version 2.1
to 2.2
. The full list of branched artifact groups can be found below.
Branched Artifact Groups
Several artifact groups are branched with each release, which means the respective major.minor versions change. Please find below the list of groups and the respective versions that belong to this tribefire release.
Standard Setups
- tribefire.setup.classic 2.2
- tribefire.setup.classic.env 2.2
Clients
- tribefire.app.explorer 2.2
- tribefire.app.modeler 2.2
- tribefire.app.web-reader 2.2
Extensions
- tribefire.extension.activemq 2.3
- tribefire.extension.audit 1.1
- tribefire.extension.aws 2.6
- tribefire.extension.conversion 3.0
- tribefire.extension.demo 2.2
- tribefire.extension.document.common#3.0
- tribefire.extension.documents 3.0
- tribefire.extension.elastic 6.0
- tribefire.extension.email 3.1
- tribefire.extension.etcd 1.2
- tribefire.extension.gcp 2.6
- tribefire.extension.html-marshalling 2.1
- tribefire.extension.jdbcdriver 2.2
- tribefire.extension.js 2.1
- tribefire.extension.kubernetes 2.2
- tribefire.extension.ldap 4.2
- tribefire.extension.okta 1.0
- tribefire.extension.shiro 3.3
- tribefire.extension.simple 2.2
- tribefire.extension.spreadsheet 1.1
- tribefire.extension.tracing 1.1
- tribefire.extension.vitals.jdbc 2.2
- tribefire.extension.wopi 2.5
Cartridges
In case you are still using cartridges please don't forget to re-build all cartridges against the release repository (after switching to a new release).
Landing Page
- Landing Page shows releases now, if given. It still defaults to
setupAsset
. - Improved error resilience in HomeServlet
DDSA
- Support for detached
AccessDataRequest
analogue toQueryDetached
when executing a request via session.
Processing Engine
ProcessTraces
are now displayed with format${event} @ ${state} (${fromState}:${toState})
Marshallers
JSON
- The JSON-Marshaller supports type-inference overrides now that allow to instantiate a sub type of a property type without having an explicit type defined on the JSON object.
- JSON date/time formats also allow the ISO format where only "Z" is at the end (JsonStreamMarshaller)
YAML
- Fixed marshalling of maps with complex keys.
- Property placeholder support by using the
value-descriptor-model
. - Introduction of configuration API that allows the unmarshalling of entities with:
- property default values
- root type inference
- property placeholder resolutions (value descriptors)
Utils
- Adding
ConsoleOutputs.joiningCollector()
(hopefully self-explanatory). - Adding
DeprecatedCode
class which logs a warning for a usage of a deprecated method with info about who is calling this method. - Adding
pause/resume
toStopWatch
. - Fixing symbolic links treatment when copying with
FileTools.copy()
. - The ZipTools are now hardened against ZIP bombs
- Added a convenience method to create a secure temporary file by changing the access flags
- XmlTools now allow to use an empty target for xinclude
Type Reflection
- Adding
TypeReflection.findModel()
, i.e. a method which doesn't throw an exception.
Queries
- Hiding confidential properties in
Query.stringify()
. - Fixed
Query.orderBy
methods which were not accumulating multiple orderings.
DCSA
- Fixing
reset-collaborative-stage
. - New JDBC-based shared storage which loads manipulations faster and stores resources in a separate table to avoid blob copying when doing a cleanup.
- Shared storage migration via
UpgradeSharedStorage
andPollSharedStorageState
and possible revert withDowngradeSharedStorage
.
DDSA
- Improving general support for
PushRequests
.
REST
depth
parameter now means what you'd expect, i.e. the underlying cloning uses breadth-first order.
Core
- Added CallerAcceptedLocales aspect to service request attribute context
- Ensuring a model is now quicker by preventing the same model being ensured over and over again
- Added the distinct option to count method in Queries
- Allowing a fixed expiry date when creating a new user session
- Increased max pool size of Master Multicast Consumer
- Made several changes to improve the startup time of TF
- Added convenience services to upload a license via REST
- Added flush() to the BasicTemplateBasedServlet to make sure the response is committed to the client
- Fixed the encoding of the filename in the Content-Disposition header (from URL encoding to RFC 5987 encoding)
- Added a codec for storing custom properties in the user session
- Changed some DEBUG log lines to TRACE log lines to improve readability of the log file
Tomcat
- Added support for environment variables in the Tomcat configuration file with a default value
- Added option to hide the Tomcat version and stacktrace when there is a Tomcat error page displayed
CORS
- Allowing to set the CORS configuration via environment properties
- Automatically adding the public services base URL to not lock out the explorer when a URL is set
Logging
- Added support for the MODULE field, allowing to specify which module produced the log entry
- Added support for the thread name in the log entry
- Added the possibility to add alternative packages to the list of managed packages (by default com.braintribe.* and tribefire.*)
Hibernate
- Removed the DTD preamble from the hbm.xml files to reduce loading time of the XML files later
- Changed the warning in case of a long-running transaction to show only the first lines instead of thousands of lines
- Dyncamically adapting the long-running threshold depending on the size of the manipulation stack
JWT
- Supporting to read a JWT claim into session properties
- Adding original token to token information so that it can be stored in the user session
Tribefire Modules
- Resources are being loaded from an Eclipse project in debug, so not install is necessary in that case.
- Adding option to extend configuration of a model via
HardwiredDeployablesContract
(see#bindOnConfigurationModel()
). - Every Module has now it's own ClassLoader class, thus it's possible to tell which is the relevant module from an error message only stating the ClassLoader type.
Tribefire.js
- Adding
ServiceRequest.andGetReasoned(evaluator)
- Adding
AttributeAccessor
, which allow for configuring aspects on sayEvalContext
without the need for aClass
object. - Many improvements in
TypeScript
.d.ts
generator. - Extending
ServicesSession
with methods to get a session factory for an access or a service domain. - Support for native JS iteration with adding
iterable()
method on javaIterable
interface, which returns an object iterable in plain JS. - Adding
$tf.util.newUuid()
.
Tribefire Explorer
- Improved German localization;
- Prepared a new normalized view for queries/serviceRequest with pagination support;
- Prepared new UI for the reasons exceptions;
- Fixed issues regarding the use of Embedded properties (including group assignment issues);
- Fixed problem when using scripts in query templates;
- Fixed auto commit issues and improved its activation;
- Improved Validation;
- Improvements to the QuickAccess handling of typed keys;
- Improvements to the About page;
- Adding context information for the Notifications view;
- Added multi query ordering support and other improvements to the query editor view;
- Added support for using
DetailWithUiComponent
metadata for configuring external views to be displayed inside the Details view; - Added search (and filter) capabilities to some dropdown menus;
- Improvements to the Preview of documents;
- Added support for configuring and displaying
KeyConfiguration
for actions; - Added support for configuring to open external components in a new modal dialog instead of a new tab within the explorer;
- Addes support for the new
EditAsHtml
metadata, which provides the configuration for using an WYSIWYG editor for string properties; - Fixed password configured metadata in conjunction with the Outline metadata;
- Various bug fixes;
Optimizations
- ITW was tweaked slightly to reduce its memory footprint.
- Smood indices re-implemented to reduce memory footprint.
Jinni
help
output now respects line-breaks.- Adding
CreateHydruxProject
. - Module dependency resolution errors now render the resolution tree with all the errors.
UpdateDevrockAntTasks
now usesdevrock
profile to look for the artifact in the right repository.- When setting up a platform, logging libraries are either auto-excluded or detected and causing the setup to fail.
Setup Processing
- Fixed
setup-info
folder path
Misc
- Telling ITW to use it's own class-loader can be achieved by adding
com.braintribe.gm:itw-gm-own-cl
artifact as a dependency. - Converted a few
BinaryRetrievals
to plainServiceProcessors
. - Fixing collection manipulation normalizing on properties of type
Object
. Model.globalId()
now also considers the value specified inModelDeclaration.xml
DdraConfigurationStateChangeProcessor
is now updating theDdraConfiguration.lastChangeTimestamp
just once per session commit, not once per relevant manipulation, which lead to a huge number of operations being stored inDCSA
.- Updated or removed dependencies on 3rd party libraries after a vulnerabilities review
- accessors-smart-1.2
- ant-1.8.2
- apache-mime4j-dom-0.8.3
- bcprov-jdk15on-1.65
- bsh-2.0b4
- commons-compress-1.19
- commons-compress-1.20
- commons-io-2.4
- commons-io-2.6
- cron-utils-9.0.2
- dom4j-2.1.1
- guava-27.1-jre
- guava-28.2-jre
- hibernate-core-5.4.8.Final
- httpclient-4.5.9
- jackson-databind-2.9.9
- jdom-1.1.3
- jdom2-2.0.6
- json-smart-2.3
- jsoup-1.11.3
- jsoup-1.13.1
- junit-4.10
- okhttp-3.11.0
- pdfbox-2.0.19
- preflight-2.0.19
- shiro-core-1.5.3
- tika-core-1.24.1
- velocity-engine-core-2.1
- velocity-engine-core-2.1
- xercesImpl-2.8.1
- xmpbox-2.0.19
AWS/S3 Module
- The Mime-type of the Resource will be stored with the file object
- Added services to create pre-signed and static URLs for S3 and CloudFront
- Added stream tracking to get statistics of data transferred between the server and S3
- The HealthCheck shows combined statistics over all connections
- Improved reflection on error codes from S3
GCP Module
- Added stream tracking to get statistics of data transferred between the server and S3
- The HealthCheck shows combined statistics over all connections
Email Module
- Refactored services to provide better support for email operations
- Added language to provide complex search terms for email lookups
Spreadsheet Module
- Fixed a bug where a stream was not closed properly
- Entity filter support
- Proper assignment of
ImportReport
andTransientImportReport
depending on request booleantransient
Shiro Module
- Updated the latest version to require a minimum of Java 11 because of new 3rd party dependencies