Commit Graph

61157 Commits

Author SHA1 Message Date
Michael Terry
1cbd3e46ce Revert "feat!: remove all access to Old Mongo courses" 2022-04-04 10:19:23 -04:00
Michael Terry
436fc52c52 Merge pull request #29848 from openedx/mikix/remove-old-mongo-access
feat!: remove all access to Old Mongo courses
2022-04-04 09:55:11 -04:00
Chris Pappas
e008357030 feat: add new target for docker-specific deployment of lms (#30168) 2022-04-04 08:53:26 -04:00
Muhammad Adeel Tajamul
38bad82cea Merge pull request #30169 from openedx/tnl-9787
fix: adding empty live configuration
2022-04-04 17:27:11 +05:00
adeel.tajamul
3d24827973 fix: adding empty live configuration 2022-04-04 16:50:24 +05:00
Hammad Ahmad Waqas
c6e7bbcdf4 Merge pull request #30150 from openedx/hammad/ENT-5524
feat: added management command to fire segments events to suggest courses from programs.
2022-04-04 15:52:01 +05:00
Kshitij Sobti
73c7d7166f feat: handle navigation and resize events from discussions MFE (#30164)
The discussions MFE sends resize and navigation events via the postMessage API, we can use these events to resize the iframe and make sure that the iframe loads the correct page on refresh.

Co-authored-by: Hamza Khchine <hamza.Khchine@opencraft.com>

Co-authored-by: Hamza Khchine <hamza.Khchine@opencraft.com>
2022-04-04 14:47:57 +05:00
Ahtisham Shahid
07f6a9fecc feat: added unit tests for course live tab (#30115)
feat: added unit tests for course live tab
2022-04-04 14:47:13 +05:00
HammadAhmadWaqas
172910d257 feat: added management command to fire segments events to suggest courses from programs. 2022-04-04 14:46:42 +05:00
Justin Hynes
e5aa6c365b Merge pull request #30166 from openedx/jhynes/microba-1779_fix-link
fix: remove `noreferrer` tag from link to Comms MFE to fix blank page
2022-04-01 14:28:24 -04:00
Justin Hynes
9f849f6e17 fix: remove noreferrer tag from link to Comms MFE to fix blank page
[MICROBA-1779 & CR-4684]

- remove `noreferrer` tag from link to the Comms MFE to fix content opening in a blank page
2022-04-01 13:37:50 -04:00
Sameen Fatima
6e12f13548 chore: upgrade edx-enterprise 3.41.11 (#30163) 2022-04-01 13:52:54 +05:00
Muhammad Soban Javed
db201db696 Merge pull request #29979 from iamsobanjaved/iamsobanjaved/unit-tests-for-forks
test: run unit-tests on forks
2022-03-31 17:43:39 +05:00
Muhammad Soban Javed
aa742f09fb Merge branch 'master' into iamsobanjaved/unit-tests-for-forks 2022-03-31 15:53:45 +05:00
John Nagro
6352fed661 feat: release edx-enterprise 3.41.10 (#30155)
- feat: management command to backfill missing fks
- https://github.com/openedx/edx-enterprise/pull/1516

ENT-5605
2022-03-30 17:07:25 -04:00
Ghassan Maslamani
e1d9746d61 fix: make bulk_email send email task handles a retryable exception (#29080)
* fix: make bulk_email send email task handles a retryable exception
According to bulk_email and SMTP doc, when an error code is between
(400-499) it can be retried after sometime, this commit adds a new
type of exception called SMTPSenderRefused, so it can be retried
**if** it's code fails under above constraint.

* test: add test to handle SMTPSenderResfused

Co-authored-by: Justin Hynes <jhynes@edx.org>
2022-03-30 14:45:08 -04:00
John Nagro
f2a44ada41 fix: release edx-enterprise 3.41.9 (#30153)
- https://github.com/openedx/edx-enterprise/pull/1513
- https://github.com/openedx/edx-enterprise/pull/1515
2022-03-30 11:56:42 -04:00
Mubbshar Anwar
c88db037fa chore: save for later admin (#30152)
register save_for_later app models in django admin.
VAN-887
2022-03-30 18:28:21 +05:00
Justin Hynes
fdeffb824d Merge pull request #30126 from openedx/jhynes/microba-1508_add-scheduledinstructortask-model
feat: add models for scheduled instructor tasks
2022-03-30 07:36:00 -04:00
Ahtisham Shahid
18e3516b36 feat: Added permissions for course staff to discussion MFE (#30143) 2022-03-30 15:34:09 +05:00
Sameen Fatima
f52c24d445 feat: Add authoring organization logo in API response for all learner enrolled programs (#30139) 2022-03-30 14:09:54 +05:00
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
John Nagro
4a7719e73f fix: release edx-enterprise 3.41.7 (#30145)
- https://github.com/openedx/edx-enterprise/pull/1508

ENT-5595
ENT-5603
ENT-5605
2022-03-29 13:38:43 -04:00
Binod Pant
21d57ed0ab feat: post handler to sync provider_data (#30107)
* feat: post handler to sync provider_data

this allows us to read provider_data metadata from a remote metadata url. reuses code from the task that currently processes all proiderconfigs in a batch

ENT-5482

* feat: lint fixes

* test: add test for sync_provider_data

* test: add case for update

* fix: lint fix

* fix: lint fix

* feat: use exc_info to report error better

* feat: update log message
2022-03-29 13:08:56 -04:00
Kyle McCormick
42fcfc8217 docs: update CourseGraph README, notably w.r.t. new Tutor plugin
Update the README of the CMS's CourseGraph support app:
* Point to the newly-developed CourseGraph plugin for Tutor,
  and remove some prose that's now redundant with the Tutor
  plugin's README.
* Add a link to the now-public CourseGraph Queries wiki page.
* Capitalize the G in CourseGraph.
* Fix a couple misc. formatting things.
2022-03-29 11:21:20 -04:00
Kyle McCormick
d16fe9d427 feat: add admin action for dump to coursegraph
This introduces two admin actions:
* Dump to CourseGraph (respect cache), and
* Dump to CourseGraph (override cache)

which allow admins to select a collection of courses from Django
admin and dump them to the Neo4j instance specified by
settings.COURSEGRAPH_CONNECTION, with or without respecting
the cache (that is: whether the course has already been dumped
since its last publishing).
2022-03-29 11:21:20 -04:00
Kyle McCormick
d75a32c009 refactor: read course publish date from overview, not block structure
The `get_course_last_published` function is used by CourseGraph to
determine whether or not a course should be dumped to Neo4j.
If the course hasn't been published since it was last dumped to
Neo4j, then it can be skipped (unless the override_cache option
is enabled).

The function was previously built using the BlockStructure
data model. While this worked fine in Production instances that
enable `block_structure.storage_backing_for_cache`, this
implementation did NOT work in development environments,
which do not use the BlockStrcture model.

Instead, we switch to using CourseOverview.modified to
approximate when a course was last published. This is method
has fewer moving parts and is universally available across
instances.
2022-03-29 11:21:20 -04:00
Kyle McCormick
696984a2bd feat: dump to cousegraph on course publish signal
Previously, CourseGraph needed to be kept up-to-date by
running `./manage.py dump_to_neo4j ...` manually or on a cron timer.

This introduces a CMS new setting: COURSEGRAPH_DUMP_COURSE_ON_PUBLISH.
When enabled, the CMS course_published signal handler will
asynchronously dump each individual course to CourseGraph when it
is published.

This follows a pattern established by other subsystems like
learning_sequences and special exam registration, both of which
fire off asynchronous post-processing tasks from the course-
publish handler.
2022-03-29 11:21:20 -04:00
Kyle McCormick
1bf8af5f72 feat: specify dump_to_neo4j defaults in COURSEGRAPH_CONNECTION
Introduce a new CMS settings COURSEGRAPH_CONNECTION,
which allows operators to specify default connection paramters
for a Neo4j instance.

This has three purposes:
* The `./manage.py cms dump_to_neo4j` management command will be
  much easier for developers and operators to type out because connection
  arguments can now be omitted. Note that connection arguments, if
  supplied, will override the arguments specified in CMS settings.
* The automatic push-to-coursegraph-on-publish-signal introduced in
  subsequent commits can use these connection settings.
* The CourseGraph Django admin actions introduced in subsequent
  commits can use these connection settings.
2022-03-29 11:21:20 -04:00
Kyle McCormick
c7693cfa20 docs: enrich dump_to_neo4j help text & docstrings
Move most docs out of docstring and into programatically-
displayable argument help text.

Also, the 'Example Usage' was out of date. This commit updates it to:
 * use `./manage.py cms ...' instead of `./manage.py lms ...', and
 * use `--port` instead of `--https_port`.
2022-03-29 11:21:20 -04: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
Kira Miller
f1d930fb35 chore: version bump (#30136) 2022-03-28 18:20:18 -04:00
Jansen Kantor
3c9d44a87e Merge pull request #30134 from openedx/jkantor/ora-406
chore: bump ORA to 4.0.6
2022-03-28 17:21:07 -04:00
Tim McCormack
7c7d7d8b6f feat: Allow REST_FRAMEWORK to be configured by (shallow) merge (#30112)
ARCHBOM-2073
2022-03-28 20:38:34 +00:00
jansenk
103ff55dd1 chore: bump ORA to 4.0.6 2022-03-28 15:54:00 -04:00
Ghassan Maslamani
e27a8ad125 fix: add as style for the link tag that preloads (#30094)
Adding a as `as="style"` for link tag which preloads a CSS resource
That is requried to set otherwise chrome/browser would issue a warning about it. 
Ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preload
2022-03-28 14:57:23 -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
Syed Sajjad Hussain Shah
c5319d6c2b fix: Add course key or program UUID (#30125)
* fix: Add course key or program UUID

Added course key or program uuid for Save For Later
segment event

VAN-905

* fix: fixed failing test

* fix: fixed PEP 8 failure
2022-03-28 12:38:22 +05:00
Justin Hynes
31d3fcc01a feat: add models for scheduled instructor tasks
[MICROBA-1508]
- Adds the InstructorTaskSchedule model
- Adds the HistoricalInstructorTaskSchedule model
- Adds utility function used to create a InstructorTaskSchedule instance
- Adds a public `create_course_email` Python API function to the bulk_email app that can be imported and used in external apps
- Adds a new `test_api_helper.py` test file (with tests for the new `schedule_task` function) to the instructor_task app
- Adds a new `test_api.py` test file (with tests for the new `create_course_email` function to the bulk_email app
2022-03-25 14:34:37 -04:00
Feanil Patel
bea9dc6803 Merge pull request #30119 from openedx/feanil/simplify_docs_build
build: Simplify how we build docs.
2022-03-25 11:18:13 -04:00
Feanil Patel
e35c7e278b build: Simplify how we build docs.
Instead of trying to use the devstack settings file for building docs,
use the common settings file as the base for all settings.  The
devstack settings file builds on top of the production settings file
which are both oriented around reading settings from a yaml file and
getting them loaded in sanely into the dev and production environment.

For documentation, start with the common settings files which should be
sufficient to get a default version of the system up and running.

Note: We still leave the loop that enables all the feature flags as a way
of finding conditionally included API endpoints.
2022-03-25 10:08:21 -04:00
Feanil Patel
b2488d8f6f Merge pull request #30117 from openedx/feanil/update_production_default_values
feat: Update how some settings are read in production.py settings files.
2022-03-25 10:07:10 -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
Awais Jibran
51e0742737 Merge branch 'master' into feanil/update_production_default_values 2022-03-25 13:34:56 +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
Alexander J Sheehan
9ecc5aa4cf Merge pull request #30118 from openedx/asheehan-edx/adding-was-valid-at-to-provider-config
bug: adding was_valid_at to all provider configs
2022-03-24 12:51:51 -04:00
Alexander Sheehan
f4c3471a9b fix: adding was_valid_at to all provider configs 2022-03-24 12:02:14 -04:00
Feanil Patel
7d2a8340c5 feat: Update how some settings are read in production.py settings files.
Most settings in the production.py files fall back to their values in
common.py if they aren't set in the yaml config files but some
historically didn't.  Update them so that they are more in-line with the
rest of the settings in this file.
2022-03-24 09:59:53 -04:00