User groups and courses visibility

Is it possible to create different user groups which can see/enroll only to specific courses, and make courses visible in catalog only if the logged user is part of a specific group?
For example: I have three different organizations using the same instance of openedx, I want to create three different groups of users (both course creators and learners), one group for each organization, and I want that the users from each group/organization can only see in catalog/enroll in courses published by course creators of their organization (except from some courses that can be shared and seen by anyone).
Is it a feature supported by openedx and if yes in which way can this be achieved?

Sorry I don’t have an answer for you but am looking for the same info.

Hopefully someone knowledgeable on this can weigh in on below:
In Django settings there is a users/groups section where we can create groups for our users, but as far as I can tell this is for permissions in the backend, not for courses. I wonder if this can be incorporated into it, eg:
User1 is member of Group1
User2 is member of Group1
User1 is member of Group2
Course settings: visible to: Group2 (therefore User2 will not have access)

Since the groups feature already exist here I believe it would be nice to have that configurable, but I don’t know enough about how it actually works to say for sure if it’s possible.

As long as there is no overlap among the groups, what you’re asking can sort of be achieved using the sites framework - but it requires that you use a different domain name for each group, such as group1.learning.example.com, group2.learning.example.com, group3.learning.example.com. And users have to know which site to log into.

This is called a multi-tenant setup. For instructions, see Configuring Sites Independently, and specifically the course_org_filter setting which lets you specify which org’s courses appear on which site(s).

@joel.edwards You are correct that there is a groups feature built into Django, and you can use it to organize users into groups, but it’s currently not really integrated with any other Open edX features as far as I know, so it doesn’t work for things like catalog visibility.

3 Likes

Thanks for the explanation @braden , do you think this is something we could add as a feature request? I’m just thinking in my use case scenario I’ll have groups of users in different departments within the same organisation so I don’t feel like a multi-tenant setup is the right approach for me to use.

Cohorts sounds in theory like it might be useful, but this is way too granular and clunky for my needs, for now I’ll just have all my courses available within the firm for all to access.

@Light sorry for hijacking your thread :slight_smile:

I found out that appsembler were able to get such a feature made, but it’s not a highly polished product and has a lot of specific requirements for it to work.

Supported Open edX Version:
The bad news, there’s none. The good news is that there’s a plan to make it work with the upstream Open edX versions out of the box.

Certainly, though to be honest I’m not sure of what the current process is for putting a feature request forward.