mitodl / lmod_proxy Goto Github PK
View Code? Open in Web Editor NEWFlask application for proxying requests to the MIT Learning Modules API from edx-platform
License: GNU Affero General Public License v3.0
Flask application for proxying requests to the MIT Learning Modules API from edx-platform
License: GNU Affero General Public License v3.0
Dot cloud is going out of business. We need to find another host that won't timeout on a 60 second request.
Will require a deploy to staging and rp as well.
As an instructor, I would like to have grades submitted to the lmod gradebook be "out of" the max score for the assignment. Grades coming from edX are between 0 and 1.0 and it would be clearer for instructors and students to have them be between 0 and the max score.
LMODP_APPROVE_GRADES
get_assignments()
This may be very slow and we'll need to consider the possibility of timeouts.
Use a "first found" yaml configuration file loader from one of three locations: $(pwd)/lmod_proxy.yml
, ~/.lmod_proxy.yml
, and then /etc/lmod_proxy.yml
. Also allow environment variable overrides prefixed with LMODP_
.
a side issue, mentioned in ZenDesk #2001:
a warning: some instructors may have set excused absences, which the MITx upload presently overwrites
I'm a little surprised this happens, so this may require some investigation.
Currently lmod_proxy sends calculated scores to the remote gradebook. The requested change is to send the raw score and the max score.
To send the max score, the assignment must be created by lmod_proxy. (In the existing implementation, assignments are created in the body of the PyLmod call that sends scores to the remote gradebook.)
@itsbenweeks reports that merging or overloading enrollment from a course from a non-existent section causes a non-graceful 500 error.
Support basic authentication (and the configuration of that), to allow for some security.
Add page that is descriptive of what the application does as well as offering a user interface to explore the features (i.e. calls to edx_grades "API")
Currently LMODP_CERT takes the path to a cert, but for heroku, it really needs to take the whole environment variable. So similar to http://mit-lti-flask-example.readthedocs.org/en/latest/ lmod_proxy should also support this. This is already done for HTPASSWD in PR #15
Currently this is untested, either mark it as uncovered or add a test
It is convenient for integration and system testing to have an installation of the application that is always running the latest master version of the repo that works. We can add this easily with Travis as a step to do after a successful test has occurred. It does this by packaging our app up into a heroku deployable unit, and pushing it.
Majority of pinned versions in requirements need to be updated.
I'm not sure if this is an issue for lmod_proxy, or for pylmod.
I'd like to an option for setting grades to be conditional -- only set the grade if one hasn't been set already.
This would avoid overriding grades that have been set manually in the gradebook, and may obviate the immediate need for #5 (even though it's still a good idea).
With the official end of life for Python 2 at the end of this year we should upgrade this app to run on Python 3
Add relevant config to run as a foreman/heroku project
Add quickstart, heroku setup, and configuration for edx-platform to README. Also badges.
Travis will be limited open source projects build time soon, so we need to transition to github actions.
Take a look at how we did it open discussions or bootcamps or micromasters
lmod_proxy needs maintenance to build properly due to new features in its imported libraries.
In the current version of Grades2Stellar, there is no value set for isGradeApproved when setting a student's grade.
This should be explicitly set to false or, even better, the API should pass a value through.
This will help us address issues like Zendesk #1435.
Hmmm. Maybe this needs to be an issue on https://github.com/mitodl/PyLmod
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.