Victoria Series Release Notes

11.0.0

New Features

  • There has been a big change in the Mistral action management. All Mistralsubsystems don’t access the database directly if they need to work withaction definitions. Instead, they work action providers registered inthe new entry point “mistral.action.providers”. All action providers needto implement the base class ActionProvider declared in “mistral-lib”starting with the version 2.3.0. Action providers are responsible fordelivering so-called action descriptors that carry all the most importantinformation about particular actions like “name”, “description”, namesof input parameters and so on. The entire system has now been refactoredwith action providers. Using this new mechanism it’s now possible todeliver actions into the system dynamically w/o having to reboot Mistral.We just need to come up with an action provider implementation that cando that and register it in the entry point from any Python projectinstalled on the same Python environment.This approach also means that actions don’t have to be stored in thedatabase anymore. It fully depends on a particular action provider howto store action descriptors and how to perform lookup. It is possibleto create action providers fetching information about actions overHTTP, AMQP and potentially any other protocol.Additionally, switching to action providers allowed to make engine codemuch cleaner and more encapsulated. For example, ad-hoc actions are nolonger a concern of the Mistral engine. Instead of implementing allad-hoc action logic in the engine there’s now a special action providerfully responsible for ad-hoc actions.The detailed documentation on using action providers will be added soon.

Upgrade Notes

  • As part of the transition to action providers the compatibility of the/actions REST API endpoint has been broken to some extent. For ad-hocactions it remained almost the same. We still can do all CRUD operationsupon them. However, all the standard actions (prefixed with “std.”) arenot stored in the DB anymore. For that reason this type of actions doesn’thave IDs anymore, and generally actions are not identified by IDs anymore,only by name. This change needs to be taken into account when updatingto this version of Mistral.