This repository has been archived by the owner on Apr 14, 2023. It is now read-only.
v0.6.0
[0.6.0]
2018-01-03
Introducing roles, messages, and notifications
Added
- Administrators can now create custom roles and assign users to those roles.
Each resource of the server endpoint is protected by a permission, and roles
can be created which combine resource permissions. - Messages and notifications
- Actions can now send messages to users
- Messages can be used to convey information to users or to pause a workflow
and wait for a user to approve its continued execution - When a user receives a message, a notification will appear
- Easy updates
- An update script is provided to update to the most recent version if one is
available. This script includes custom workflow migration scripts and
database migration scripts generated by SqlAlchemy-Alembic. These are a work in progress.- Note: Database migrations only work for default database locations and
using SQLite. This can be changed in thealembic.ini
file
- Note: Database migrations only work for default database locations and
- This script also includes utility functions for backing up the WALKOFF directory, cleaning pycache, setting up WALKOFF after an update, etc.
- An update script is provided to update to the most recent version if one is
- Explicit failure return codes for actions
- Return codes which indicate a failure of the action can be marked with
failure: true
. This will cause an ActionExecutionError event to be sent
- Return codes which indicate a failure of the action can be marked with
- Explicit success default return codes for actions
- The default return code for an action can be specified with
default_return: YourReturnHere
- The default return code for an action can be specified with
- Internal ZeroMQ addresses can be configured through the UI
Changed
- Significant repository restructure
- This repository restructure combined the
core
andserver
packages into
a singlewalkoff
package and moved modules such asappcache
and
devicedb
out of theapps
package - Top-level scripts with the exception of
walkoff.py
are now located in the
scripts
directory - These changes make the Walkoff project follow a more canonical repository
structure, and are one step towards being able to install walkoff using
pip
, our eventual goal.
- This repository restructure combined the
- Classes have been moved out of the
server.context.Context
class. They were
located there to remove circular dependencies, but they have been moved into
their own submodule. - The
interface.__init__
module has been split into multiple modules - The Sphinx Python documentation has been relocated to the
docs
directory
and can be generated usingmake html
. Additionally, they now use the
ReadTheDocs theme. - Google Protocol Buffer message structure has been significantly altered.
- Tags used for action, condition, and transform decorators have been
encapsulated in a WalkoffTag enum setup_walkoff.py
no longer explicitly calls Gulp
Security
- JWT structure changes
- JWTs' identity is now the user ID, not the username
- JWT claims are now the username and a list of role IDs this user
possesses. These claims are populated on login, and require
reauthentication to be updated.