Skip to content
logoBack to home screen

tribefire 2.1 - 25/06/2021

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 a UxModule, while JsUxComponent and related entities were moved to tirbefire.extension.js:js-ux-deployment-model. You might need to update a dependency if you'll encounter an error that JsUxComponent 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 DDSA
    • ReasonedServiceProcessor
    • ReasonedServicePreProcessor
    • ReasonedServiceAroundProcessor
    • ReasonedServicePostProcessor
    • ReasonedAccessRequestProcessor
    • ReasonedStatefulProcessor
    • DispatchConfiguration.registerReasoned()
    • EvalContex.getReasoned()
  • Remote Evaluation Support
    • Introduction of Unsatisfied as a new sub type of ServiceResult 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 codes
        • LogReason: MetaData to configure the logging of Reason types
        • Unsatisfied serialization
  • 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 of ThresholdPersistenceMarshaller and ResourceAwareMarshaller 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 and GIMADialog;
  • 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 the Preview, and also support for CompoundCommand (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 for HibernateDbVendorSelector and HibernateDialectSelector.
  • Support for DbUpdateStatement - a meta-data to configure custom SQL statements that are executed right before/after the schema creation when HibernateAccess 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.