-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Added docs for Workflow component #6871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
d0701f0
91867c2
69bca59
f99fbb2
e797f0c
5b2a029
196baf9
763950d
cead2f7
e0089c5
48de43d
805b237
f57ec14
03925ff
e6bdee6
c7464c7
83d26c1
6e7a35f
4415466
866b25a
dceebec
b959f8a
b45edf2
fefdb5f
7f0f5b0
c681283
86ecf0a
d002a8b
b0a8855
4e7cf11
3aa433d
4f277dc
2511c21
c9b1656
2cc2934
47dc11d
3250621
c0bd6da
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,51 @@ | ||
Workflow | ||
-------- | ||
======== | ||
|
||
A workflow is a model of a process in your application. It may be the process | ||
of how a blog post goes from draft, review and publish. Another example is when | ||
a user submitts a series of different forms to complete a task. Such processes are | ||
a user submits a series of different forms to complete a task. Such processes are | ||
best kept away from your models and should be defined in configuration. | ||
|
||
A state machine is a subset of a workflow and its purpose is to hold a state of | ||
your model. Both the workflow and state machine defines what actions (transitions) | ||
are allowed on the model at each state. | ||
A **definition** of a workflow consist of places and actions how to get from one | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence doesn't read nicely. I'm not a native, but I would do either "[...] places and actions to get from one place to another." or "[...] places and actions describing how to get from one place to another." |
||
place to another. The actions are called **transistions**. A workflow does also | ||
need to know each object's position in the workflow. That **marking store** writes | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "That marking score [...]" -> "The marking store [...]" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I do not see where I've written "score". It supposed to be "store" everywhere. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, sorry, typo from my side. I meant "That" should become "The". |
||
to a property of object to remember the current place. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "[...] to a property of the object [...]" |
||
|
||
.. note:: | ||
|
||
The terminology above is commonly used when discussing workflows and | ||
`Petri nets`_ | ||
|
||
The workflow component does also support state machines. A state machine is a subset | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "The Workflow component [...]" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I was looking an old subset of theses docs sorry :( There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It says it does support state machines and it has an article about it, isn't it? |
||
of a workflow and its purpose is to hold a state of your model. Read more about the | ||
differences and specific features of state machine in :doc:`/workflow/state-machines` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. missing final stop of this sentence. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Im only missing a period, right? ":doc: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes. Full stop, period, it's all the same :) |
||
|
||
Examples | ||
-------- | ||
|
||
The simples workflow looks like this. It contains two places and one transition. | ||
|
||
.. image:: /_images/components/workflow/simple.png | ||
|
||
Workflows could be more complicated when they describes a real business case. The | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. describe |
||
workflow below descirbes the process to fill in a job application. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. describes |
||
|
||
.. image:: /_images/components/workflow/job_application.png | ||
|
||
When you fill in a job application in this examplethere are 5 to 8 steps depending | ||
on the what job you are applying for. Some jobs requires personality test, logic tests | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. require personality tests |
||
and/or formal requirements to be answered by the user. Some jobs don't. We use the | ||
``GuardEvent`` to decide what next steps that are allowed for a specific application. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We always avoid first person in the docs, please transform this to "The |
||
|
||
By defining a workflow like this we have an over view how the process looks like. We | ||
do not have any of the process logic in our controllers, models or view. We can change | ||
the order of the steps by changing configuration only. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And here are some more first person usages |
||
|
||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. two blank lines |
||
.. toctree:: | ||
:maxdepth: 1 | ||
:glob: | ||
|
||
workflow/* | ||
|
||
.. _Petri nets: https://en.wikipedia.org/wiki/Petri_net |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"drafted, reviewed and published"?