Add release notes for the action provider transition
Change-Id: Icc79a07386de08e396351e78f27ccbde72f93a2e
This commit is contained in:
parent
06a0f33476
commit
068e5cc0e9
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
There has been a big change in the Mistral action management. All Mistral
|
||||
subsystems don't access the database directly if they need to work with
|
||||
action definitions. Instead, they work action providers registered in
|
||||
the new entry point "mistral.action.providers". All action providers need
|
||||
to implement the base class ActionProvider declared in "mistral-lib"
|
||||
starting with the version 2.3.0. Action providers are responsible for
|
||||
delivering so-called action descriptors that carry all the most important
|
||||
information about particular actions like "name", "description", names
|
||||
of input parameters and so on. The entire system has now been refactored
|
||||
with action providers. Using this new mechanism it's now possible to
|
||||
deliver actions into the system dynamically w/o having to reboot Mistral.
|
||||
We just need to come up with an action provider implementation that can
|
||||
do that and register it in the entry point from any Python project
|
||||
installed on the same Python environment.
|
||||
This approach also means that actions don't have to be stored in the
|
||||
database anymore. It fully depends on a particular action provider how
|
||||
to store action descriptors and how to perform lookup. It is possible
|
||||
to create action providers fetching information about actions over
|
||||
HTTP, AMQP and potentially any other protocol.
|
||||
Additionally, switching to action providers allowed to make engine code
|
||||
much cleaner and more encapsulated. For example, ad-hoc actions are no
|
||||
longer a concern of the Mistral engine. Instead of implementing all
|
||||
ad-hoc action logic in the engine there's now a special action provider
|
||||
fully responsible for ad-hoc actions.
|
||||
The detailed documentation on using action providers will be added soon.
|
||||
upgrade:
|
||||
- |
|
||||
As part of the transition to action providers the compatibility of the
|
||||
/actions REST API endpoint has been broken to some extent. For ad-hoc
|
||||
actions it remained almost the same. We still can do all CRUD operations
|
||||
upon them. However, all the standard actions (prefixed with "std.") are
|
||||
not stored in the DB anymore. For that reason this type of actions doesn't
|
||||
have IDs anymore, and generally actions are not identified by IDs anymore,
|
||||
only by name. This change needs to be taken into account when updating
|
||||
to this version of Mistral.
|
Loading…
Reference in New Issue