Artemis
Artemis copied to clipboard
Adapt structure to allow separation of multiple organizations
Is your feature request related to a problem?
Artemis is currently been used in projects where an instance is hosted for multiple universities and other educational organizations. Some difficulties occur to provide a meaningful separation between them (ex. Students self registration to courses of their own organization, allow instructors to view only users of the same organization, ..).
Describe the solution you'd like
A possible solution would be to map an additional column to the user's entity representing the relative organization. This would provide additional data needed to solve the separation problem previously described.
Describe alternatives you've considered
Currently, regex pattern over the login and email of users is used to retrieve the needed information (ex. the email's domain includes the information about the user's organization). Unfortunately, this is by far not an optimal solution.
Additional context
Proposal of the user's and course's mapping to an organization

I think those database changes make a lot of sense, I would only do some minor changes:
- Organisation -> Organization
- add emailPattern to Organization to automatically add users to organizations during startup and to add organization to users when those are created
- logo should be stored as string (i.e. a url). You can use the same implementation as for the course icon
To be discussed: should the many to many relationships be ordered (Set vs. List). I would say no. Using a Set will be much easier.
Thanks for the suggestions :+1: The diagram has now been adapted
@krusche can we close this issue?