Code Monkey home page Code Monkey logo

sqalibur-ostepu-lib's Introduction

SQaLibur-OSTEPU-lib

Dieses Projekt gehört zum Hauptprojekt SQaLibur-Core (https://github.com/tilluhlig/sqalibur-core).

Diese Bibliothek bietet die Möglichkeit, ein Java-Servlet als Komponente in OSTEPU einzubinden und in eine Veranstaltung als Verarbeitung einzutragen. Dazu müssen die Dateien data/Commands.json und data/Component.json entsprechend im Servlet ausgefüllt sein.

Systembefehle

Diese Befehle werden größtenteils von OSTEPU gefordert, um überhaupt eine Anbindung an das Hauptsystem zur erhalten.

POST /control

Dieser Befehl nimmt die Komponentenkonfiguration vom Installationsassistenten von OSTEPU entgegen und schreibt damit die CConfig.json von SQaLibur.

GET /control

Damit lässt sich die aktuelle CConfig.json von SQaLibur abfragen und damit die momentane Konfiguration der Komponente.

GET /component

Diese Anfrage liefert den Inhalt der Component.json von SQaLibur und damit die statischen Festlegungen der Komponente, welche zudem etwas eingeschränkter von GET /info/commands und GET /info/links ausgegeben werden.

GET /info/commands

Dieser Befehl liefert eine Liste der von SQaLibur angebotenen Aufrufe und liest dazu die Commands.json aus.

GET /info/links

Hiermit lässt sich eine Liste der von SQaLibur ausgehenden Anbindungen bestimmen, also die Aufrufe, welche SQaLibur an OSTEPU richten möchte.

GET /info/de

Man erhält eine kurze Beschreibung der Komponente in Deutsch mittels dieses Befehls.

GET /help/de/...

Für die Hilfeseiten von SQaLibur als Erweiterung in der Kursverwaltung oder als Verarbeitung beim Erstellen einer Übungsserien werden über die Hilfebefehle weitere Beschreibungen und Bilder angeboten.

Die von dieser Bibliothek angebotenen Funktionen müssen im Hauptprojekt des Webservice in der web.xml zugänglich gemacht werden.

Dieser Servlet-Eintrag und das Mapping dienen lediglich der Installation unseres Servlet als Komponente in OSTEPU. Zudem sind nun alle Dateien im Unterordner help/ als Hilfedateien für das Hauptsystem verfügbar.

<servlet>
    <servlet-name>CCONFIG</servlet-name>
    <servlet-class>ostepu.cconfig.cconfig</servlet-class>
     <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>readonly</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>CCONFIG</servlet-name>
    <url-pattern>/info/*</url-pattern>
    <url-pattern>/help/*</url-pattern>
    <url-pattern>/control</url-pattern>
</servlet-mapping>

Wenn der Webservice auch als Verarbeitung zu einer Veranstaltung hinzu installiert werden können soll, dann müssen wir auf die Installation in eine Veranstaltung reagieren können. Dazu registrieren wir noch die Pfade /course/* und /link/*.

<servlet>
    <servlet-name>PROCESS</servlet-name>
    <servlet-class>ostepu.process.process</servlet-class>
     <load-on-startup>3</load-on-startup>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>readonly</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>PROCESS</servlet-name>
    <url-pattern>/course/*</url-pattern>
    <url-pattern>/link/*</url-pattern>
</servlet-mapping>

Damit OSTEPU uns auch als Erweiterung für eine Veranstaltung auf dem Schirm hat, müssen wir die data/Component.json des Webservice noch um einen connector erweitern (wird dort unter connector hinzugefügt.

"connector": [
    {
        "name": "extension",
        "target": "LExtension"
    }

sqalibur-ostepu-lib's People

Contributors

tilluhlig avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.