edx/edx-certificates — pull request #10 by jrbl (2014-11-19 04:54:00+00:00)
Title: Stanford rolling certificates support

This supersedes https://github.com/edx/edx-certificates/pull/5. I have gotten approval to merge from everyone verbally, I think, so I just need @jarv or @ormsbee or @nedbat to press the big green button for me (apparently, I no longer have push rights on this repo.)

This is my old PR message:
Most of this came out of Stanford's need to support the rolling
certification case. Changes are for performance, robustness, code
quality and aesthetics of output. Everything here should be 100%
backwards compatible with the previously existing edx ceritificate
infrastructure.

* Features
- optionally accept grades, designations, and certification date via
xqueue from -platform
- support course date ROLLING to stamp the current date onto the
certificate in a generally accepted format
- New font_for_string utility method allows dynamic selection of the
best font for any arbitrary unicode string (i.e., names)
- arbitrary text interpolation for 'with distinction', etc.
- many more defaults can now be specified via env.json
- verification and validation page generations are now optional on a
global and per-course basis

* Performance
- pre-cache all the fonts
- pre-cache all the blank pages
- re-use CertificateGen objects when two successive requests come for
the same course id

* Aesthetics
- alphabetization of imports
- less noisy running under normal conditions
- improved error reporting providing more context
- shifted assumptions in valid and verify towards the open source
community