Commit Graph

60271 Commits

Author SHA1 Message Date
AsadAzam
2b14c3157b Revert "Revert "feat: Add support for returning thread counts for all topics in a course [BD-38] [TNL-8724] [BB-4927] (#29062)" (#29087)" (#29152)
This reverts commit ed74db1daf.
2021-10-29 16:20:48 +05:00
Simon Chen
6870898f68 fix: upgrade edx-proctoring library to 4.3.1 (#29157)
This would set the ProctoredExamSoftwareSecureReview.video_url field to be nullable

Co-authored-by: Simon Chen <schen@dhcp-10-31-74-156.dyn.MIT.EDU>
2021-10-28 16:43:42 -04:00
Simon Chen
22a7ab2705 fix: upgrade the edx-proctoring library version (#29154)
With this new version, the edx-proctoring library is running on Django3.2 instead of Django2.2

Co-authored-by: Simon Chen <schen@dhcp-10-31-74-156.dyn.mit.edu>
2021-10-28 11:54:33 -04:00
Robert Raposa
91ac846e71 fix: safe session code cleanup (#29139)
1. Minor code change to get user_id more consistently.
2. Remove outdated comments.
2021-10-28 10:06:50 -04:00
Robert Raposa
b82144bb83 feat!: remove misleading JWT monitoring (#29142)
BREAKING CHANGE: Removed unused and misleading custom attributes
  used for monitoring:
* `jwt_expires_in`: Removed because it is constant for all requests
  and just repeating the setting value. It was also misleading.
* `jwt_is_asymmetric`: Removed because multiple JWTs might be created,
  and only the last would be reported, which is misleading. This was
  meant to help with a future project to get everyone on to asymmetric
  JWTs, but can be added when needed, and probably should ONLY monitor
  deprecated (symmetric) usage that needs to be fixed. That can be left
  for another day.
2021-10-28 10:06:13 -04:00
Robert Raposa
b6a943c392 fix: errors with anonymous user (#29042)
There are several errors that appear in monitoring when calls
are made with an anonymous user. This resolves one (or more).
2021-10-28 10:05:48 -04:00
Rebecca Graber
af7fb754ab chore: upgrade event-tracking (#29141) 2021-10-28 09:55:09 -04:00
Uzair Rasheed
1ac850f501 Merge pull request #29103 from edx/yob-coppa-compliance
make year of birth compliant with coppa
2021-10-28 18:18:54 +05:00
Rebecca Graber
9c0fd6296b chore: add oauth2_provider ownership (#29128) 2021-10-28 08:23:14 -04:00
Awais Qureshi
d061f64b27 test: Tests were failing due to different sorting order. (#29151) 2021-10-28 17:16:37 +05:00
uzairr
a7d89aae06 feat: make year of birth compliant with coppa
Adds a check to make the UX in compliant with Coppa suggestions.
After this change only users older than 13 years are able to
cascade between their limited and full profile.

Fixes: VAN-753
2021-10-28 16:55:27 +05:00
M. Zulqarnain
834dabb399 feat: New codemods on OpenedX 2 (#28777) 2021-10-28 16:45:53 +05:00
Adeel Ehsan
2aa220094c feat: Remove el option from education levels (#29150)
If COPPA flag is set to true then remove el options from education levels

VAN-760
2021-10-28 15:50:47 +05:00
Awais Jibran
5f97bc60cf test: adds discussion API permissions test cases (#29135) 2021-10-28 14:54:32 +05:00
Waheed Ahmed
d5ab616ca8 feat: COPPA - remove primary/elementary option from education (#29147)
Remove `primary/elementary` option from education field if COPPA compliance
feature flag is enabled. Also, renamed the flag.

VAN-762
2021-10-28 14:12:53 +05:00
Kshitij Sobti
79cd0b1ef8 feat: Adds discussions settings for new discusions experience [BD-38] [TNL-8621] [BB-4854] (#29131)
* feat: Adds discussions settings for new discusions experience
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.

* fix: tests
2021-10-28 11:56:17 +05:00
kenclary
13818b9630 Merge pull request #29138 from edx/coursegraph-fix-neo4j-dump
fix: default for CertificatesDisplayBehaviors is enum string value, not enum.
2021-10-27 17:31:22 -04:00
edX Transifex Bot
c13cf4cca1 geoip2: update maxmind geolite country database 2021-10-28 02:03:37 +05:00
Jansen Kantor
2cce4f2c1e chore: bump ora version (#29120)
Bump ORA to 3.7.4. This version introduces custom window.confirm-esque prompts, because Chrome and Safari have begun to disallow window.confirm from within cross-origin iframes.
2021-10-27 16:36:21 -04:00
Ken Clary
bfd09236a2 fix: default for CertificatesDisplayBehaviors is enum string value, not enum.
This should correct a large number of errors encountered when trying
to dump courses to neo4j.

TNL-8386
2021-10-27 14:59:36 -04:00
connorhaugh
b01e773d2b feat: cache course index queries (#29107)
* feat: store split modulestore's course indexes in Django/MySQL

Course outline generation is calling active_versions hundreds or even thousands of times on course_publish. In practice, the handling of a block requires a fetch of the course index. That requires a call to the active_versions table for each touching of a block. In larger courses, that can mean 1000s of calls to the db to retrieve them. A quick solution to this problem is to use a request cache, so we don't have to query the slow db every time and memoize the relevant data
[An example run can be seen here.](https://one.newrelic.com/launcher/nr1-core.explorer?platform[filters]=IihuYW1lIGxpa2UgJ3Byb2QtZWR4LWVkeGFwcCcgb3IgaWQgPSAncHJvZC1lZHgtZWR4YXBwJyBvciBkb21haW5JZCA9ICdwcm9kLWVkeC1lZHhhcHAnKSBhbmQgKG5hbWUgbGlrZSAnbG1zJyBvciBpZCA9ICdsbXMnIG9yIGRvbWFpbklkID0gJ2xtcycpIg==&platform[accountId]=88178&platform[timeRange][begin_time]=1626715880701&platform[timeRange][end_time]=1627320680701&pane=eyJuZXJkbGV0SWQiOiJhcG0tbmVyZGxldHMudHJhbnNhY3Rpb25zIiwiZW50aXR5R3VpZCI6Ik9EZ3hOemg4UVZCTmZFRlFVRXhKUTBGVVNVOU9mRFk1TVRNM05EUTROQSIsInNlbGVjdGVkU2VyaWVzIjoiZjAzYjNmNzY5OTQ0MjlmOTFhYWQ4MDBkNTEwZTU5MDM5OWNjMzNhMSIsImRyaWxsZG93biI6eyJ0cmFuc2FjdGlvbk5hbWUiOiJPdGhlclRyYW5zYWN0aW9uL0NlbGVyeS9jbXMuZGphbmdvYXBwcy5jb250ZW50c3RvcmUudGFza3MudXBkYXRlX291dGxpbmVfZnJvbV9tb2R1bGVzdG9yZV90YXNrIn19&cards[0]=eyJuZXJkbGV0SWQiOiJhcG0tbmVyZGxldHMudHJhbnNhY3Rpb24tdHJhY2UiLCJ0cmFjZUlkIjoiY2I2OGNkMDktZWI5Yi0xMWViLWJkY2QtMDI0MmFjMTEwMDBlXzI1MjU0MV8zMTgzMTMiLCJlbnRpdHlHdWlkIjoiT0RneE56aDhRVkJOZkVGUVVFeEpRMEZVU1U5T2ZEWTVNVE0zTkRRNE5BIn0=&sidebars[0]=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5hY3Rpb25zIiwic2VsZWN0ZWROZXJkbGV0Ijp7Im5lcmRsZXRJZCI6ImFwbS1uZXJkbGV0cy50cmFuc2FjdGlvbnMifSwiZW50aXR5R3VpZCI6Ik9EZ3hOemg4UVZCTmZFRlFVRXhKUTBGVVNVOU9mRFk1TVRNM05EUTROQSJ9&state=d9946155-ea53-cb11-c1c0-cc873d6c7d39)

Useful information to include:
In theory, this should provide a minor performance boost to authors and learners, and be noticeable in the above function trace, once live on prod. Note, that in several places the cache must be invalidated, as to prevent a stale cache.


Co-authored-by: Braden MacDonald <braden@opencraft.com>
2021-10-27 13:53:10 -04:00
Matthew Piatetsky
ec7205e679 fix: update goal reminder email urls (#29133) 2021-10-27 13:49:28 -04:00
Agrendalath
e633cc9c24 feat: support adding custom editors to Studio
This:
1. Introduces a variable for the Course Outline view in Studio.
   A custom theme can override it to add new editors.
2. Exports a function for creating new editor modals.
   A custom theme can use it to create editors without adding boilerplate code.
3. Adds a pluggable override for XBlock fields that are passed to the Studio.
   Without this, custom editors in Studio cannot retrieve values of XBlock fields.
2021-10-27 13:35:19 -04:00
Manjinder Singh
bd7653aefc feat: removing toggle (#29132)
The toggle was meant to be temporary and its been off for week and
nothing seems to have gone wrong.
2021-10-27 13:31:25 -04:00
Dillon Dumesnil
f5b284ce46 Merge pull request #29105 from edx/ddumesnil/reset-completion-exam-aa-1063
fix: AA-1063: Reset Completion data for problems on exam reset
2021-10-27 09:58:48 -07:00
Awais Jibran
cfd78455df fix: update discussion API permissions (#29127) 2021-10-27 21:05:34 +05:00
Mubbshar Anwar
905c0a1eb9 fix: cta pop up (#29125)
do not show cta pop up when opt in checkbox show on register page.

VAN-740
2021-10-27 20:34:45 +05:00
David Ormsbee
5d0132305d Revert "feat: Adds discussions settings for new discusions experience (#28749)"
This reverts commit bb0c03123c.
2021-10-27 10:40:12 -04:00
Zachary Hancock
249f4e6fbf feat: batch verifications when creating in bulk (#29119)
batch verifications when creating in bulk
2021-10-27 10:12:02 -04:00
Dillon Dumesnil
05afe78552 fix: AA-1063: Reset Completion data for problems on exam reset
We encountered a bug where learners were sometimes not having their
completion information reset when their exam is reset. It was unclear
what was actually causing the completion to not be reset (it usually
is via a signal listener), but the effect was learners being unable to
reset their due dates in order to attempt the exam again since the exam
believed it was still complete.

This PR will likely be duplicating calls to the Completion API, but we
believe that is worthwhile to ensure successful completion state reset.
2021-10-27 09:42:52 -04:00
Andrew Shultz
09778cf9f9 Merge pull request #29118 from edx/ashultz0/regenerate-noidv-certs
provide a management command to regenerate unverified certs when honor code is turned on, per course
2021-10-27 09:14:18 -04:00
Kshitij Sobti
bb0c03123c feat: Adds discussions settings for new discusions experience (#28749)
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.
2021-10-27 15:41:27 +05:00
ayub02
9ac8e59c26 [ERTE-22-2] docs: created ADR for course completion events (#28424)
* docs: created ADR for course completion events

Co-authored-by: Aamir Ayub <aamirayub@Arbisofts-MacBook-Pro.local>
2021-10-27 14:56:26 +05:00
M. Zulqarnain
39b91154fb feat: New codemods on OpenedX 1 (#28776) 2021-10-27 13:07:36 +05:00
Andy Shultz
5ec9fca8d4 feat: provide command to regenerate certs for honor code courses
Only courses which actually have honor code on and only unverified
certs will be regenerated. All other certs wouldn't change so
don't cause trouble.

MST-855
2021-10-26 14:36:28 -04:00
Andy Shultz
1be408046b feat: explain certificate delay seconds and make it overrideable
this appears to be a throttling method on first glance but is instead
an async task handling hack, explain it

and then provide a way to override it for tight control of timing
while regenerating multiple certs
2021-10-26 14:32:33 -04:00
Michael Roytman
41fec1c58e Merge pull request #29115 from edx/mroytman/MST-1130-bump-edx-name-affirmation-version
MST-1130: Add Additional Name Affirmation IDV Signal and Celery Task Logs
2021-10-26 14:08:19 -04:00
Matthew Piatetsky
f7050bfa3b feat: make use of more reasonable timezone when recording user activity (#29075) 2021-10-26 13:42:39 -04:00
João Victor Martins
418fd7f4b1 feat: Add optional cohort and course mode to bulk register
This adds two optional columns to the bulk register/enroll csv: cohort and
course mode. This enables setting the course mode and cohort for a user in the
same process as bulk enrolling/registering.
2021-10-26 19:14:21 +02:00
Braden MacDonald
6c85668099 feat: write split modulestore's course indexes to Django/MySQL
Split modulestore persists data in three MongoDB "collections": course_index (list of courses and the current version of each), structure (outline of the courses, and some XBlock fields), and definition (other XBlock fields). While "structure" and "definition" data can get very large, which is one of the reasons MongoDB was chosen for modulestore, the course index data is very small.

This commit starts writing course indexes (active_versions) to both MySQL and Mongo, but continues to read from MongoDB only.

By moving course index data to MySQL / a django model, we get these advantages:
* Full history of changes to the course index data is now preserved
* Includes a django admin view to inspect the list of courses and libraries
* It's much easier to "reset" a corrupted course to a known working state, by using the simple-history revert tools from the django admin.
* The remaining MongoDB collections (structure and definition) are essentially just used as key-value stores of large JSON data structures. This paves the way for future changes that allow migrating courses one at a time from MongoDB to S3, and thus eliminating any use of MongoDB by split modulestore, simplifying the stack.
2021-10-26 10:06:52 -07:00
michaelroytman
34a386f6a5 fix: Add Additional Name Affirmation IDV Signal and Celery Task Logs
To gain further information about why VerifiedName records are not reliably transitioning from "pending" to "submitted", version 1.0.3 adds additional logs to test that the IDV related signals are being received successfully and successfully triggering the Celery task. This code change installs this new version into the platform.

[MST-1130](https://openedx.atlassian.net/browse/MST-1130)
2021-10-26 12:39:23 -04:00
Simon Chen
817a4d5b1d fix: add logging message to debug the idv celery trigger logic (#29113)
We suspect the IDV code do not trigger name_affirmation update celery task correctly. Add the logging in code so we can trace the order of operation and figure out what is missing

Co-authored-by: Simon Chen <schen@edx-c02fw0guml85.lan>
2021-10-26 11:48:47 -04:00
Awais Jibran
f1957a7cf7 fix: lms discussion tab url should be accurate (#29110)
* fix: lms discussion tab url should be accurate

* refactor: change supports_lti feature

* refactor: rename variable

* refactor: rename feature variable.

* fix: update supports_lti method

* test: fix failing tests.

* test: fix quality test failure

Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2021-10-26 19:57:41 +05:00
alangsto
c7eff160f6 chore: update proctoring version (#29112) 2021-10-26 10:07:57 -04:00
edX requirements bot
6480fe0a58 chore: Updating Python Requirements (#29108) 2021-10-26 17:58:11 +05:00
Kshitij Sobti
d4cd3bd611 fix: enabling the notes tool using the course authoring will now add the notes tab (#29093)
If an existing course doesn't already have the notes tab, enabling notes will not make it show up. This change fixes this by adding the tab in case it isn't already in the course.
2021-10-26 14:57:19 +05:00
Adeel Ehsan
873ca35dd9 Merge pull request #28844 from edx/aehsan/VAN-702/username_suggestions_format_updated
Username suggestion added based on the full name
2021-10-26 12:20:24 +05:00
Max Sokolski
acd83d1c05 fix: use common default for LANGUAGE_COOKIE_NAME (#29096)
Changes:
- use default LANGUAGE_COOKIE_NAME value from common for cases when there is no
`LANGUAGE_COOKIE` and `LANGUAGE_COOKIE_NAME` in ENV_TOKENS
2021-10-25 14:22:00 -04:00
Sarina Canelake
7076abc26d Merge pull request #29104 from edx/sarina/update-ce-ownership
chore: remove CE squad from CODEOWNERS
2021-10-25 13:58:01 -04:00
sarina
0685e77591 chore: remove CE squad from CODEOWNERS
The squad has decided we're not deriving
value from being in this file.
2021-10-25 10:29:25 -04:00