dfb80acc118dd35bf54f58db04a1c0368d14564a
NOTE: This will require a forced backfill of course outlines to update the course content data in learning_sequences: python manage.py cms backfill_course_outlines --force Without this backfill, the learning_sequences API will continue to serve stale content data that has no user partition group data. It won't cause errors, but it won't do the exclusions properly. Commit summary: * Created EnrollmentTrackPartitionGroupsOutlineProcessor to process the enrollment_track User Partition Group, allowing Sequences and Sections to be removed based on their group_access settings. * Added user_partition_groups attribute to CourseLearningSequenceData and CourseSectionData in learning_sequences/data.py, along with backing model data. * get_outline_from_modulestore now extracts group_access settings from Sections and Sequences. It also bubbles up group_access settings from Units, meaning that if a Sequence with no group_access setting has Units that are all set to show only to the Verified enrollment track, then the Sequence will only show to the Verified enrollment track. This commit adds model-level support for all user partition groups by capturing all the content group associations (group_access), but it only implements the code checks for the enrollment track partition. It's not clear that we want to generalize, since there's only one other partition type (A/B testing) that is applicable at the outline level. It's important to note that there is no way to set the group_access for a Section or Sequence in Studio today. It's only possible by direct editing of the OLX for import. That being said, the block structures framework supports applying course groups at this level, and this commit moves learning_sequences closer to feature parity. The bubbling up from Units to the parent Sequence was done to mitigate confusion when a Sequence is entirely composed of Units that are not visible to the user because of content group restrictions. It's not clear whether this is something we want to do in the long term, since it would simplify the code to always specify group_access at the Sequence level. This first pass is done partially to collect better data about places in our courses where this kind of usage is already happening. Most of the EnrollmentTrackPartitionGroupsOutlineProcessor code and its tests were written by @schenedx.
Decentralized Devstack changes: Add and push Dockerfile; add decentralized devstack settings (#24666)
…
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This is the core repository of the Open edX software. It includes the LMS
(student-facing, delivering courseware), and Studio (course authoring)
components.
Installation
------------
Installing and running an Open edX instance is not simple. We strongly
recommend that you use a service provider to run the software for you. They
have free trials that make it easy to get started:
https://openedx.org/get-started/
If you will be modifying edx-platform code, the `Open edX Developer Stack`_ is
a Docker-based development environment.
If you want to run your own Open edX server and have the technical skills to do
so, `Open edX Installation Options`_ explains your options.
.. _Open edX Developer Stack: https://github.com/edx/devstack
.. _Open edX Installation Options: https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/60227779/Open+edX+Installation+Options
License
-------
The code in this repository is licensed under version 3 of the AGPL
unless otherwise noted. Please see the `LICENSE`_ file for details.
.. _LICENSE: https://github.com/edx/edx-platform/blob/master/LICENSE
More about Open edX
-------------------
See the `Open edX site`_ to learn more about the Open edX world. You can find
information about hosting, extending, and contributing to Open edX software. In
addition, the Open edX site provides product announcements, the Open edX blog,
and other rich community resources.
.. _Open edX site: https://openedx.org
Documentation
-------------
Documentation can be found at https://docs.edx.org.
Getting Help
------------
If you're having trouble, we have discussion forums at
https://discuss.openedx.org where you can connect with others in the community.
Our real-time conversations are on Slack. You can request a `Slack
invitation`_, then join our `community Slack team`_.
For more information about these options, see the `Getting Help`_ page.
.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/
.. _community Slack team: http://openedx.slack.com/
.. _Getting Help: https://openedx.org/getting-help
Issue Tracker
-------------
We use JIRA for our issue tracker, not GitHub issues. You can search
`previously reported issues`_. If you need to report a problem,
please make a free account on our JIRA and `create a new issue`_.
.. _previously reported issues: https://openedx.atlassian.net/projects/CRI/issues
.. _create a new issue: https://openedx.atlassian.net/secure/CreateIssue.jspa?issuetype=1&pid=11900
How to Contribute
-----------------
Contributions are welcome! The first step is to submit a signed
`individual contributor agreement`_. See our `CONTRIBUTING`_ file for more
information – it also contains guidelines for how to maintain high code
quality, which will make your contribution more likely to be accepted.
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email
security@edx.org.
.. _individual contributor agreement: https://openedx.org/cla
.. _CONTRIBUTING: https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst
Languages
Python
73.7%
JavaScript
15.4%
HTML
7.1%
SCSS
3.2%
CSS
0.5%