Force run on PR for testing
Remove pa11ycrawler from base.txt for testing
Update pa11ycrawler dependency
Revert code needed for testing on Jenkins
Enable testing for Jenkins
Update accessibility-tests.sh
Update accessibility-tests.sh
Point to newest pa11ycrawler release
Remove force run on PR
Reset accessibility-tests.sh
We use the dealer.git library to determine the current revision of
edx-platform at startup time and store that as EDX_PLATFORM_REVISION in
our settings. This can take a surprisingly long time and involve a lot
of disk IO to initialize.
Studio still needs this functionality because it determines its static
asset folder based partly on the hash. This is horrible, because it
means all static assets are invalidated on every release instead of
just the ones that change. But that will be the subject of a different
PR.
This adds functions to the catalog utils which munge data
collected from the program endpoint and LMS database to construct
data structures that are ready for use by view and templates
related to the Open EdX marketing pages that live in LMS.
WL-766
We should not be using custom signing keys for each service at this time. We may want to return to this strategy in the future; but, this is not the direction any of our other services are going in.
ECOM-6541
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]
Waffle serves as a complement to config models. It's useful in feature rollout situations where you may not want to incur the overhead of creating and committing a migration (required for adding a field to a config model), and also handles gradual, percentage-based rollouts.
ECOM-4422
Use this middleware and its helpers to accumulate custom New Relic
metrics on a per-request basis. If, while handling a request, the app
does not accumulate any metrics, this middleware is a very lightweight
no-op.
This commit also enables the middleware!
PERF-354