tribefire 2.1 - 25/06/2021
On this page
- Cartridges
- Tribefire Standard Setup
- New Client Assets
- Branched Artifact Groups
- Artifact cleanup
- Asset Deprecation
- Introduction of Reason And Maybe
- Scripted Processors
- Threshold Persistence and Resource Aware Marshalling
- Spreadsheet Exchange
- Message Marshaller Removal
- HTML Marshaller
- Tribefire Modules
- Tribefire Explorer
- Hibernate Access
- Job Scheduling
- Setup Processing
- Home Servlet
Cartridges
In case you are still using cartridges: Cartridges always must be re-built against the release repository.
Tribefire Standard Setup
Many tribefire projects depend on tribefire.cortex.assets.env:tribefire-env-aware-standard-aggregator#2.0
to get standard tribefire components such tribefire-web-platform
or tribefire-explorer
. Artifact tribefire-env-aware-standard-aggregator
has been removed with this release. Its replacement is tribefire.setup.classic.env:env-aware-standard-setup#2.1
. Note that the version will be increased with each release, i.e. tribefire release 2.2 will have env-aware-standard-setup#2.2
.
In the same way tribefire.cortex.assets.env:tribefire-env-aware-web-platform-aggregator#2.0
has been replaced with tribefire.setup.classic.env:env-aware-web-platform-setup#2.1
.
Also, added workbench-aggregator
bundling all system workbench assets. The initial-aggregator
points to workbench-aggregator
now.
New Client Assets
Our client assets have been moved to new groups:
- Explorer:
tribefire.app.explorer
- Modeler:
tribefire.app.modeler
- Web Reader:
tribefire.app.web-reader
Note that there is no asset for the Control Center anymore, i.e. tribefire.cortex.controlcenter
has not been moved. That's because Explorer and Control Center have been merged into a single component. The separate Control Center asset is therefore just not needed anymore.
Branched Artifact Groups
Several artifact groups are now being 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.1
- tribefire.setup.classic.env 2.1
Clients
- tribefire.app.explorer 2.1
- tribefire.app.modeler 2.1
- tribefire.app.web-reader 2.1
Extensions
- tribefire.extension.activemq 2.2
- tribefire.extension.audit 1.0
- tribefire.extension.aws 2.5
- tribefire.extension.conversion 2.5
- tribefire.extension.demo 2.1
- tribefire.extension.documents 2.5
- tribefire.extension.elastic 5.1
- tribefire.extension.email 3.0
- tribefire.extension.etcd 1.1
- tribefire.extension.gcp 2.5
- tribefire.extension.html-marshalling 2.0
- tribefire.extension.jdbcdriver 2.1
- tribefire.extension.js 2.1
- tribefire.extension.kubernetes 2.1
- tribefire.extension.ldap 4.1
- tribefire.extension.shiro 3.1
- tribefire.extension.simple 2.1
- tribefire.extension.spreadsheet 1.0
- tribefire.extension.tracing 1.0
- tribefire.extension.vitals.jdbc 2.1
- tribefire.extension.wopi 2.4
Artifact cleanup
tirbefire.extension.js:js-deployment-model
now only contains aUxModule
, whileJsUxComponent
and related entities were moved totirbefire.extension.js:js-ux-deployment-model
. You might need to update a dependency if you'll encounter an error thatJsUxComponent
cannot be resolved.
Asset Deprecation
Introduced the possibility to deprecate assets. Documentation can be found here.
Introduction of Reason And Maybe
In order to have controlled error handling in opposition to uncontrolled exception throwing the concept of Reasoning was introduced.
- Introduction of reason modelling
com.braintribe.gm:reason-model
com.braintribe.gm:essential-reason-model
- Introduction of
Maybe<T>
as generics class that transports either complete values or a Reason in case of a empty or incomplete values. - Support of reasoning based on
Maybe<T>
in DDSAReasonedServiceProcessor
ReasonedServicePreProcessor
ReasonedServiceAroundProcessor
ReasonedServicePostProcessor
ReasonedAccessRequestProcessor
ReasonedStatefulProcessor
DispatchConfiguration.registerReasoned()
EvalContex.getReasoned()
- Remote Evaluation Support
- Introduction of
Unsatisfied
as a new sub type ofServiceResult
to communicate Reasons an incomplete values to a remote caller - Implementation support in RPC
- webRPC Server/Client/GWT-Client
- mqRPC Server/Client
- dmbRPC Server/Client
- Support reasoning in DDRA (REST API level)
- DDSA Evaluation done with
EvalContext.getReasoned()
HttpStatusCode
: MetaData to map Reason types to HTTP status codesLogReason
: MetaData to configure the logging of Reason typesUnsatisfied
serialization
- Introduction of
- SecurityServiceProcessor Reasoning
com.braintribe.gm:security-reason-model
- returning reasons from
security-reason-model
instead of exceptions - Reason transformation to the legacy SecurityExceptions in case of unreasoned DDSA evaluation
- Mapping of
AuthenticationFailure
reasons to HTTP status code 401 in all service domains
Scripted Processors
Fixed Javascript processing to stay compatible for convenient bean getter/setter access.
Threshold Persistence and Resource Aware Marshalling
In order to support unlimited data amounts and the transport of binary data hold by transient Resource
instances in messaging the following components were introduced
ResourceAwareMarshaller
serializing data assemblies along with transient resource data in multipart format.ThresholdPersistenceMarshaller
measuring a delegate marshaller's output to cross a configured threshold to decide for transient resource persistence and substitute payloading.- A newly wired tribefire platform system access for the transient messaging resources with SQL DB pool configuraiton awareness
GmMessaging
framework using a combination ofThresholdPersistenceMarshaller
andResourceAwareMarshaller
to enable unlimited message sizes and resource payload.
Spreadsheet Exchange
The new ExportModelSpreadsheet
request exports a model as a CSV.
Message Marshaller Removal
The MessageMarshaller
(com.braintribe.transport.messaging.api.MessageMarshaller
) has been removed. Instead of MessageContext.setMessageMarshaller(...)
one can now use MessageContext.setMarshaller(...)
and pass a Bin2Marshaller
.
HTML Marshaller
Moved HTML marshaller to tribefire.extension.html-marshalling
.
Tribefire Modules
Modules can now bind custom MetaDataSelector
experts.
Tribefire Explorer
- Improve Validation of properties values. New static Validation Constellation. Improve visibility of not correctly filled property values at
PropertyPanel
andGIMADialog
; - Improve working with Custom Enum types;
- Menus with shortcuts;
- New Instance action with menu. Dynamic filled menu with actual used context. Menu configuration at Workbench Access;
- Improved support for GmProperty initializers;
- Improved the choice of multiple available actions during DnD;
- Improved support for Max and Min metadata;
- Improved the client loading look & feel (with progressbar);
- Added support for new
Command
for opening thePreview
, and also support forCompoundCommand
(multiple commands at once); - Improved date localization support;
- Improved the notifications view;
- Improving missing German localization entries;
- Preparing the
PropertyPanel
for automatic reevaluation of some metadata configured with the value comparator selector;
Hibernate Access
hibernate-module
created, which currently only binds custom MetaDataSelector experts forHibernateDbVendorSelector
andHibernateDialectSelector
.- Support for
DbUpdateStatement
- a meta-data to configure custom SQL statements that are executed right before/after the schema creation whenHibernateAccess
is being deployed. Specific DB systems can be targeted using the aforementioned selectors.
Job Scheduling
Fixed user identification (password was not respected at all).
Setup Processing
PlatformAssetSolution.revision
now also respects -SNAPSHOT
qualifier.
Home Servlet
The HomeServlet
is now wired with system service request evaluator.