Interestingly, I am now researching in state- oriented- programming.
https://docs.google.com/drawings/pub?id=1sh6D3ZZn_C9beAEpp0ccZLkJ5LnimxeqWu…
Workflows are best visualized by 'workflow diagrams' as shown by the
above linked image. And that diagram corresponds to the following JSON
structure:
'article workflow':
{
'entry': //reserved name
{
'user edits article',
},
'newly edited':
{
action:
{
'request approval from administrators'
},
event:
{ // event : to
'approval received' : 'approved edit'
}
},
'approved edit':
{
action:
{
'update articles for public access'
},
event:
{
'article updated' : 'exit'
}
}
}
JSON is an easy to read structure so it is good for the server program
to 'run' a workflow. (XML is also okay as it is easy to convert
between XML and JSON.) It is also good for implementing a GUI for
workflow editing. Plus, JSON is easy to read with a GUI.
Just some speculations, we should formalize the whole thing before any work.