Only one workflow request can be active for any given page; however, a page may have a number
of historical, closed workflow requests.
The WorkflowRequest object shouldn't be directly edited. Instead, you call "workflow step"
methods on the object, that will update the object appropriately.
To create or retrieve a WorkflowRequest object, call {@link SiteTreeCMSWorkflow::openOrNewWorkflowRequest()}
or {@link SiteTreeCMSWorkflow::openWorkflowRequest()} on the relevant {@link SiteTree} object.
The following examples show how a workflow can be created.
Request publication:
$wf = $page->openOrNewWorkflowRequest('WorkflowPublicationRequest')
$wf->request("Can you please publish this page");
Reject changes:
$wf = $page->openWorkflowRequest()
$wf->deny("It's not acceptable. Please correct the spelling.");
Approve changes:
$wf = $page->openWorkflowRequest()
$wf->approve("Thanks, looks good now");
Make the changes 'go live' changes:
$wf = $page->openWorkflowRequest()
$wf->action();
{@link WorkflowRequest::Changes()} will provide a list of the changes that the workflow has gone through,
suitable for presentation as a discussion thread attached to the page.