Chapter 1: Building Basic User Interactions With DaVinci Flows
Build basic user interactions with DaVinci flows.
Lesson 1: Define the Basic Flow and Interaction Steps
Define the basic flow and provide an introduction to the foundational concepts of DaVinci:
- Access and launch the DaVinci admin console
- Build basic user interaction in a flow
- Display entered information
- Collect user age information
Lesson 2: Using Functions and API Calls
Define the basic flow and provide an introduction to the foundational concepts of DaVinci:
- Verify the age of the user
- Collect the user’s email and password
- Implement a robot check
- Document the flow
Lesson 3: Improving the User Experience
Use more advanced concepts in DaVinci to implement your flows:
- Converting user interactions to use HTML templates
- Test the complete flow
Lesson 4: Using Variables and Form Validation
Expand further the functionality of your existing flow by using flow variables and improving interaction with the user:
- Using flow variables and form validation
- Improving form validation inputs
Lesson 5: Using Subflows to Manage Complexity
Externalize functionality that is often reused or complex to its own flow; for example, if the flow needed to connect to an API that isn’t available as a native connector, CRUD operations could be built in a new flow that could be leveraged by many:
- Design base requirements of the subflow
- Implement the subflow
- Implement a test flow for the subflow
- Replace the API call with the subflow
Chapter 2: Integrating a DaVinci Flow Into an Application
Integrate a DaVinci flow into an application.
Lesson 1: Integrating an application to launch a flow
Integrate the flow into a web application which allows the application to provide the CSS (look and feel). Other flows can also be integrated to enable a richer user experience:
- Define the application in DaVinci
- Create your own version of the application
- Customize the application
Lesson 2: Using a CSS in flows vs applications
Review how CSS is leveraged in a flow vs an application, and determine the advantages of leaving the presentation layer controlled by your application rather than using a CSS in your flow:
- Determine how a custom CSS in a flow is embedded with a web application
- Leave the styling in your web application
Lesson 3: Adding a flow to an existing application
Take the flow and integrate it into a web application:
- Import the DaVinci JavaScript library
- Create a div container
- Create a JavaScript method to call the flow
- Render the flow method
Lesson 4: Integrating non-UI flows
Explore how DaVinci can accelerate development when integrating with backend services and APIs, enriching the overall user experience:
- Register for an IP service
- Build out your flow
- Test the flow
- Integrate the flow
Lesson 5: Passing data into a flow from an application
Run through the process of passing data into a flow, whether it has user interaction or not:
- Create a DaVinci subflow
- Change the existing registration flow
- Integrate the flow
- Test the flow and application code
Lesson 6: Performing A/B testing
Define a flow that deals with age first, instead of name, during registration:
- Define a new flow
- Create a test flow
- Build out a flow policy
- Change the web application to invoke the new policy
Chapter 3: Integrating PingOne SSO and Identities in DaVinci Flows
Integrate PingOne SSO and identities in DaVinci flows.
Lesson 1: Setting up parallel processing
Set up a flow that has two paths that execute in parallel and then come to their own conclusion:
- Leverage the PingOne Notification service
- Test your changes
Lesson 2: Creating registered accounts
Take the information collected during the registration process and create a user account in PingOne, which is the first step to expanding the capabilities of the application to support authentication:
- Review email service options
- Review your PingOne setup
- Build out a new registration flow
- Build out a false branch
- Verify if an account already exists
- Include field validation
- Send a welcome email
Lesson 3: Verifying an email address
Establish a process to verify the email address of the user:
- Create an email verification subflow
- Verify the code
- Complete the subflow
- Add the subflow to the registration flow
- Test the subflow
Chapter 4: Building an Authentication Flow in DaVinci
Build an authentication flow in DaVinci.
Lesson 1: Handling authentication
Handle authentication for the application:
- Lay out a logical structure for the flow
- Find a user in PingOne
- Capture and verify the user’s password
- Add password validation to the flow
- Prevent a disabled account
- Check that the email is verified
Lesson 2: Handling forgotten passwords
Handle forgotten password in the authentication flow:
- Build out the user interaction
- Finalize the password reset
Lesson 3: Adding an authentication method
Add another method of authentication, an email magic link, for the users of the application:
- Add a magic link authentication method
- Define the magic link email process
- Complete polling
Chapter 5: Providing Custom Analytics in a DaVinci Flow
Provide custom analytics in a DaVinci flow.
Lesson 1: Leveraging analytics to monitor flow usage
- Leverage analytics to monitor flow usage:
- Add login analytics
- Add password authentication analysis