1.2K Messages
Feature Flags and Workflows
With us, we find that the physical act of deploying a new version of a workflow takes minutes but the process around it sometimes takes a fair bit of time.
We’ve started using feature flags to turn on and off certain features of a workflow and release new versions of a workflow without having to deploy a new code set each time, and without the need to do so out of business hours. We do this with 2 workflow variables that take a 1 or 0 to flag a feature and a csv list of communities to turn the feature on or off for that area. Which is configured in the UI.
Do you use feature flags with your workflows and if so, are there any tips or tricks you’ve found helpful to get the most out of them?
arthurburkhardt
1.2K Messages
3 years ago
That’s a very interesting idea!
No we don’t use feature flags, but I’ll steal that idea.
Question: why does it take time to deploy your workflows?
For now, we still have a light testing and review process, which means we have the flexibility to deploy and update workflows in production. Works well so far, but it’s interesting to configure features in this way.
2
0
Former User
1.2K Messages
3 years ago
Just gave it a read, now that’s seriously cool!
That would be great! It would be fantastic if you could share a some of what you’ve done.
Appreciate that you may not be able to share the code itself, but that’s cool, I’d love to have a view of some of the general steps you’ve followed.
I’ve only started posting regularly here recently but it’s great to see other citizens share a similar level of curiosity and innovation.
Have a good one!
0
0
Former User
1.2K Messages
3 years ago
I have used a version of feature flags before in workflows to do what you describe, which is usually ok if the the functionality isn’t too complex (otherwise you either have lots of decision gates checking these variables, or lots of scripts with hidden if statements, which can be hard for new developers to easily see).
One thing I try to do is to create “modular” workflows, which do a few simple things and having the specific logic in those, and then reuse those in other workflows and passing in the variable flags from the calling workflow.
As an example, I have a generic email workflow, which gives the user a form to select the stakeholders and determine the subject / message, however the options used to call it allow for a number of these things to be pre-filled by the calling workflow (e.g. the standard subject and message the user can fill in) and also allows the workflow to either be given a list by the calling workflow for the senders or allows the option for it to get the stakeholders directly from the Asset itself. Through doing this, instead of re-creating some version of a mail task with a form for users to select from, or copying and pasting XML across areas, one version of the code is managed and it can be called using the different “feature flag” options to provide a number of use cases.
Hope this helps.
Dan
1
0