The current iteration of workflow, and thusly workflow_submit, does not understand the difference between a state the content is in and the action to take to get to that state.
Lets take for example the ticket tracking system, Trac. It DOES understand that there is a name for the action that will take you to a state. In the way I configured on my installation, when a ticket is in the resolved state, it will have the actions "Passes review" which brings the ticket to the state "closed" and "Fails review" which brings the ticket to the state "reopened".
We need this separation between action and state so that a user could make the action "Save as a Draft", and then view content in the state "Draft". Right now we have to use a semi awkward terminology where you need to try to choose words that could be used as both an action and a state.
In the use case I use the most often, I have three states: Draft, Publish and Unpublish. I would instead like to name the states "Draft", "Published" and "Unpublished", and then name the action for moving from one state to the next state. For example:
- New -> "Save as Draft" and "Publish"
- Edit Draft -> "Save Draft" and "Publish"
- Edit Published -> "Save Changes" and "Unpublish"
- Edit Unpublished -> "Save Changes" and "Publish"