Commit Graph

5176 Commits

Author SHA1 Message Date
Saad Yousaf
fd60d8c8cf fix: revert discussion xblock from MFE view to legacy view. (#30141)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2022-03-30 11:31:45 +05:00
Kyle McCormick
8039e40f47 refactor: move coursegraph to cms
This code was originally located at:
  ./openedx/core/djangoapps/coursegraph

However, code makes more sense within the ./cms tree, because:
* it is responsible for publishing course content to an
  external system, with is within the responsibilities of CMS, and
* is uses modulestore, which is discouraged for use in LMS
  (see 0011-limit-modulestore-use-in-lms.rst).

So, we move the code to:
  ./cms/djangoapps/coursegraph
and uninstall coursegraph from LMS.

We do not expect this refactor to have any breaking downstream effects.
2022-03-29 11:21:20 -04:00
Julia Eskew
edd7e0a77d feat: Combine the two existing log messages for submitting courses to Neo4j for
viewing in coursegraph for two reasons. First, the existing log message was misleading
as it implied that a course was being submitted to Neo4j even when it was being
skipped due to not changing since last being sent to Neo4j. Second, the new log
message was not distinctive enough for separate searching in Splunk - it will
now be distinctive enough for that search.
2022-03-28 13:27:40 -04:00
Awais Qureshi
bc45f1ee48 fix: Removed usage of djangoratelimitbackend. (#30116)
* fix: Removed usage of djangoratelimitbackend.
2022-03-25 15:27:39 +05:00
Shafqat Farhan
935c01c9ee Merge pull request #30122 from openedx/shafqat/VAN-669
feat: VAN-669 - Disallow bad passwords on Registration
2022-03-25 15:18:36 +05:00
Shafqat Farhan
df22dfbe0d feat: VAN-669 - Disallow bad passwords on Registration 2022-03-25 15:00:07 +05:00
Matjaz Gregoric
8633249853 Merge pull request #28268 from open-craft/agrendalath/bb-4503_library_content_block_completion
feat: allow marking Library Content Block as complete on view [BB-4503]
2022-03-25 08:27:13 +01:00
Usama Sadiq
1cebd3ed7b Remove django-ratelimit-backend (#30054)
* fix: remove the usage of django-ratelimit-backend

Co-authored-by: Awais Qureshi <awais.qureshi@arbisoft.com>
2022-03-24 17:21:56 +05:00
Agrendalath
d05e5c639f feat: allow marking Library Content Block as complete on view
edx/edx-platform#24365 has changed the completion mode of these blocks.
Before Koa, it was sufficient to view the block to get a completion checkmark.
Since Koa, all children of the block must be completed.

This adds a toggle to change the completion behavior back to the previous one
so that the user experience can be consistent if needed.
2022-03-22 19:09:50 +01:00
Tim McCormack
813b403575 fix: Use more accurate attr name for IP chain size (#30106)
XFF is just part of the chain; record the length of the whole chain instead
(which is always one larger).

Also include junk in one of the test values for realism.
2022-03-22 15:33:35 +00:00
Julia Eskew
9b59b5e92a feat: Add detailed logging messages about each course updated in Neo4j (coursegraph).
TNL owns coursegraph and we've seen 7000+ courses be submitted for update weekly.
While log message exist for each course not submitted, no log message currently exists
for each submitted course. This commit adds logs for those submitted courses as well.
2022-03-22 10:20:59 -04:00
Chris Deery
e8462bb667 feat: [AA-1207] remove redundant Tabs fields from courseware API (#30079)
feat: [AA-1207] remove redundant Tabs fields from courseware API

Remove redundant fields from courseware API.

- number
- verified_mode
- original_User_is_staff
- is_staff

This is the backend work for https://github.com/openedx/frontend-app-learning/pull/873
2022-03-18 12:09:52 -04:00
Tim McCormack
c3bc68abc1 feat: Add monitoring for X-Forwarded-For header length (#30090) 2022-03-18 15:31:27 +00:00
Robert Raposa
c51a0c3e22 Merge pull request #30081 from openedx/robrap/ARCHBOM-2054-move-cookie-monitoring-middleware
refactor: CookieMonitoringMiddleware moved to edx-django-utils
2022-03-18 09:07:50 -04:00
Robert Raposa
776c3ab9c0 docs: warn about test order issue
Some registration tests can fail if run in a
particular order. This PR just adds a warning
so engineers don't mistakenly think they caused
an issue.

Also see VAN-900 for more details on how to
reproduce.
2022-03-17 16:59:00 -04:00
Robert Raposa
9fa79809d8 refactor: CookieMonitoringMiddleware moved to edx-django-utils
The CookieMonitoringMiddleware and its related script
moved to edx-django-utils.

ARCHBOM-2054
2022-03-17 16:59:00 -04:00
Ahtisham Shahid
7e90306ffe Ahtisham/fixed urls course live (#30083)
* fix: removed traling / to avoid confusion
2022-03-17 14:06:51 +05:00
Ahtisham Shahid
5adceaa547 refactor: resolved doc issues and expected response (#30076)
* refactor: resolved doc issues and expected response
2022-03-17 12:11:03 +05:00
Felipe Trzaskowski
6bfb741c4a feat: add edit_reason_code and close_reason_code (#29609)
Add `edit_reason_code` field to both `Comments` and `Threads`, making it
editable for anyone who can also edit `raw_body`.

Add `close_reason_code` field to `Threads`, and make it editable by
anyone who can also edit `closed`.
2022-03-16 17:02:47 +05:00
Ahtisham Shahid
97edc47129 feat: added live lti course tab (#30035)
* feat: added live lti course tab

* fix: resolved test errors

* feat: Moved live tab behind the waffle flag
2022-03-16 11:46:49 +05:00
Robert Raposa
23a5f9500e fix: process cookie headers at request time (#30068)
Processing cookies at response time included cookies
that were temporary, like the JWT cookie that is
created by the server by combining the JWT header-payload
and JWT signature cookies. Since we are trying to monitor
the cookie header, we do not want to process this cookie.

However, since we want to include the user id in the logging
message, we delay the logging until response time.

Also, fixed docstring which mislabeled a custom attribute.

ARCHBOM-2055
2022-03-15 15:45:21 -04:00
Kaustav Banerjee
c48c655998 refactor: deprecates replace url related properties from ModuleSystem
Deprecates the following attributes from ModuleSystem:
 * replace_urls
 * replace_course_urls
 * replace_jump_to_id_urls

A new ReplaceURLService is created as replacement with a unified replace_urls method
2022-03-14 09:35:41 -04:00
Dillon Dumesnil
d43ece5dba feat: AA-1205: Add Learning MFE support for Entrance Exams
* Adds entrance exam information to the Course Overview object
    * Enables hiding other tabs since the get_course_tab_list uses
      a Course Overview
    * Enables using the entrance exam helper functions to determine
      if Entrance exams are being used in this course.
* Posts a message when Entrance Exam is passed to parent container for
usage in the Learning MFE
* Overrides the 'title' field of the courseware tab since the Learning MFE
uses that over the 'name' field.
2022-03-14 09:04:45 -04:00
Arslan
43d215f365 fix: return past date if there is no course 2022-03-14 17:11:35 +05:00
Arslan
185c73bd7d fix: update test function name 2022-03-14 17:11:35 +05:00
Arslan
6be024db3f fix: catch and log the CourseOverview.DoesNotExist instead of raising 2022-03-14 17:11:35 +05:00
Arslan
2bc6a8ac0a fix: Use PipelineManifestStorage instead of PipelineCachedStorage 2022-03-14 12:57:23 +05:00
Usama Sadiq
65fe15f623 build: update mongo version in runner image (#30041)
* build: update mongo version in runner image
2022-03-14 10:20:38 +05:00
Robert Raposa
78ba9f09a1 feat: add corrupt cookie header monitoring (#30039)
In case of unusual cookie headers containing "Cookie ",
add custom attributes for monitoring:
- cookies.header.corrupt_count
- cookies.header.corrupt_key_count

See annotation documentation for more details.

Separately, updated to skip cookie log sampling for
0 size cookie header.

ARCHBOM-2055
2022-03-11 14:36:26 -05:00
Dillon Dumesnil
61b93d953d feat: Add backfill course tabs management command
Previously, course tabs would only be created once and never try to
update the default tabs again. This leads to an issue if you ever want
to add a new tab. With this command, you can now update the default tabs
for all existing courses and new courses will pick it up upon creation
when CourseTabList.initialize_default is called.
2022-03-11 11:16:18 -05:00
Chris Deery
50f348b395 feat: [AA-1207] remove redundant Tabs fields from courseware API (#30023)
* feat: [AA-1207] remove redundant Tabs fields from courseware API

All the tab information now goes through the course home metadata tab fields. This field is redundant.
2022-03-11 09:36:28 -05:00
Ali Akbar
c4b788baf2 Merge pull request #30028 from openedx/aakbar/PROD-2521-retired-email-msg
feat: add retired email msg
2022-03-11 11:05:45 +05:00
AliAkbar
06365735d4 feat: add retired email msg 2022-03-10 22:46:44 +05:00
Robert Raposa
3065048ba6 Merge pull request #30027 from openedx/robrap/ARCHBOM-2055-update-cookie-logging
feat: enhance cookie monitoring and logging
2022-03-10 09:28:45 -05:00
Ahtisham Shahid
f9869c3378 feat: Added Api to create/retrieve course live configurations (#30012) 2022-03-10 13:03:58 +05:00
Robert Raposa
29e50710dc feat: enhance cookie monitoring and logging
Contains a number of cookie monitoring changes.

Enhancements:
- Add sampling capability for cookie logging on headers
 smaller than the threshold. For details, see
 COOKIE_SAMPLING_REQUEST_COUNT.
- Add cookie header size to log message.
- Sort logged cookies starting with largest cookie.
- Move logging from Middleware request processing
 to response processing to ensure the user id is
 available for logging for authenticated calls.
- Added cookies.header.size.computed to check
 if there are any large hidden duplicate cookies.
 Can be compared against the cookies.header.size
 custom attribute.
- Add delimiters into logs to make it simpler to parse
 when the logging tools accidentally exports multiple
 log lines together.

Removed:
- Legacy cookie capture code. This code was dangerous to
  to enable and provided more limited insight than the
  newer logging, so this was removed to simplify the code.

Other refactors:
- Switched Middleware to use new Django format, rather
 than the Mixin.
- Moved tests to its own test class. Note: this
 middleware is likely to move to a separate
 library.

ARCHBOM-2055
2022-03-09 20:39:27 -05:00
Robert Raposa
8b775961a6 fix: rename table_blacklist to table_ignorelist 2022-03-09 16:43:47 -05:00
Braden MacDonald
dcb7ef8821 feat: Read course indexes from MySQL, not MongoDB (#29184)
Description
This is a follow up to #29058 and #29413. This is the next step in moving part of the modulestore data (the course indexes / "active versions" table) from MongoDB to MySQL.

There are four steps planned in moving course index data to MySQL:

Step 1: create the tables in MySQL, start writing to MySQL + MongoDB  done
Step 2: migrate all remaining courses to MySQL  done
Step 3: switch reads from MongoDB to MySQL (this PR)
Step 4 (much later, once we know this is working well): stop writing to MongoDB altogether.
Supporting information
OpenCraft Jira ticket: MNG-2557

Status
 Tested with a large Open edX instance is in progress.

Testing instructions
Try making changes in Studio and verify that they work fine.

Deadline
None
2022-03-09 10:21:09 -05:00
AsadAzam
835285d494 feat: added readme and adr (#30030)
* feat: added readme and adr

* refactor: fixed typos
2022-03-09 20:09:21 +05:00
aliadnan
b1b5281f2b feat: remove check for password reset API if request is comming from support tools 2022-03-08 16:55:35 +05:00
Juan David Buitrago
860dfde5b2 refactor: modified the imports to use openedx-events library (#29930)
* refactor: modified the imports to use openedx-events library

* chore: upgrade openedx-events to latest version

* fix: ran isort to avoid style errors

Co-authored-by: Maria Grimaldi <maria.grimaldi@edunext.co>
2022-03-07 19:42:13 +05:00
Mohammad Ahtasham ul Hassan
68e0885ca8 fix: fixed django4 warnings (#29644) 2022-03-07 15:50:17 +05:00
AsadAzam
533b971d83 feat: added live course app plugin (#29998) 2022-03-07 12:15:45 +05:00
Kshitij Sobti
4431aaa012 docs: ADR for adding context to discussion topic links (#29928)
Discussion topic links don't contain enough useful information if the unit they
are linked to is deleted. This ADR proposes storing more information for each
discussion topic to overcome this limitation.
2022-03-07 11:16:15 +05:00
Chris Deery
b61b29196b feat: [AA-1206] remove redundant fields from API (#29920)
* feat: [AA-1206] remove redundant fields from API

Part of a larger effort to clean up the MFE BFF endpoints.
Remove the redundant fields username and course_access, both of which are also available in the course home metadata call.
2022-03-04 09:01:02 -05:00
muhammad-ammar
c35025fd9d feat: api to fetch all programs where an enterprise learner is enrolled 2022-03-04 17:42:30 +05:00
Sameen Fatima
0d9e845f1b feat: Created an API to fetch progress details about a learner's program (#29975) 2022-03-04 16:11:28 +05:00
Mohammad Ahtasham ul Hassan
a838ab4b01 fix: fixed django4 warnings (#29643) 2022-03-04 15:03:02 +05:00
Simon Chen
0b158a8a42 feat: provide new verification details endpoint for support-tools (#30004)
Co-authored-by: Simon Chen <schen@edX-C02FW0GUML85.local>
2022-03-03 10:33:14 -05:00
Bianca Severino
b50de1d6e5 Merge pull request #29993 from openedx/bseverino/confirm-name-change
[MST-1362] Add REST endpoint to confirm name changes
2022-03-02 09:49:51 -05:00