This commit adds the non-courseware lms/djangoapps and lms/lib.
These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).
For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.
Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>
[LMS-2370]
To get all dates localized, we need all runtimes to have the i18n
service, and since runtimes are made by the modulestores, we need to
pass it to them.
Soon (fingers crossed), modulestores won't be involved in making
runtimes, and many of these changes will go away.
This requires fixing the javascript api implementation, and adding
an implementation of get_block to the ModuleSystem api.
However, the implementation is incomplete, due to mismatches between
the expectations of XModule and XBlock.
Also adds tests using the Acid block to make sure that the javascript
and python apis for children are working correctly.
fixing unit tests
fixing merge error
fixing xqueue submission issue with unicode url (trial 0.1)
fixing fotmats as commented upon
removing yaml file language selection
Unicode changes to support QRF
removed unnecessary pass in modulestore/init.py
fixing merge error
fixing fotmats as commented upon
removing yaml file language selection
fixing pep8 violations
- fixing pylint violations
pylint violation
fixing line spaces and formats
ignore pylint E1101
remove empty line
fixing pylint violations
pep8 violations
bulk mail unicode/decode
fix migration error
fix pep8 just to push again
more unicode/decode
Final changes to comments and error messages.
By transparently proxying between the XModuleDescriptor and the XModule,
and between their runtimes, we can make them act as a single class, so
that we can swap in an actual XBlock instead.