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

WIP: Feat/multi account sites #432

Closed
wants to merge 5 commits into from

Conversation

Eptis
Copy link
Contributor

@Eptis Eptis commented Nov 21, 2020

Changes

Please describe the changes made in the pull request here.

Below you'll find a checklist. For each item on the list, check one option and delete the other.

Tests

  • Automated tests have been added

Changelog

  • Entry has been added to changelog

Documentation

  • Docs have been updated

This is a first approach for allowing multiple accounts to access a site. This adds:

  • Docker compose setup for easier local development
  • The concept of an owner of a site. This is reflected as an owner_id in the sites table. A migration is included that makes all current accounts linked to a site the owner. A different migration adds roles (admin or viewer) to site memberships and makes the current owner an admin.
  • A 'members' section within site settings. Here you can:
    • Update the role of existing members (functional)
    • Invite other users to your site (non functional)

Unfortunately I currently don't have a time to continue working on this, but don't want it go to waste. Also, the more I work on this the larger the impact this feature has on the application and I can't make these decisions.

Some things to consider when adding access of multiple accounts to a site:

  • What should an 'admin' be able to do? and what about a 'viewer'?
  • How does inviting a user work? Is a new user account also in trial even though the site they are invited to is already being paid for?

What is still missing:

  • Sectioning off particular sections of the application to be only accessible by members/admins of the site.
  • making the invite member form functional. Currently no invite is sent and no membership is created.
  • Setting up an invite flow for users that don't have an account yet, and users that already have a plausible account.
  • Creating an invite system which handles invite tokens to create the membership when accepted.
  • Preventing an owner from removing themselves from the site. Or an admin removing the owner.
  • Lots of tests

My recommendation would also be to split up the SettingsController into different modules. A lot of logic is currently embedded in the controller which might make it difficult to test and maintain.

@ukutaht
Copy link
Contributor

ukutaht commented Dec 17, 2020

Thanks @Eptis !!

I will take a look at some point but closing now since it's not ready nor being worked on.

@ukutaht ukutaht closed this Dec 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants