Closed jmakowski1123 closed 4 months ago
Thanks for your submission, @openedx/open-edx-project-managers will review shortly.
Maybe it's a stretch but from the issues I could find I see a small connection to #246 wrt "more nuance between instructor role and course author role" for one of the things that this request is trying to accomplish.
Flexible student partitions or groups within a course. These groups can be mutually exclusive or not based on a property of the group set by the creator.
Partitions should be created by the course team as cohorts or teams do. Being part of a partition should be possible to assign:
Users can be assigned to the partition with the role of instructor. This would allow them to behave as the regular instructor of the course does, but only for the subset of students that belong to the partition.
Partitions should be able to connect to content-groups, discussions and bulk email as cohorts do. Also to ORA group activities as teams do.
These partitions would bridge the gap from cohorts to teams and allow teachers from campus learning to better assist their students.
LMS; the courseware, discussion and instructor panels.
This affects primarily the LMS. In particular it affects the way students would interact with different parts of the course content, discussion or ORA problems. It also affects instructors of the course since they would now be able to:
It would also have a side effect on the CMS around the list of partitions that can be assigned to content groups.
In the current platform (~palm) there are two ways of creating student partitions: Cohorts and Teams.
Cohorts allow:
Cohorts limitations:
Teams allow:
This request from the Spanish for campus use, given that universities there organize around having courses divided in student partitions that are used for many purposes which are only partially covered by the present options. A course often has different sets of partitions running in parallel.
Some examples of partition usage:
It might be good to illustrate with an example from the UPV: A large course will be split into two teachers for theory, for two more teachers for exercise sessions in the classroom and 5 lab groups. A single student must belong to one theory group, one exercise class and one lab.
Second it would foster in-campus use of the platform for large universities that are currently limited by the flatness of the enrollment model.
[Long shot] this could ease the pressure on the CCX as the only current way to assign teachers to smaller groups of students.
as a student I would like to join "study groups" on my own that match my interest in a course and get access to special content and discussion spaces
as a university admin of a large course I would like to assign different teachers to look after a subset of students that matches the registration of the university classes
as an instructor of a course partition I would like to access the grades of my assigned students
From a developers standpoint we think that this feature would greatly benefit from an early connection to extensions so that the specifics of filtering or partition assignment can be defined by plugins instead of cluttering the core platform.
Also, given the initial discovery and research around the technical capabilities of cohorts we believe that these features can be developed by building on top of the current CourseUserGroupPartitionGroup models that power cohorts and by making the current grouping features more extensible.
We would be happy to collaborate in the technical design to get the parts that better match the core in the platform and everything else in extensions.
This comes from the block 2 (partida 2) of the Spanish tender.
Expanding a bit more on what Felipe suggested from a technical standpoint, so we can improve the current grouping strategies with reasonable impact in the Open edX Core, we propose using the current implementations plus some new extensibility points so we can cover most of our use cases if not all.
Without too much technical detail, we propose to:
Up until now, we’ve covered content groups & a new grouping strategy. So this can also work with the teams capabilities --if needed, we can:
References: Cohorts & content groups: https://openedx.atlassian.net/wiki/spaces/AC/pages/157685689/Cohorts+and+Content+Groups#CohortsandContentGroups-ContentGroups Teams: https://openedx.atlassian.net/wiki/spaces/AC/pages/160611195/Teams+capability
I'm thrilled to hear what you think!
Hi @jmakowski1123, we are very commited to continue with this feature and I'd like to ask if a reasonable next step would be to put some coding time into it and create a proof of concept PR. Do we need buy in by any particular organization for this?
Talking to @ormsbee he mentioned that there could be a missing concept in the platform about a "staff" permission that only applies to a subset of the course. To avoid facing this issue I was planning to create the POC without such capabilities and wrap the question of permissions in a function where a filter can be included. This would also open up an extensions for new developers to create features that also complement that staff-learner relation.
Tagging @hsinkoff
I created a POC in edx-platform as a follow-up to this comment I left explaining our approach: https://github.com/openedx/edx-platform/pull/32806/
Regarding this comment Dave made:
Talking to @ormsbee he mentioned that there could be a missing concept in the platform about a "staff" permission that only applies to a subset of the course.
In the PR above, I created a POC for a new grouping system based on the existing cohort mechanism. There, we mentioned the professors
concept superficially, which could be this new staff
with permissions that apply to a subset of the course.
In our POC, professors are a list of users associated with this new grouping system. So when a user is associated with a group, they get assigned a new role called professor
. This new role would have to interact with the current role management system -- as the instructor does. So first, we need to make the role management system more extensible so professors
are easier to integrate. As Felipe said, we can use filters to refactor the way roles are being managed today, so we do so more generically, opening the new extension points for the Open edX platform. In this PR, I showcase how we could do such a thing.
Using this generic way of managing roles, we can dynamically create a new role that could interact with the current system via plugins. We could implement all the rules a professor
would comply with there. But what does a professor do? A professor could but is not restricted to -- this is still open to discussion; we're proposing this list that draws inspiration from what an instructor can do:
This list must comply with what we can do with the extension points available, eg. if the reset attempts view doesn't check for a role before resetting the attempts, then we can't check for a professor's role there with an Open edX Filter. This way, we're maintaining the platform changes to the minimum.
is there further evidence from course authors/instructional designers/administrators etc. that this (students work together on an assignment) is desired and addresses a validated pain point across the community? If that feedback exists, would love to see it. I do recognize this comment from @felipemontoya above "This request from the Spanish for campus use, given that universities there organize around having courses divided in student partitions that are used for many purposes which are only partially covered by the present options", but I do not know what the "Spanish for campus use" actually is. Any details to help catch me up would be appreciated.
Hey @cablaa77 sure. The "Spanish for campus" is a project where 7 Universities, that use openedx both for their own instances and some at edx.org for open courses, got together, called their professors and course authors and wrote a document listing the things that would make their use of the platform more successful. In total they have 16 different areas in which they want to work. Making grouping more flexible is one of them. If is of any use here is the link to the original document, but as it is writen by spanish public Universities it is in spanish.
This document eventually became a project backed by the consortium of those universities and was also later supported by the EU. We at edunext were selected to try to bring this changes into the openedx project. Some things are being done as plugins and some are being proposed as extensions to the core of openedx.
thanks @felipemontoya I will check out the doc later today
Updating the status in preparation for the meeting of the campus-wg.
After the latest round of feedback on the proposal outlined by @mariajgrimaldi above and the permissions needed to allow professors to have impact on the proposal we had, we have been at the drawing board trying to design a solution that builds better on top of other running initiatives. One of the things that helped us work on this from a different angle is the Needs for Learner Grouping document that @jmakowski1123 kindly shared with us. Tagging @MHaton who I believe is the author of said document. Also we found a lot of interesting discussion in a wiki page published after Teams was first delivered.
Building on top of those iniciatives and to solve most of the use cases of the Spanish Universities we would like to enhance Teams in some ways:
Manage students
but it calls a function (via openedx filters) to decide if the permission applies to this particular student.I'll be writting this in more detail and with images that better show what we would like to accomplish but I wanted to update anyone following this thread before the meeting.
Just swinging by this discussion seeing the ping to add that while that doc is full of semi-hot takes in places, I'd be more than willing to discuss any of them in more depth or clarify anything I wrote in that doc, feel free to DM me on Slack :)
I kept refining with Teachers from the Spanish universities and I think we have the clearest proposal so far. I will continue working on a deeper dive on the technical dimension, but I'd like to get a feeling for the product side first.
I wrote in Confluence and I used the format that we have been using for other initiatives in the product working group.
@Daniel-hershel I understand that your team owns the teams feature, am I correct? Do you think this enhancements are reasonable from a product standpoint?
Looks like @Daniel-hershel gave the proposal a look and is giving a 👍 on the plan given a toggle/optional config. Excited to see this additional config availability.
At-A-Glance
Make the Teams feature connect with content groups. That would make it so that membership in a Team could (provided the authors select it that way) have the consequence of allowing the student to access content from a Content Group.
There are 3 types of TeamGroups, Open, Managed and Private. We would like to have one more that sits in between the current Open and Managed types.
Work on the management options for staff to add/remove students to teams. Currently it can only be done via a CSV file that must be edited manually and re-uploaded.
Collaborate on the RBAC initiative to create a permission similar to the proposed Manage students but it calls a function (via openedx filters) to decide if the permission applies to this particular student.
More information
Product specs
Design files
Kanban board
Stakeholders
Primary Contributors
Community release milestones
Quince:
Redwood: Targeted for release
How to contribute
-- students can work together on an assignment that will be graded