All programs are now managed using the Django admin on the catalog service. This is the first in a series of commits removing use of the old programs service from edx-platform.
ECOM-4422
This functionality hasn't been used since it was introduced. It is superseded by the backpopulate_program_credentials management command. This is another commit in a series removing use of the old programs service from edx-platform.
ECOM-4422
This command was updated to request programs from the catalog, but it wasn't changed to deal with the new response structure. I'm updating all code in the LMS to deal with catalog service responses separately.
ECOM-6900.
When crawlers like edX-downloader make requests on courseware, they are
often concurrently loading many units in the same sequence. This causes
contention for the rows in courseware_studentmodule that store the
student's state for various XBlocks/XModules, most notably for the
sequence, chapter, and course -- all of which record and update user
position information when loaded.
It would be nice if we could actually remove these writes altogether
and come up with a cleaner way of keeping track of the user's position.
In general, GETs should be side-effect free. However, any such change
would break backwards compatibility, and would require close
coordination with research teams to make sure they weren't negatively
affected.
This commit identifies crawlers by user agent (CrawlersConfig model),
and blocks student state writes if a crawler is detected. FieldDataCache
writes simply become no-ops. It doesn't actually alter the rendering
of the courseware in any way -- the main impact is that the blocks
won't record your most recent position, which is meaningless for
crawlers anyway.
This can also be used as a building block for other policy we want to
define around crawlers. We just have to be mindful that this only works
with "nice" crawlers who are honest in their user agents, and that
significantly more sophisticated (and costly) measures would be
necessary to prevent crawlers that try to be even trivially sneaky.
[PERF-403]
ECOM-6898
Disable (make read-only) the field for course code in the re-run form. This will prevent creation of course runs with a different course code in the course key that are intended to stand for the same course in a program, which presents problems for the course catalog mapping process.
These are the only two egg names that are wrong in this file. We have
to uninstall i18n-tools, because the distribution name changed. The
lti-consumer XBlock hasn't changed named, we just had the wrong name in
the requirements file.