The cryptography package is designed to be the "cryptographic
standard library" for Python developers. (Documents are online
at https://cryptography.io/en/latest/).
The use case for adding this is to bring encrypted claims from
outside edX into a course for assigning a grade using CAPA.
As an example, imagine that users enrolled in a computer security
and penetration testing class on edX are challenged to advance
as many levels as possible in a certain capture-the-flag (CTF)
puzzle hosted on an external app.
The external platform may provide the users an encrypted, tamper-
resistant token allowing them to enter that into an edX CAPA
auto-graded exercise in order for the edX user to claim credit
within the edX course.
For example, the external platform might take some plaintext JSON
like this:
{'user': 'isaac@example.com', 'score': 30}
And then use the Fernet symmetric encryption to give the user a
token like this:
gAAAAABZQX8xwdtvpdnTtuXWQUnbTPVA-Gw5dz6-kXFuKi0_2jpqFkSG
Dhy-BugBx38xhUfbmao9KwIhcxZt0uBAE0WT_uzjagLn7BwRIQP4Ap_B
r4e797QQllWcaHXVHhskHk6ETohc
Because the external platform and the `loncapa/python` script share
a secret, this token (1) means nothing to the user, (2) can be
decrypted on the edX side and used accordingly, and (3) won't
work if tampered with in between.
There are probably other use cases for using tokens, HMAC, or
encryption with autograded exercises. In any case, the crytography
library is well tested and reliable, so adding it presents little
risk and will probably benefit others.
2) Updating the course experience sass file to use variables it can reference in the version two variable sass file.
3) Updating date styling on course home page as explained in LEARNER-1297.
4) Expanding side outline panel to take up a third and not a quarter of the content size.
Added course level lang attribute for LMS
added lang attribute to Studio
fixed error when trying to get language attribute on course that does not exist
simplified code
added lang attribure to more places in LMS, added migration for language attribute in course_overview
fixing contraints in the database for language attribute
added lang attribute to several more places in LMS and Studio
added lang attribute to discussion and custom pages; cleaned up code
fixed issue that was causing test failures
moved lang attribute higher in tree in two places
Footer HTML requested from the branding API was including two CSS files, lms-footer.css and lms-footer-edx.css. edx.org pages only require lms-footer-edx.css to render the footer. The template code being removed here appears to have been accidentally left in place during a theming change: c0648ab164\#diff-439477a9ba29f7c208e25b0a535cdabeR80.
ECOM-3655