CDM-tjenester

CDM er et format for læringsdata og brukes av utdanning.no for å hente ut data til sine sider.

CDM inneholder data om studieprogram, emner og etter- og videreutdanningskurs. I utgangspunktet er det kun utdanning.no som bruker dette, men dersom der interessant, så er det tilgjengelig for andre, men alle endringer skjer på utdanning.no sine premisser.

Eksempler

Alle Java-eksempler benytter seg av Apache HTTP Client

Alle eksempler går mot vår kursbase så eventuelle data man ser her er fiktive.

Tilgjengelige grensesnitt

Hent studiedata

Denne tjenesten henter studiedata på CDM-formatet. Dette er en GET-tjeneste som tar språk som eneste parameter. Språk kan være "ENGELSK", "NYNORSK" eller "BOKMÅL". Ingenting gir bokmål.

URL for test: https://fs-test.uio.no/fsrest/rest/cdm/studiedata?sprak=<SPRÅK>
URL for prod: https://fsws.usit.no/fsrest/rest/cdm/studiedata?sprak=<SPRÅK>

Java-eksempel

import java.io.File;
import java.io.FileOutputStream;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetCdmdata {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/cdm/studiedata?sprak=ENGELSK";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        FileOutputStream fos = new FileOutputStream(new File("C:/temp/tester.xml"));
        response.getEntity().writeTo(fos);
        fos.close();
    }
}

 

Gangen i uttrekket:

Først finnes inneværende Semester (Årstall & Terminkode) fra Tabellen Semesterregistrering.
Hvor dagens dato må være mellom Semesterregistrering.Dato_Eksport_Studinfo_Fra og Semesterregistrering.Dato_Eksport_Studinfo_Til.

Dersom dd. finnes innenfor intervalet for flere terminer, er det seneste termin som benyttes som 'Inneværende semester'.

Inneværende semester (Årstall & Terminkode) brukes så som input til uttrekk av Studieprograminfo.
For at Studieprograminfo skal hentes må Feltet Studieprogramkode i tabellene Infotermin_Studieprogram og Studieprogram være like.
Årstall og Terminkode for inneværende semester må også være lik feltene Infotermin_Studieprogram.Arstall/Infotermin_Studieprogram.Terminkode
I tillegg til andre vilkår.

Publisert 25. juni 2015 14:51 - Sist endret 18. feb. 2021 12:44