look before you ukleap an overview of bs8788 carl ebrey
TRANSCRIPT
Disclaimer
Whilst the information contained within this presentation should be correct, no guarantees are made to this effect. Any errors/omissions should be reported to Carl Ebrey (please).
Background Info
• Currently no defined way to transfer PDP• Schools don’t talk to colleges• Schwartz and Tomlinson reports in 2004• A standard is required
Coming on in UKLeaPs and Bounds
• Began life as IMS LIP• Was adopted and became UK LIP• Through development became UKLeaP• UKLeaP is now BS8788
Transferring Data – The Different Approaches
• Whole record transfer• Reference transfer• Centralised system
Schemas and Vocabularies
• XML standard is defined by schemas• Values representing types are held in vocabularies• Vocabularies are currently held as Excel files; plans are to change to VDEX files
Application Profiles
• BS8788 is big!• Nobody should (realistically) need to use all of it• Application profiles define which parts of the standard are relevant to a particular application
What’s in a Name?
<formname> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Preferred</tyvalue> </typename> <text>Bob Carolgees</text></formname>
What’s in a Name?
<name> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Full</tyvalue> </typename> <partname> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Given</tyvalue> </typename> <text>Bob Dave</text> </partname> <partname> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Surname</tyvalue> </typename> <text>Carolgees</text> </partname></name>
Addressing the Issue
<address> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Private</tyvalue> </typename> <street> <streetnumber>50</streetnumber> <streetname>Somewhere St</streetname> </street> <city>Somewhere</city> <region>Somewhereshire</region> <postcode>SO12 3ME</postcode></address>
• This is an ideal example!
Telephone Numbers
<contactinfo> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Private</tyvalue> </typename> <telephone> <areacode>01234</areacode> <indnumber>567890</indnumber> </telephone></contactinfo>
Email Addresses
<contactinfo> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Private</tyvalue> </typename> <email>[email protected]</email></contactinfo>
Date of Birth
<demographics> <date> <typename> <tysource sourcetype="standard">UKLeaP</tysource> <tyvalue>Birth</tyvalue> </typename> <datetime>1977-10-03T00:00:00</datetime> </date></demographics>
Relational XML
• No surprises so far…• UKLeaP uses relationships to provide a logical structure to its elements• These relationships, and their types, are key to making UKLeaP work
Relationships
• A graduate of Nottingham University:-• A QCL node representing her degree• An affiliation node, representing her affiliation with the university• An activity node, representing the activity of doing the degree itself
• A relationship node of type “Supplements” connecting the activity with the QCL
Developing Application Profiles
• Look at the data you hold to see what you’re interested in• Map the data against the UKLeaP schemas
• The result is your “version” of UKLeaP: your application profile
• When importing and exporting data, you’ll be working with your application profile
Exporting Data
• Probably the easier part of UKLeaP• Using a skeleton UKLeaP document, populate the fields with data from your DB
Mapping Between Profiles
• Before transferring data, a mapping needs to be done
• Both parties need to agree on what fields represent what data
• An accurate mapping makes importing the data easier
Importing Data
• A bit trickier than exporting…
• Transform input UKLeaP into a UKLeaP document matching your application profile
• Parse resulting document and insert data into your DB
Importing Data at UoN
• Input data is transformed into UoN UKLeaP
• UoN UKLeaP is transformed into “DBXML”
• “DBXML” is parsed and the data inserted into the DB
Importing Data at UoN
Example “DBXML” document:
<?xml version="1.0" encoding="utf-8"?><dbdata> <table name="std_PGCE_CEP_details"> <line> <item field="forename">Banana</item> <item field="surname">Man</item> <item field="birth_date">1977-03-30T00:00:00</item> </line> </table></dbdata>