This completes the work started in https://github.com/edx/edx-platform/pull/19453
to use the LMS login and registration for Studio, rather than Studio
providing its own implementation.
LMS login/registration are being used for the following reasons:
1. LMS logistration properly handles all SSO integrations.
2. A single logistration is simpler to maintain and understand.
3. Allows Studio to work more like all other IDAs that use LMS
logistration.
The original switch to use LMS logistration for Studio also added the
toggle `DISABLE_STUDIO_SSO_OVER_LMS` to provide the community some
additional time for switching. This commit removes this toggle, which
at this point means all deployments will use the LMS logistration.
This change requires sharing cookies across LMS and Studio. Should that
prove to be a problem for certain Open edX instances, there are
discussions of possible alternative solutions.
See https://github.com/edx/edx-platform/pull/19845#issuecomment-559154256
Detailed changes:
* Fix some Studio links that still went to old Studio signin and signup.
* Remove DISABLE_STUDIO_SSO_OVER_LMS feature toggle.
* Remove old studio signin and signup pages and templates.
* Fix url name "login", which had different meanings for Studio and LMS.
* Use the following settings: LOGIN_URL, FRONTEND_LOGIN_URL,
FRONTEND_LOGOUT_URL, and FRONTEND_REGISTER_URL.
* Redirect /signin and /signup to the LMS logistration.
* Add custom metric `uses_pattern_library`.
* Add custom metric `student_activate_account`.
* Add Django Settings to allow /signin, /signup, and /login_post to be
disabled once ready.
This work also relates to ARCH-218 and DEPR-6.
ARCH-1253
It failed and passed on the same commit. The failure was that the page
timed out, so it could be fixed by making that page performant. I'd
rather not increase the timeout for the page to load as the bokchoy
tests are already very slow.
I'm also not sure why this test needs to exist. I would think that this
could be tested on the underlying function without testing at the UI
layer.
Improves navigation within Studio for Learning Sequences, speeding up authors who want to see how a learner progresses through content without needing to jump over to the LMS.
This adds a dropdown section navigator to the breadcrumbs on the unit page and copies the sequence navigator from LMS to the studio unit page.
This is a follow up from MST-16, which was commited
in 3858036a4e.
Changes:
* Enrich course teams_configuration from a plain Dict
to a custom XBlock field that uses the new TeamsConfig
wrapper class.
* Remove teams_conf property from course, as the previous
change made it redundant.
* Update teams_enabled implementation.
* Remove teams_max_size field from course, which is
no longer semantically correct, as max team size
is now defined on a teamset level.
* Remove teams_topics in order to discourage use of raw
teams config dict.
* Add convenience properties teamsets and teamsets_by_id
to course.
* Allow periods and spaces in teamset IDs to avoid breaking
existing course teams.
Some parts of the code still use the old raw config data
(identifiable by searching "cleaned_data_old_format"),
which we expect to be slowly factored away as we build
new teams features. MST-40 has been created to remove any
remaining references if necessary.
MST-18
* fix: bokchoy test
* fix: remove pdb break
changes made to finalize the url sanitization to make url comparison consistent
changes made to avoid running sanitize in python 2
changes made to substitute proper query param in url for comparison
changes made to split and compare the query parameter with expected url
updated the split logic to properly split/slice url parts for comparison
updated the dashboard template to remove encode and avoid bytes encoded embeded url
updated the dashboard template to enclose social media urls with unicode
* fix type mismatch in third_party_auth migrations
* fix type mismatch in verify_student migrations
* fix type mismatch in video_config migrations
* fix type mismatch in verified_track_content migrations
* fix type mismatch in commercemigrations
* fix type mismatch in xblock_config migrations
* fix type mismatch in course_creators migrations
* fix type mismatch in contentstore migrations
changes made to allow non field dictionary comparisons as intended
changes made to fix failure on reading values for dictionaries
updated the comparison operation to make comparison consistent (irrespective of the order of items)
changes made to allow non field dictionary comparisons as intended
changes made to fix failure on reading values for dictionaries