-
Notifications
You must be signed in to change notification settings - Fork 93
Jrbl's State of the edX Certificates World
This is meant to summarize everything linked down below in References, though as of initial authoring, reading those gives a more complete and overall more visceral understanding of the situation.
Todo; mention it's not installable from ansible
Todo; describe and howto use: unicode font selection, centering, autosizing, performance improvements, robustness fixes, support rolling certs, others...?
Todo; none of these exist yet, but it would be nice to have: xblock for grade me button, docker container w/ certs pipeline, studio assets management, documentation documentation, csv certifying, REST endpoint to check for a cert
Todo: things which are sucky even with recent updates, incl:
- configuration in two places
- template rendering not dynamic enough, requires too much setup
- xqueue is ok, but why not regular celery tasks?
- completed certs are not accessible. Sadecki has mock accessible PDFs, can we generate these from reportlab?
This is how it was done with the old deprecated repo, it will be be better with the new one.
-
Set up a new machine to run certs
mkvirtualenv old-certs
- add path to dir in
~/.virtualenv/old-certs/.project
(new file) - Clone old-certs-deprecated repo
- run
pip install -r requirements
- on a mac, make sure logging conf has
dev_env=True
-
Set up configuration for course and do local cert test
-
add course settings to the
CERT_DATA
dictionary in settings.py -
Example working Stanza
``` "SelfPaced/Haptics/2014" : { #"LONG_COURSE" : "Introduction to Haptics", "LONG_ORG" : "Stanford Engineering", "VERSION" : 'stanford-notitle', } ```
-
add course cert template to template_data
-
run
python create_pdfs.py -U -c ""THE/COURSE/TRIPLE"" -l "THE COURSE TITLE" -n "Test User"
-
commit and push settings and template file changes to git repo
-
-
Do manual cert test and set up piping for “Grade Me Button”
- log into util1.prod
- in /edx/app/certs/certificates run
sudo -u certs GIT_SSH="/tmp/git_ssh.sh" git fetch origin
- then
sudo -u certs GIT_SSH="/tmp/git_ssh.sh" git pull origin jrbl/initial-4
sudo tail -f /edx/var/log/supervisor/certs-*.log
- then run
sudo -u www-data /edx/bin/supervisorctl restart certs
- in new ssh window,
~/manage.sh cert_whitelist -c "THE/COURSE/TRIPLE" -a USERNAME
- then run
~/manage.sh regenerate_user -c "THE/COURSE/TRIPLE" -u USERNAME
-
Do full cert run (run after the previous section)
~/manage.sh ungenerated_certs -c "THE/COURSE/TRIPLE"
Todo
Todo
Todo
Some of these are more realistic than others, and some are more useful than others. They are not ranked in any way.
Ideally, the cert-data.yml, env.json and auth.json files would be generated by ansible from static configuration and the information in COURSE_LISTINGS['default']
.
The audit trail for a certificate could be improved greatly by the introduction of a 'certificate-request' token, some unique string which gets passed between lms, the management commands, the xqueue and the certificate-agent. This value would get logged every time a cert-related logging event happens, so at the end you can grep for this token in the aggregated logs and see the chain of responsibility for some certificate request.
- Jrbl and Sarina talk about why Certs Looks that Way - for about the next 45 minutes. Appearances from Jarv and Dkh.
- Stanfords Changes Merged to Master here - Reading this diff may help reveal a variety of new and interesting features
- Certs README - The current state of the art in certs documentation
- David and Jrbl discuss where things stand - For about the following 90 minutes
- Ned and Jrbl have a similar conversation - For about the following 90 minutes. May be a private chat?
- Diana and Jrbl have a similar conversation - For about the following 90 minutes. May be a private chat?
- Han and Jrbl talk about Rolling Certification - For about the following 30 minutes
- SoA Work Wishlist - Things that need an allocation of effort in the cert pipeline
- Notes: Statement of Accomplishment Decision Tree - targeted at instructors so they know what their options are
- Simple cert Generation/Regeneration - notes Greg made about how to do one-off cert runs
- edx-code: Certification at Several Levels of Achievement - In which Jrbl explains a little bit about how distinction certification currently works
- edx-code: Certificate Generation Process in OpenEdX - In which Jrbl helps somebody build a plugin to use Accredible (part 1)
- edx-code: Certificate Whitelist and Passing Grades - In which Jrbl helps somebody build a plugin to use Accredible (part 2)
- edx-code: How do I use a xqueue to generate a certificate? - In which Jrbl helps someone debug their certificate generation pipeline
- edx-code: Autocomple for passing grade & Grade Me button setup for certs - In which Jrbl helps people get rolling with rolling certificates
- edx-code: Certificate - Students cannot download it - Here's somebody being bit by mid-generation failures in the certificate pipeline and Jrbl discussing work needed to deal with this
- edx-code: Unable to run command-line tools in edX - Most of the certificate-related code is run via management commands, which periodically seems to confuse people
- JIRA UX-1075: Allow course staff to schedule cert generation from a grade report and/or CSV