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
protocolOutput
in case your console is mapped to a codepage. -
Marshalling: the jinni option
responseMimeType
response 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-model
to 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 respectiveWireModule
as the name of theWireModule
replaces the functionality of theinitializerId
(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-initializer
provides 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-support
provides a new Wire contract (CoreInstancesContract
) for well-known core instances. They can be used by depending onCoreInstancesWireModule
in 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-initializer
which 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-initializer
follows 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 headerresponseFileName
: influencing response Content-Disposition;filename header to influence file-name defaulting for downloads and browser pluginssaveLocally
: forces browser to download files instead of interpreting them