Commit Graph

4460 Commits

Author SHA1 Message Date
David Ormsbee
ad2192e7fe Merge pull request #23392 from open-craft/blockstore-runtime-bug-fix
Fix Blockstore XBlock Runtime's handling of occasional S3 errors (take 2)
2020-03-23 09:59:54 -04:00
Michael Terry
7fb18c4ec9 Adjust question count logic on outline
The question counts showed in course outlines assumed that no
blocks would both be a graded assignment and have children. That's
generally true, but this commit avoids that assumption.
2020-03-19 10:20:30 -04:00
Michael Terry
fcd95e2eaa Merge pull request #23432 from edx/mikix/ics-fixes
Minor fixes to ics for events
2020-03-19 10:06:01 -04:00
Dillon Dumesnil
78baddb60f Merge pull request #23445 from edx/ddumesnil/date-comment
Adding comment about div that can't be removed.
2020-03-18 13:11:11 -07:00
Dillon Dumesnil
b9e6fdfdef Adding comment about div that can't be removed.
Also fixing Meta class being defined twice in one model
2020-03-18 11:45:19 -07:00
Matt Tuchfarber
f596a27064 Fix rst formatting for plugin view context ADR 2020-03-18 14:02:05 -04:00
Matt Tuchfarber
2559c42836 Merge pull request #23330 from edx/tuchfarber/add_dashboard_context
Allow plugins to update contexts in specific views
2020-03-18 10:29:56 -04:00
Awais Jibran
1296b6a79d Merge pull request #23427 from edx/logs-cleanup
Remove/Limit log.info
2020-03-18 12:08:23 +05:00
Matt Tuchfarber
0a8b06a122 Lints and final tweaks 2020-03-17 22:19:22 -04:00
Cory Lee
d0c3f16c2c DENG-17 Make schedules and schedulehistory the same (#23419) 2020-03-17 14:40:04 -04:00
Michael Terry
23544ccc2a Minor fixes to ics for events
Updates to the description field in the ics file we generate for
scheduled events.
2020-03-17 14:01:31 -04:00
Michael Terry
a199c6bfd9 Show number of problems in outline
Specifically, the number of 'problem' blocks that are graded, in
a given subsection. Also shows an icon next to the subsection if so.

AA-45
2020-03-17 12:44:11 -04:00
Awais Jibran
e3069877af 383k instance / 7 days. 2020-03-17 16:59:19 +05:00
Matt Tuchfarber
8a48218628 Typos, constant names, add context nesting. 2020-03-16 17:39:24 -04:00
Matthew Piatetsky
85f3592b89 Merge pull request #23420 from edx/REV-1119
[REV-1119] Enable first purchase discount for all eligible users
2020-03-16 17:16:24 -04:00
Jeff LaJoie
278e698abe Merge pull request #23343 from edx/jlajoie/AA-51
AA-51: Adds in 'Up next' banner to course home
2020-03-16 16:32:20 -04:00
Jeff LaJoie
11a9a4e471 AA-51: Adds in 'Up next' banner to course home 2020-03-16 15:50:19 -04:00
Matthew Piatetsky
be0f5b70e9 Remove holdback check to give first purchase discount to all eligible users
Not fully cleaning up the holdback code yet since the follow on first purchase discount tests may make use of it
REV-1119
2020-03-16 15:28:45 -04:00
David Ormsbee
e9dbed948b Merge pull request #21365 from open-craft/agrendalath/one-letter-extra-fields
Allow one letter extra fields
2020-03-16 14:29:10 -04:00
Michael Terry
d7381708de Merge pull request #23404 from edx/mikix/icalendar
Add func to generate ics for schedule
2020-03-16 11:31:32 -04:00
Cory Lee
43b3a2004c Readd historical schedule fks (#23414)
* Readd historical schedule fks
2020-03-16 11:22:17 -04:00
Michael Terry
4c241e57fe Add func to generate ics for schedule
This is an unused-as-of-yet utility function to generate a bunch
of ics files for a user's course schedule. Will be used as part
of the calendar_sync feature package.

AA-37
2020-03-16 10:51:51 -04:00
Awais Qureshi
0f002bafb8 BOM-1399
checking django-wiki and fixing deprecation warnings.
2020-03-16 14:37:18 +05:00
Hammad Ahmad Waqas
f692739da3 Merge pull request #23191 from edx/hammad/ENT-2580
ENT-2580 | added management command to push old enrollments to ecommerce
2020-03-16 12:55:38 +05:00
Braden MacDonald
4bb5cb52a6 Improve caching of blockstore data
This includes an optimization to the get_bundle_version_files_cached method, which is used very often when loading blockstore data; it was previously being cached only in a process-local cache (lru_cache). My hunch is that in production, with many appservers and LMS workers and frequent deployments and a large number of bundles, the process-local cache is not being hit very often.

I also increased the MAX_BLOCKSTORE_CACHE_DELAY from 60s to 300s; this reduces the frequency with which we check if either (A) an external system modified the blockstore bundle and/or (B) we have a cache invalidation bug somewhere. I am increasing it because that check is more expensive than I thought (calling blockstore API to ascertain latest version of a particular bundle), and I haven't seen any cache invalidation errors that this would help to work around. (Plus, increasing this will make such bugs more obvious.)
2020-03-13 14:25:21 -07:00
Matt Tuchfarber
fc3bc032b9 Update with suggestions:
- Add ADR describing Plugin Contexts
- Remove app-specific constants from framework-level code
- Add dashboard constants to student app with README
2020-03-13 15:14:37 -04:00
Simon Chen
a47f4d7570 Fix flaky test in Catalog Integration Configuration Model 2020-03-13 11:28:03 -04:00
Michael Terry
2d845385e9 Merge pull request #23399 from edx/mikix/update-subquery
Avoid subquery on table being updated
2020-03-13 11:21:07 -04:00
Michael Terry
3775fb1d9e Avoid subquery on table being updated
MySQL doesn't like you subquerying on the same table you are trying
to update in one query.

https://dev.mysql.com/doc/refman/8.0/en/subquery-restrictions.html

PROD-1366
2020-03-13 10:53:23 -04:00
Albert (AJ) St. Aubin
a5ec801a2a Add an Admin page view to add External IDs for Users in bulk
[MICROBA-152]
2020-03-13 10:20:24 -04:00
Cory Lee
22bd5cccae Dropping start from historicalschedule (#23390) 2020-03-13 09:53:43 -04:00
Nick
18e3c2fd52 Merge pull request #23373 from edx/AA-59-reset-dates-banner-on-courseware
AA-59 show reset dates banner on courseware page
2020-03-13 08:14:00 -04:00
Nicholas D'Alfonso
3cee26feb4 AA-59 show reset dates banner on courseware page
- Also, only show banner if the course end_date has not already
  pass AND if the user is verified within the course.
2020-03-12 19:52:54 -04:00
Braden MacDonald
a8d5749b6b Fix: transient S3 errors were not being reported properly
Also improve usefulness of some blockstore runtime logs for debugging

Context:

Sometimes when trying to load an XBlock's XML file from Amazon S3, AWS will return a 4xx or 5xx response along with error XML like:

    <Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>foo/bar</Key>...</Error>

A bug in the get_bundle_file_data_with_cache method would cause this XML to be returned to the runtime anyways, as if it were the expected OLX. This would then (obviously) lead to strange parsing bugs, e.g. when trying to interpret <Code> as an <xblock-include>.

This fixes the bug and improves the logging, both to make this sort of issue easier to debug in the future and to return whatever detailed error code S3 provides (or Blockstore, if S3 is not being used).
2020-03-12 16:29:43 -07:00
Abdul Hannan
fa6633ba4e DO NOT MERGE - NEED FAKE - Rename start in schedule 5/5 (#22392)
* Remove start field in Schedules

Co-authored-by: hunytalk <ahannan@edx.org>
Co-authored-by: Cory Lee <cory@edx.org>
2020-03-12 15:40:19 -04:00
David Ormsbee
09c5432415 Revert "Fix Blockstore XBlock Runtime's handling of occasional S3 errors" 2020-03-12 15:09:23 -04:00
Dillon Dumesnil
c3493d5138 Merge pull request #23356 from edx/ddumesnil/AA-58
AA-58: Add date-summary-container html back in
2020-03-12 10:51:04 -04:00
David Ormsbee
22af9ff545 Merge pull request #23241 from open-craft/blockstore-runtime-bug-fix
Fix Blockstore XBlock Runtime's handling of occasional S3 errors
2020-03-12 09:17:09 -04:00
Awais Jibran
ebd6494af2 Merge pull request #23380 from edx/logs-cleanup
Remove unnecessary logs.
2020-03-12 16:38:54 +05:00
Awais Jibran
6a25ca800b ~200k instances in last 7 days. 2020-03-12 14:22:52 +05:00
Zainab Amir
ed25521f61 Enable testing pipeline for video uploads to s3 (#23375)
Add integration settings to enable upload of videos from from studio.
Settings enable user to connect to s3 bucket using mfa and assume role
functionality.

PROD-1214
2020-03-12 12:19:52 +05:00
Matt Tuchfarber
bd9dbdf7de Syntax fix 2020-03-11 15:17:59 -04:00
Braden MacDonald
8b9594e7dd Improve caching of blockstore data
This includes an optimization to the get_bundle_version_files_cached method, which is used very often when loading blockstore data; it was previously being cached only in a process-local cache (lru_cache). My hunch is that in production, with many appservers and LMS workers and frequent deployments and a large number of bundles, the process-local cache is not being hit very often.

I also increased the MAX_BLOCKSTORE_CACHE_DELAY from 60s to 300s; this reduces the frequency with which we check if either (A) an external system modified the blockstore bundle and/or (B) we have a cache invalidation bug somewhere. I am increasing it because that check is more expensive than I thought (calling blockstore API to ascertain latest version of a particular bundle), and I haven't seen any cache invalidation errors that this would help to work around. (Plus, increasing this will make such bugs more obvious.)
2020-03-11 11:15:59 -07:00
Braden MacDonald
4ddb02eff8 Fix: transient S3 errors were not being reported properly
Also improve usefulness of some blockstore runtime logs for debugging

Context:

Sometimes when trying to load an XBlock's XML file from Amazon S3, AWS will return a 4xx or 5xx response along with error XML like:

    <Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>foo/bar</Key>...</Error>

A bug in the get_bundle_file_data_with_cache method would cause this XML to be returned to the runtime anyways, as if it were the expected OLX. This would then (obviously) lead to strange parsing bugs, e.g. when trying to interpret <Code> as an <xblock-include>.

This fixes the bug and improves the logging, both to make this sort of issue easier to debug in the future and to return whatever detailed error code S3 provides (or Blockstore, if S3 is not being used).
2020-03-11 11:15:59 -07:00
Michael Terry
f56a01adbe Reset schedule when mode changes
This way if an audit user upgrades a self paced course to verified,
their schedule will reset to the current time.

AA-60
2020-03-11 11:53:49 -04:00
Dillon Dumesnil
9586a2e3e8 AA-58: Add date-summary-container html back in 2020-03-11 09:24:09 -04:00
Calen Pennington
1ce39a85a4 Merge pull request #23364 from cpennington/reset-schedule-masq
Respect masquerade status when resetting student schedules
2020-03-11 08:54:51 -04:00
usamasadiq
84744fdf88 BOM-1277 Removed constraint on requests-oauthlib and updated oauthlib 2020-03-11 11:15:24 +05:00
Dillon Dumesnil
f395e5f5cf Merge pull request #23284 from edx/ddumesnil/calendar-sync-button-AA-36
AA-36: Link to toggle calendar sync
2020-03-10 15:37:01 -04:00
Calen Pennington
5235fa7bab Respect masquerade status when resetting student schedules 2020-03-10 15:10:01 -04:00