GB2 Final Grade Submission Enterprise Service OLD
Design : SAK-2963
Releases
Components
SmartSite Gradebook2 Institutional Adviser (GB2IA)
Final Grade Submission Enterprise Service (FGSES)
AFS
Final Grading Tool (FGT)
Process
GB2IA makes a POST request to the FGSES
The request's content contains the grading information encoded in IMS ES V2 XML and the siteId, which is used as the file name for the stored data
FGSES converts the content from XML to CSV and writes it to SmartSite's AFS final grade location
FGSES finishes the request by responding with a http status code
GB2IA inspects the response from FGSES and finished the initial client request
The client inspects the the response and if there are no errors, the client opens up the FGT in an pop-up window
FGSES Architecture
POST URL : https://fgses.ucdavis.edu/fgses/grades/xml
Request parameter key: fn
Request parameter value: <Sakai Site EID>
Request paramter key: gd
Request parameter value:
<?xml version="1.0"?> <outcomesDatabase xmlns="http://www.imsglobal.org/services/lis/omsv2p0/imsomsDataModel_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <resultRecord> <sourcedId>Enrollment Set EID</sourcedId> <result> <personSourcedId>KNAME</personSourcedId> <resultScore> <language>en-US</language> <textString>B</textString> </resultScore> <recordInfo> <extensionField> <fieldName>Person Name</fieldName> <fieldType>String</fieldType> <fieldValue>LastName, FirstName</fieldValue> </extensionField> </recordInfo> </result> </resultRecord> </outcomesDatabase>
Implementation And Runtime Environment Details for FGSES
Linux (RedHat Enterprise Linux 5)
Apache v2
PHP v5
Use Apache's mod_rewrite to map the REST API to the PHP controller
New sakai.properties
final_grade_submission_enterprise_service_url=https://fgses.ucdavis.edu/fgses/grades/xml
final_grade_submission_request_key_grade_data=gd
final_grade_submission_request_key_file_name=fn
Security
IP white list access. The service fulfills the request only for IPs that are registers with the service. Service replies with an HTTP 403 if the IP address is not known.
Configuration
FGSES is configured via:
TEST
[afs] path = "/afs/.ucdavis.edu/app/sakai-test/gradefiles/" [csv] header = "Kerberos Id,Name,EnrollmentSet EID,Grade" [rest] uri = "/fgses/grades/xml" [request] method = "POST" key-gd = "gd" key-fn = "fn" [security] ip1 = "192.168.1.100" ip2 = "192.168.1.101"
PROD
[afs] path = "/afs/.ucdavis.edu/app/sakai/gradefiles/" [csv] header = "Kerberos Id,Name,EnrollmentSet EID,Grade" [rest] uri = "/fgses/grades/xml" [request] method = "POST" key-gd = "gd" key-fn = "fn" [security] ip1 = "192.168.1.100" ip2 = "192.168.1.101"
Usage / Load
A graph of the gradebook.downloadCourseGrade events for the last year or so
Hosting
TEST : SAK-2994
Installed PHP5 on caje.ucdavis.edu and created vhost/dns-alias fgses.ucdavis.edu
Using IET CA SSL certificate
PORD : SAK-3045
Data Center virtualized environment
Co-hosting on an existing IET service that is running on Apache/PHP5
Application dependency in terms of scheduled maintenance of the collocated services