Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Connecting the new "Data" page to workbench via one-click register-approve-add-start process:

Use case:


Basic flow:

  • Is the user authenticated?
    • No
      • Redirect to sign-in/register page (with quickstart request)
      • User has an account
        • No
          • User goes through register/verify/approve process
          • /#/register?next=<quickstart url>
          • On approval, service is added and quickstart link sent in approval email.
        • Yes
          • /#/sign-in?next=<quickstart url>
          • After successful sign-in, service is added, started, and user is redirected to running instance
    • Yes
      • Service is already added
        • No
          • Add, start and redirect to running service
        • Yes
          • Service is started
            • Yes
              • Redirect to running service (first)
            • No
              • Start service, redirect to running service
    :
    • If they are not registered
      • They are prompted to register with email verification and optional approval process
      • Once approved, service is started and approval email sent with link to started service and workbench itself
    • If they are registered/approved but not authenticated
      • They are prompted to authenticate.
      • Once authenticated, service is started and user it directed to running service
    • If they are registered and authenticated
      • If the service isn't running, it is added and started
      • If the service is already running, they get a link to the running service (a new one isn't added via this route)


What needs to be done:

  • Endpoint that supports "add and start" capability
  • Update registration/authentication endpoints to support "add and start" capability
    • Store requested URL until approval is complete?
  • Update UI to support specific endpoint (not landing page) – for example /register?rd=<requested action>

Thoughts:

  • Jira
    serverJIRA
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyNDS-1100

Assumptions:

  • Single-service stack (no multi-service or optional-service stacks, for now)
  • Storing the token as a cookie?
  • Modify stack endpoint to support quick-start functionality (i.e., add spec parameter means add + start)
  • This doesn't solve basic auth for sure.
  • One click via API or UI?
  • Current GET /start/:sid endpoint requires existing added stack
    • Could modify to be GET  /start?service=<service ID>
  • If not authenticated, store request (cookie or redirect URL)
    • Redirect to Register/sign-in page
  • If register, need to pass requested URL to registration process (user could close browser/remove cookie, etc)
  • If sign-in, need to pass to authenticate method?Authenticate an start or return existing?