viewflow.io:在流程中后退一步的推荐模式是什么?

viewflow.io: What is the recommended pattern to go a step back in a flow?

使用 ViewFlow 库(参见 http://viewflow.io/),我正在查看以下用例:

在单步执行流程时,推荐的后退模式是什么?现在我只知道如何向前迈进(这是默认行为)。但是我想要 update/change 上一步收集的输入的用例呢?

如果更新数据不是该过程的一部分,它可以像通常的 django 视图一样实现。这里没有什么特别的要求。

如果它是流程的一部分,它总是在向前发展,所有的流程决策都被记录下来,可以在流网关中使用。在这种情况下,您应该有两个明确的任务,一个用于数据输入,另一个用于数据验证,以及检查验证状态的 IF 网关。

我可以建议您熟悉 BPMN 符号和实践。 Viewflow 直接类似于它们。

如果您想要下一个任务撤消和取消功能,您可以实现自定义视图操作。

# cancel current task
activation = current_task.activate()
if activation.undo.can_proceed():
   activation.undo()
   activation.cancel()

# allow to re-execute previous task
activation = previous_task.activate()
if activation.undo.can_proceed():
   activation.undo()