NCP is short for National Contact Point, and will be the entry point that Emrex will use to fetch data from a country.
The NCP has registered some data about it in a central registry, called EMREG:
The request is sent from a requester as HTTP POST and has two parameters. Note that the form must be of the default type, not "multipart/form-data".
The request HTML form looks like this:
<form action="http://virtawstesti.csc.fi/norex/" method="POST"> <input type="hidden" name="sessionId" value="mysessionid12345"> <input type="hidden" name="returnUrl" value="https://fsweb.no/studentweb"> </form>
The NCP must provide a login function. This login type should be the same as the students use to log in to the country's student applications. In Norway this is Feide, in Finland this is Haka, in Sweden this is Swamid and Denmark has Wayf.
The NCP should present a list of all results with name, code, result and credits. If the results are collected from several HEIs, the results should be grouped by HEI.
The list should contain a check box so that the student can deselect the courses he/she does not wish to transfer.
The generated XML document includes the list of all chosen results, as well as personal information about the student (first name(s), family name(s), birthday, gender...). It must also include a signature generated using the XML-DSig standard, containing the certificate paired to the private key used to generate the signature, to make it possible to verify it again at a later point. Note: Java supports natively only usage of private keys in PKCS#8 format.
The response is sent as HTTP POST and has two parameters - the sessionId received earlier by the requester, and the elmo XML (first compressed with gzip, then Base64-encoded). Note that the form must be of the default type, not "multipart/form-data".
<form action="https://fsweb.no/studentweb" method="POST"> <input type="hidden" name="sessionId" value="mysessionid12345"> <input type="hidden" name="returnCode" value="NCP_OK"> <input type="hidden" name="returnMessage" value=""> <input type="hidden" name="elmo" value="H4sIAJSMFlYAA7Oxr8jNUShLLSrOzM+zVTLUM1BSSM1Lzk/JzEu3VQoNcdO1ULK347JJzcnNVwAqzSu2VcooKSmw0tcvKC3K0csvStfPSy3RB8kr2Slo6IGApoJNcGZ6XmJJaVEqkpg+kqANWIcdFwDFthEMgAAAAA=="> </form>
The following return codes are supported (the list is subject to change):
Note: no elmo document should be delivered unless NCP_OK is returned.
As part of the field trial, each NCP must provide a common log, which includes some data (no personal information) about the use of the NCP.
We suggest logging to a tab separated file, with one row for each HEI the student have results from. So one session for one student can generate one or more rows in this log. The first five variables will be identical within the same session.
The log should contain the following information
|Sessionid||Sessionid from the SMP. (If we at a point want to do the same kind of logging in the SMP, with the sessionid it should be possible to join these logs)||jkljsd8890sa256|
|Sessiondate||Date/time (UTC) for when the application get the request from SMP (before logging in)||2015-11-15 12:32|
|NCP Minutes||Number of minutes spent in the NCP||3.2|
|Return URL||Return URL to the SMP (EMREX client). This is the only information we have about the system retrieving data from NCP. It should at least give country for SMP||studweb.fi/xxx|
|Country code||Country for the NCP||NO|
|Success||Successful return of ELMO document to SMP (yes/no)||yes|
|HEI id||SCHAC ID (the primary domain name) of the HEI which has delivered the data||uio.no|
|Courses imported||Number of courses imported from HEI||5|
|Credits imported||Number of credits imported from HEI||37.5|
|Courses exported||Number of courses exported to SMP||3|
|Credits exported||Number of credits exported to SMP||22.5|
For a session retrieving data from two HEIs, the log could look like this: