Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes substantial changes to the package structure and updated bpmn task attributes.
Package structure changes:
mixins
BpmnSpecMixin
has been removed in the task-specific classesSpiffWorkflow.bpmn.specs.defaults
SpiffWorkflow.bpmn.specs.control
Removing the
BpmnSpecMixin
inheritance makes it easier to extend bpmn task behavior without re-implementing task specific behavior.BPMN Task attribute changes:
bpmn_id
andbpmn_name
attributes are set when they are present in the diagramis_engine_step
method has been removed in favor of the core task spec attributemanual
spec_type
method has been removed and the spec description it used to return is now in thedescription
attribute, and configurable via the parser.id
attribute has been removed from all task specsThe
name
attribute is still used internally by Spiff as a unique identifier for a task spec;id
was redundant and confusing, so I've removed it (this enforces the distinction between tasks and task specs too --specs have names, tasks have ids). If a spec has a visible diagram element, it will havebpmn_id
set; otherwise it will beNone
.It makes a lot more sense to set the display name of the spec type at parse time (do you really want to create a subclass just to change this?); these are now determined by the XML element type and configurable in the parser.
The attribute changes should be updated automatically if a workflow with the older format, but to apply changes en masse, the
convert_simple_tasks
andupdate_bpmn_attributes
functions inSpiffWorkflow.bpmn.serializer.migration.version_1_2.py
can be used.