make life harder for the spammers by adding email address via javascript code.
Cleaned up code.
Complete privacy policy page
Completely refactored the scoring system to allow for client-side grade calculation, updated config files
Fixed merge conflicts
Fixed some bugs in configure.py, organized config files, refactored loadModule() to store KA exercise progress
Changed config file to point to up-to-date server code
Added a document describing the design and format of OpenDSA config files, fixed configure.py so that diagrams do not need to be specified in the config file
Update JSAV to v0.6.0-43
Added a couple of hashing questions, updated Birthday calculator
Fixed credit logic in Birthday
Changed opendsaMOD.js to update proficiency indicators based on localStorage on page load rather than waiting for loadModule to return. Change reference from JSAV.js to JSAV-min.js in AVs.
Merge branch 'master' of https://github.com/cashaffer/OpenDSA
Added missing quicksortAV to config files, added fallback function definitions to opendsaAV.js to eliminate AV dependence on ODSA.js (OpenDSA framework)
Added design and implementation documentation for the client-side framework
Removed unnecessary, out-of-date files from Doc\source\_static, moved configuration documentation from text file in config to RST file in Doc directory
Implemented uiid and debugMode, changed sendExerciseScore() so that the exercise status is not updated if the user is already confirmed as proficient by the server, to avoid confusion
Moved JSAV extension code for left and right arrows to its own file, so that Quicksort.rst doesn't have to include opendsaAV.js which can cause conflicts with modules. These extensions will be replaced once JSAV has array annotation capability
Fixed configure.py to correctly handle Intro.rst and ToDo.rst, altered opendsaMOD.js to store score data as a list rather than a hash to prevent overwritten data
Implemented a threshold of 5 days where anonymous score data can be assigned to a user and added a configuration option that allows instructors to control whether or not anonymous score data is assigned to the next user to log in