Moodle plugins directory: Workflow block | Moodle.org
Workflow block
The Workflow system is used at the OU to manage the production of courses and some activities. It comprises a block and a related admin report.
A workflow (for our purposes) is a linear sequence of steps. A step has
- a name
- some instructions;
- a check-list of actions;
- a list of roles who are responsible for performing this step;
- a list of actions that are taken automatically when the step is started/finished, for example assigning roles or changing activity settings.
The system allows the definition of different workflows. Each workflow has
- a name
- a description
- an indication of the type of thing it relates to (e.g. ‘course’, ‘mod_quiz’)
Under Admin -> Plugins -> Blocks -> Workflow, there is an interface for Administrators to define and edit workflows, and to import and export workflow definitions as XML.
To use a workflow to manage the production of, say, a course, you go to the course, and add a workflow block to it. Initially, the block will display a message “There is currently no workflow associated with this course.” with an Add workflow button. Clicking the button allows you to select from any of the workflows that are appropriate for ‘course’.
When the workflow is added to the course, the first step in the workflow becomes active. The workflow block now displays the step instructions for the currently active step; the checklist items as a list of check-boxes; a comments area; a Finish step button; and a link to the workflow overview.
When a step becomes active, all the people responsible for completing the step are sent an email informing them that they should do the step. These people may also get an additional role assigned to them in the context the workflow applies to.
The comments area in the workflow block is a simple editable text area where people working on the step can leave notes for each other.
The Finish step button leads to a confirmation page. If the action is confirmed, then the workflow advances to the next step. When the last step of the workflow is finished, the workflow either stops, or loops back to one of the other steps.
The workflow overview gives an overview of all the steps in this workflow, and the progress through it. The system tracks the timestamp, and the user, each time a step is finished or made active.
The overview page also allows workflow administrators (those with an appropriate capability) to jump the workflow to any particular step.
There is also an admin reports that summarise the workflow across a selection of courses or activities.
Thanks this look like great functionality.
However, I tried installing on several 2.2 and 2.3 including a fresh 2.3+ install and latest block and report git source.
When trying to click the Site Admin >> Blocks >> Workflows i get and error reading from database (this is on XAMPP)..
Debugging on reveals the following:
Debug info: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ILIKE '%email%' || emails.shortname || '%to%'
) AS activecount,
' at line 5
SELECT emails.*,
(
SELECT COUNT(activescripts.id)
FROM mdl_block_workflow_steps AS activescripts
WHERE activescripts.onactivescript ILIKE '%email%' || emails.shortname || '%to%'
) AS activecount,
(
SELECT COUNT(completescripts.id)
FROM mdl_block_workflow_steps AS completescripts
WHERE completescripts.oncompletescript ILIKE '%email%' || emails.shortname || '%to%'
) AS completecount
FROM mdl_block_workflow_emails AS emails
ORDER BY shortname ASC
[array (
)]
Error code: dmlreadexception
Stack trace:
line 407 of \lib\dml\moodle_database.php: dml_read_exception thrown
line 945 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 162 of \blocks\workflow\classes\email.php: call to mysqli_native_moodle_database->get_records_sql()
line 49 of \blocks\workflow\manage.php: call to block_workflow_email::load_emails()
I replaced ILIKE with LIKE in workflow/classes/email.php (4 occurrences) it worked for me with mysql and Moodle 2.2.4.
But I'm not a developper so...
In the mean time, you can get a zip of the latest code, including the LIKE bug fix, from https://github.com/moodleou/moodle-block_workflow/archive/master.zip