codeforpdx / PASS

PASS project - with HMIS module integration
MIT License
28 stars 25 forks source link

Create User Registration Page #378

Closed timbot1789 closed 1 year ago

timbot1789 commented 1 year ago

Create User Registration Page


This PR:

  1. Creates a new page, Signup, where users can create pods, and optionally connect themselves with a case manager
  2. Adds a new ENV variable, VITE_SOLID_POD_SERVER which is the default server to add new pods to.
  3. Grants each case manager a unique version of this page, which they can share with potential clients. Any client that registers through a case manager's page will automatically have that case manager added to their contact list.
  4. Initializes the newly-created pod with a PASS container
  5. If they connected to a case manager, registration will:
    • Give the case manager read-write access to the user's PASS container
    • Add the case manager to the user's contacts list

Screenshots (if applicable):

image This page will allow new users to sign up for PASS, and connect them with whoever is referenced in the webId query param in the page URL. If you remove the query param from the URL, you will be able to register for a pod without being connected to a case manager


Additional Context (optional):

Currently, the registration form only works when connected to a Community Solid Server.


Future Steps:

leekahung commented 1 year ago

Would signing in a client with an existing pod be using a separate flow and be done in a different PR?

timbot1789 commented 1 year ago

Would signing in a client with an existing pod be using a separate flow and be done in a different PR?

It will be in a separate PR, yes

leekahung commented 1 year ago

A bit confused. I've managed to get a new pod registered on the local solid server, and inside that pod there's now the contact information of the case manager (bug with profile information not showing correctly should be fixed in PR #379, please disregard viewing the client profile). However, it would seem that the case manager would still have to manually link up the client's pod via add contact. Was that intended?

https://github.com/codeforpdx/PASS/assets/14917816/0b9c6a37-069a-4905-904b-5a80493c6bbe

The account does exist now on localhost and the .acl in PASS seems to be setup for the case manager. Just not on the case manager's Contacts list.

Screen Shot 2023-08-21 at 17 14 41 Screen Shot 2023-08-21 at 17 16 13
timbot1789 commented 1 year ago

A bit confused. I've managed to get a new pod registered on the local solid server, and inside that pod there's now the contact information of the case manager (bug with profile information not showing correctly should be fixed in PR #379, please disregard viewing the client profile). However, it would seem that the case manager would still have to manually link up the client's pod via add contact. Was that intended?

For this PR, yes. Since it was unclear to me how we want to handle a new user registration on the case manager end (should it go to the case manager themselves, or to an organization signup list, or something else) I removed it from this PR. Didn't want to write up something that would just get deleted.

Of course, we can't leave clients fully orphaned after signup with no case manager to contact, so I added the agent the client signed up with to the client's contact list.