
Environments, flow versions, & flow status
This release includes a set of features that enable you to confidently put flows developed with Dopt into production:
Environments
Environments enable you to manage your flows throughout your entire development lifecycle, from local development through production.
Default environments
By default, your workspace comes with two environments: Development
and Production
.
Logical separation of data
Environment ensures logical separation of data so you can develop and test flows locally with a set of users before shipping the flow to your users in production. Users identified in one environment are never accessible in another.
API keys per each environment
The separation of data is managed by using separate API keys for each environment. For example, in your local development, you use the Development
environment's blocks API key to request blocks from the Dopt SDK and the Development
environment's users API key with the Dopt users API.
Flows in environments
When you create a flow, it will be accessible across all environments.
Environments page
You can manage the API keys for each environment on the environments page.
Flow versions
Flow versions give teams control over which flow version should be live in each environment. It also gives you visibility into the historical changes of a flow.
Drafting and committing workflow
When designing a flow, your flow will be a draft version. After making edits, you can then commit changes to Dopt which will increment the version of the flow. You can view the flow version history and roll back flow versions in the version history tab on the flow canvas.
Specifying flow version
You specify which flow version should be live for each environment when initializing Dopt in code. For example:
<DoptProvider flowVersions={{ 'user-onboarding': 2, 'feature-callout': 4, }}/>
This gives teams a robust source of truth and the ability to easily make new flow versions live or roll flow versions back.
Flow identifiers
Flows now have an identifier to support specifying the flow version in code. You can see the flow identifier on the flow listing page or flow canvas.
Transitioning users to new versions
When changing a flow version, you can determine how users who have already started the flow will transition to the new version: either restart the flow in the new version, or exit the flow and have them never experience the new version.
Flow status
You can now enable and disable flows with the flow status control. You can access the control on the flow listing page or flow canvas. If you disable a flow, no new users will start the flow and all users who are in the flow will immediately stop progressing through the flow.
Documentation improvements
Our documentation has an improved IA and new content including: a getting started guide, feature guides, better API & SDK documentation, and details about our Segment integration.
Other improvements & fixes
- We improved the IA of the flow canvas with tabs for the major features, improving overall discoverability and making it easier to craft targeting rules into its own tab.
- You can now rename flows directly from the flows listing page.
- Saving changes to targeting conditions is more clear.