tribefire 2.0 - 27/03/2019
On this page
Announcements
Note that for this release cartridges must be re-built against the release repository. This will be fixed in the future versions of tribefire (with introduction of modules).
Jinni
- 
New commands (requests): - get-asset-dependencies
- history
- alias
- update-jinni
- create-artifact
- create-artifact-template
- create-asset-aggregator-asset
- create-cartridge
- create-command-artifact
- create-common-artifact
- create-container-projection-asset
- create-custom-cartridge-asset
- create-gm-api-artifact
- create-group
- create-integration-test-artifact
- create-library-artifact
- create-manipulation-priming-asset
- create-markdown-documentation-asset
- create-markdown-documentation-config-asset
- create-model-priming-asset
- create-parent-artifact
- create-plugin-priming-asset
- create-project
- create-resource-priming-asset
- create-runtime-properties-asset
- create-script-priming-asset
- create-tribefire-runtime-manifest
- create-unit-test-artifact
 
- 
Charset encoding: the charset of the protocol output can be controlled with the jinni option protocolOutputin case your console is mapped to a codepage.
- 
Marshalling: the jinni option responseMimeTyperesponse allows to select the marshaller that is used to output the response which a request has returned. Currently the following marshallers are supported:- text/yaml
- application/x-yaml
- text/xml
- gm/bin
- gm/jse
- gm/man
 
GmCore
- Reduced the default DB connection pool size of 20 fixed connections to a minimum of 1 and a maximum of 3 connections.
- Introcuded type Neutral(service-api-model) which can be returned by your respective eval and process methods.
- Introduced UniversalMetaData and its respective Annotations:
- PositionalArguments
- Alias
 
Security
- introduced access-control-modelto manage and apply role based permissions for operations on instance level
- access control support in SecurityAspect
For more information, see Access Control and Using Access Control.
HTTP Transport
- Improved strategy of stale connection detection/handling in StaleAwareHttpRequestRetryHandler
Platform Assets
PluginPriming aka. Initializer
- WireSupportedInitializer.initializerId()is deprecated and will be removed in the nearer future. Please ensure that the initializer contains a respective- WireModuleas the name of the- WireModulereplaces the functionality of the- initializerId(e.g. globalId generation).
- New feature AbstractInitializerSpace.importEntities(T)which enables to import entities into the initializer’s session. This is required in case entities cannot be created on the session directly (e.g. Templates, TC-Builder, EntityQueryBuilder, SelectQueryBuilder) Example:
TC.create().typeCondition(TypeConditions.isAssignableTo(Company.T)).done()
Proper globalId management is ensured.
- globalId pattern: wire://WireModuleSimpleName||initializerId/WireSpace/managedInstance(whereas initializerId will be replaced by WireModuleSimpleName completely in the nearer future).
- Workbench: New artifact tribefire.cortex.assets:tribefire-default-workbench-initializerprovides default workbench configuration as known from the control-center actions “Setup Workbench” and “Configure Workbench”.
- Workbench: In case you want to apply the grayish-blue-style, depend on new artifact tribefire.cortex.assets:tribefire-grayish-blue-style-initializer.
- Introduced annotation @InstanceLookup. This annotation marks a Wire contract indicating that it contains managed instances to be looked up instead of being created. An example can be found inDemoWorkbenchInitializerResourceContract.
- New artifact com.braintribe.gm:persistence-initializer-provided-default-deps. Depend on this and remove all other dependencies which are being provided by this artifact from your initializer’s dependencies.
Templates
- New artifact com.braintribe.gm:template-building. An example can be found inDemoWorkbenchInitializerSpace.getEmployeesByGenderAsNotificationsTemplate()
- Artifact com.braintribe.gm:persistence-initializer-supportprovides a new Wire contract (CoreInstancesContract) for well-known core instances. They can be used by depending onCoreInstancesWireModulein the respective initializer. Everbody can contribute to this contract and extend it with required core instances:com.braintribe.gm.persistence.initializer.support.integrity.wire.contract.CoreInstancesContract. Example can be found inDemoCartridgeInitializer.initializeModels(...).
Demo Setup
- 
The workbench comes as initializer now. See tribefire.extension.demo:tribefire-demo-workbench-initializerwhich shows how to use templates, import of entities, depending on tribefire-grayish-blue-style-initializer and the new initializer structure at all.
- 
tribefire.extension.demo:tribefire-demo-cartridge-initializerfollows the latest initializer architecture.
DDSA
Unstructured Data Support
- CallGmSession/CallResource deprecation
- Introduction of TransientSource and its handling in RPC
DDRA/REST
- Introduced new endpoint parameters:
- responseContentType: override of response Content-Type header
- responseFileName: influencing response Content-Disposition;filename header to influence file-name defaulting for downloads and browser plugins
- saveLocally: forces browser to download files instead of interpreting them