RedDot CMS Blog
rdb: Workflow Email Bug – Workaround
Some time back I was working on a RedDot project for a Local Government based in Melbourne, Australia where we were required to create 52 (crazy I know!) separate workflows to manage content within the site – each one corresponding to a specific department/internal process within the organisation.
Some of these workflows were quite complex – having up to 5 separate release steps before the content was finally published to the live site. Emails were automatically sent to the appropriate user group whenever:
- A page was waiting for release
- A page was rejected
- A page release did not occur after a given time frame (i.e. escalation)
Common to all of the workflows was the Grand Poobah – ‘Site Adminstrator’ group who were responsible for releasing content in the final workflow step. Site Administrators also had the ability to bypass all workflows whereby any changes they made did not have to be approved by any other users. This was achieved by setting exceptions for the Site Administrators at every workflow step.
Once we set up all of the required workflows (using RQL as there was no way I was going to manually create them!) we came across the following bug:
Whenever an Admin created and/or changed content within the site, a ‘release’ notification email would always be sent to the group responsible for releasing pages in the first workflow step. This would occur even when the Site Administrator group was selected as an exception in the first workflow step.
It appears that RedDot sends out the email before actually checking the first release step for any exceptions. This was causing a great deal of confusion for editors as they were being prompted to release pages that didn’t need to be released!
Since it can take ages for any of these bugs to be fixed in future RedDot software releases (i’ve waited up to 2 years to get bugs fixed), I came up with the following workaround to fix this problem: Introducing the ‘Faux Release‘ Step!
- The first node you create under the ‘Page Created’, ‘Page Changed’, ‘Page Deleted’ etc.. nodes must be a ‘Release’ reaction
- Give it a suitable name to identify what it is e.g. Skip First Step
- Under the release settings, select any group from the list of users/groups responsible for releasing the pages. (it makes no difference which group you select!)
- Click on the ‘Exception’ link and select ‘Everyone’ from the list of groups/users.
- Click OK to save your changes.
Under the faux step, you can now create all of the required steps/reactions for the workflow as per normal.
The faux step simply skips the process directly to the next workflow step and eliminates the ‘dodgy’ notification email from being sent. Users will be none the wiser that this step actually exists.