QUICK LINKS

Support
Issue Tracker
[Services]
Questions
[uAchieve 4.5 Applications]
[uAchieve 5.0 Application]
[uAchieve 5.1 Application]
Transferology
TES
[Training & Conferences]
Accessibility

Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »


This page contains information about Transferology and its support of the External Degree Audit Guide Interface.

Prior to creating a custom EDAG interface, please review the Transferology Lab FAQs, Audits section.

What is EDAG?

Transferology is degree audit-agnostic and works with any degree audit system that offers an interface that implements one of the supported PESC version 1.0 Degree Audit request and reply specifications. This interface is characterized by the exchange of XML documents over HTTP (or HTTPS) and is commonly referred to as an External Degree Audit Guide, or EDAG.

Please provide the URL to your external degree audit server to John Panzica.

Supported PESC Degree Audit request and reply schemas

At one time, the schemas were accessible from the PESC www.fsaxmlregistry.ed.gov site, but no longer.

Transferology supports the following PESC Degree Audit request and reply schema and several legacy schemas. The most current schemas are listed below by type, with hyperlinks to legacy schemas provided.

PESC Degree Audit Request Schema Versions

RequestDA 1.5 - http://www.transfer.org/xsd/RequestDA/RequestDA-1.5.xsd

To access legacy schemas, see Legacy PESC Degree Audit Schemas.

PESC Degree Audit Reply Schema Versions

ReplyDA 1.5 - http://www.transfer.org/xsd/ReplyDA/ReplyDA-1.5.xsd

To access legacy schemas, see Legacy PESC Degree Audit Schemas.

See XML Document Handling for tips.

Transferology and EDAG Document Exchange

The following steps are part of the Transferology and EDAG document exchange process. The process is triggered by a Transferology user requesting a program from a school defined in Transferology as an EDAG interface.

Step #1 - Transferology builds XML document

Transferology builds the Degree Audit request XML document based on the format defined by the receiving (i.e., target) school's Program Request Code setting in Transferology. See the PESC Degree Audit request versions for the specific elements and attributes within the XML document. Transferology provides a return URL address in the <PartyId> element. Element data values wrapped with double quotes identify static content. Do not ignore the URL specified in the <PartyId> element. Transferology reserves the right to change the return URL, when needed. Your school's EDAG server should be able to return program requests to a different <PartyId> in this situation. If your EDAG is unable to use a URL that is a value from the XML document, please consider using some form of a runtime/deploy property to prevent hard coding the return URL into your interface.

Step #2 - Transferology posts XML request document to EDAG Url

Transferology then attempts to open an HTTP (or HTTPS) connection to the defined EDAG URL–the EDAG URL must specify the correct protocol (HTTP or HTTPS) for Transferology to use. If the connection is successful, Transferology then posts the XML document. After the post, Transferology waits for an acknowledgment that the EDAG has either accepted or rejected the program request.

EDAG Accept Acknowledgment

To accept the program request, the EDAG must send the following accept acknowledgment XML document on the existing open connection:

<response status="0"/>
EDAG Reject Acknowledgment

To reject the program request, the EDAG should send the following reject acknowledgment XML document on the existing open connection:

<response status="1">descriptive error message</<response>

NOTE:

Any non-zero status indicates the program request was rejected.

If Transferology receives the non-zero status, other XML, malformed XML, or does not receive the expected response within 60 seconds, then Transferology marks the request as failed and schedules a retry. Transferology uses an increasing retry delay (i.e., time is doubled between each failed attempt: 5 minutes, 10 minutes, 20 minutes...), with a maximum delay of 12 hours between retries. Transferology retries the post until successfully sent.

Step #3 - EDAG posts XML reply document to Transferology

Once the EDAG completes the program, the EDAG must post the program content within a Degree Audit reply XML document back to Transferology. The EDAG opens an HTTP (or HTTPS) connection to the return URL provided earlier by Transferology in the <PartyId> element of the request. The EDAG must use the protocol (HTTP or HTTPS) provided by Transferology in the <PartyId> element. The EDAG should follow the XML over HTTP conventions. If the reply document contains well-formed XML, then Transferology will send the following success acknowledgment XML document on the existing open connection:

<response status="0"></response>

Once Transferology sends the success acknowledgment, the audit is immediately available for viewing by the Transferology user that requested the program. If Transferology encountered an error while saving the document, a failure acknowledgment (non-zero status) will be sent on the existing open connection with an error message in the response element. An example failure acknowledgment is shown below:

<response status="1">Non existent or empty, userid or PersonIdCode element for jobId=2007091014514555</response>

Example DegreeAuditRequest Document

The following shows an example request document that contains one course taken by the student:

<RequestDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.transfer.org/xsd/RequestDA_s1h.xsd">
    <Envelope>
        <RequestType>CAS</RequestType>
        <TransactionType>Request Degree Audit</TransactionType>
        <DocumentNumber>2009052712405402</DocumentNumber>
        <PartyId>https://www.transfer.org/uselect/service/xml</PartyId>
    </Envelope>
    <RequestDetail>
        <Control>
            <ControlBatchId>2009052712405402</ControlBatchId>
            <ControlRequestServerName>miamix</ControlRequestServerName>
            <ControlRecord>ASC</ControlRecord>
            <ControlRequestType>A</ControlRequestType>
        </Control>
        <RequestData>
            <Person>
                <PersonID>
                    <PersonIdCodeQualifier>CAS</PersonIdCodeQualifier>
                    <PersonIdCode>student123@MIAMI</PersonIdCode>
                </PersonID>
                <PersonName>
                    <NameType>CAS</NameType>
                    <NameFirst>CAS</NameFirst>
                    <NameLast>Student</NameLast>
                </PersonName>
                <StudentType>
                    <StudentTypeStatus>CAS Student</StudentTypeStatus>
                </StudentType>
            </Person>
            <PersonControl>
                <BatchId>2009052712405402</BatchId>
                <ControlRecord>ASC</ControlRecord>
            </PersonControl>
            <DegreeProgram>
                <Institution>
                    <Entity>
                        <EntityIDCodeQualifier>72</EntityIDCodeQualifier>
                        <EntityIDCode>1592</EntityIDCode>
                        <EntityIDCodeGroup/>
                    </Entity>
                </Institution>
                <AcademicProgram>
                    <ProgramType>Program</ProgramType>
                    <ProgramCode>825   44GEC</ProgramCode>
                    <ProgramCatalogYear>99983</ProgramCatalogYear>
                </AcademicProgram>
            </DegreeProgram>
            <CourseInstitution>
                <Institution>
                    <Entity>
                        <EntityIDCodeQualifier>72</EntityIDCodeQualifier>
                        <EntityIDCode>1643</EntityIDCode>
                        <EntityIDCodeGroup/>
                    </Entity>
                </Institution>
                <Course>
                    <CourseSubjectAbbreviation>ENG</CourseSubjectAbbreviation>
                    <CourseNumber>130</CourseNumber>
                    <CourseTitle>Intro to Technical Comm</CourseTitle>
                    <CourseSession>20083</CourseSession>
                    <CourseCreditValue>03.00</CourseCreditValue>
                    <CourseAcademicGrade>F</CourseAcademicGrade>
                    <CoursePseudoCode>N</CoursePseudoCode>
                </Course>
            </CourseInstitution>
        </RequestData>
    </RequestDetail>
</RequestDocument>

PartyId

PartyId is the URL the EDAG must connect to when sending the DegreeAuditReply XML document to Transferology.

DegreeProgram

The DegreeProgram element's children specify the audit's target school and program chosen by student.

Institution - School Id
AcademicProgram - Program

CourseInstitution

The children of this optional element specify the student's coursework.

Institution - School Id
Course - Course

DegreeAuditReply Document

The various ReplyDA_s1 PESC schemas define numerous elements in the document; however, Transferology only extracts element content from the following elements:

  • DegreeAuditResult.DegreeProgram.AcademicProgram.DegreeAuditReport.Report.DegreeAuditBody
  • Envelope.DocumentNumber
  • DegreeAuditResult.Person.PersonID.PersonIdCode

x.y.z syntax

The above elements are shown with x.y.z syntax, which is shorthand to remove the need for "the z child element of y that is the child element of x".

DegreeAuditBody

The DegreeAuditBody element is the program content that will be displayed to the student. It is normal for this content to contain HTML. However, the following HTML elements must be avoided: <html> and <body>. Additionally, the <head> and it's child elements must be avoided with exception of the <style> element. To ensure the plans are correctly stored in Transferology and shown correctly by Transferology, keep the following points in mind:

  • Use either an XML CDATA section or the standard escaping for XML predefined entities. See Html in XML for further information.
  • CSS styling must be inline via either style attributes for each HTML element or an inline style sheet element.

DocumentNumber

The DocumentNumber element is one of the two fields that uniquely identify the student's program request. Transferology will use the element content to locate the request in Transferology.

PersonIdCode

The PersonIdCode element is the other field that uniquely identifies the student's program request. Transferology will use the element content to locate the request in Transferology.

Example DegreeAuditReply Document

The following shows an example reply document.

<DegreeAuditReply>
   <Envelope>
      <DocumentNumber>2009052712405402</DocumentNumber>
   </Envelope>
   <DegreeAuditResult>
      <Person>
         <PersonID>
            <PersonIdCode>student123@MIAMI</PersonIdCode>
         </PersonID>
      </Person>
      <DegreeProgram>
         <AcademicProgram>
            <ProgramCode>ACCTBA</ProgramCode>
            <DegreeAuditReport>
               <Report>
                  <DegreeAuditBody><![CDATA[<div>Html of resulting plan...</div>]]>
                  </DegreeAuditBody>
               </Report>
            </DegreeAuditReport>
         </AcademicProgram>
      </DegreeProgram>
   </DegreeAuditResult>
</DegreeAuditReply>
  • No labels