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
  1. GB2IA makes a POST request to the FGSES
    1. 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
  2. FGSES converts the content from XML to CSV and writes it to SmartSite's AFS final grade location
  3. FGSES finishes the request by responding with a http status code
  4. GB2IA inspects the response from FGSES and finished the initial client request
    1. 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
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
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
Development