Connecting the new "Data" page to workbench via one-click register-approve-add-start process.:
- The "Data" page contains a link to launch the NBI jupyter notebook on workbench
- When the user clicks on the link:
- 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)
- If they are not registered
...
- 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:
- 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?