Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node Login Page #58

Open
mishaschwartz opened this issue Jun 27, 2024 · 0 comments
Open

Node Login Page #58

mishaschwartz opened this issue Jun 27, 2024 · 0 comments

Comments

@mishaschwartz
Copy link

Users of Marble nodes can currently log in through the Jupyterhub or Magpie components. However, Jupyterhub is not required on all nodes and Magpie's UI design/branding do not match Marble which may be confusing for users. Instead, we need a Marble branded login page that allows users to sign in/manage their account like they would do on Magpie.

This UI should be implemented as an optional component in the birdhouse-deploy stack (https://github.com/bird-house/birdhouse-deploy/) and should interact with the other components as follows:

  • Logging in should log in the user through the Magpie API and the Jupyterhub API (if enabled)
  • Logging out should log out the user through the Magpie API and the Jupyterhub API (if enabled)
  • Users should be able to change their email, password, etc. through the Magpie API
  • If network mode Ouranosinc/Magpie#589 ever gets implemented:
    • users should be able to view, create, and delete links to other nodes

This UI may also include any other information that would be useful to a user logged in to a Marble node as long as it can acquire that information from the various components deployed for the given node.

Note: this component will be used by the Marble software stack but the code will be part of birdhouse-deploy. This means that the code/UI cannot contain any Marble branded content. Instead all branding information should be configurable. Branding content includes: logos, references to Marble and DACCS, any components, messages, etc. that only make sense in the context of Marble.
One example of how to do this would be to create a configuration file (I recommend TOML syntax) and using the configurations outlined in that file to build the website (using a templating framework like jinja2). This configuration file could contain required/recommended settings for Marble nodes that can be applied separately.

Participants/Roles:

  • Shruti Katkar: UX research, wireframe design
  • Alex Yu: UI development
  • Misha Schwartz: integration with the birdhouse-deploy stack

Deliverables:

  • wireframes
  • UI implementation of wireframe
  • component in birdhouse-deploy
  • configuration file that contains all Marble branded settings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant