Skip to content

Paketdefinitionen

Till Uhlig edited this page May 14, 2017 · 2 revisions

Sie können Komponenten und andere Dateien zu Paketen zusammenstellen, indem Sie eine entsprechende Definition im /install/packages Ordner erstellen (im json Format). Der Installationsassistent wird diese selbstständig erkennen und verwenden.

Grundaufbau

Die Definition erfolgt im json Format.

  • name Der Name des Pakets wird im Installationsassistenten angezeigt

  • version Die Versionsnummer wird für die Überprüfung der requirements benötigt. Dabei sollten die einzelnen Versionssegmente durch einen . (Punkt) getrennt werden.

  • versionDate Ein zur Versionsnummer zugehöriges Datum ❗ keine Verwendung ❗

  • author Der Verfasser des Pakets/ der Komponenten (eventuell eine Aufzählung) ❗ keine Verwendung ❗

  • sourceURL Die Quelladresse des Pakets ❗ keine Verwendung ❗

  • updateURL Diese Adresse sollte Aktualisierungsinformationen bereitstellen ❗ keine Verwendung ❗

  • requirements Die Voraussetzungen sollen Mindestanforderungen an das übrige System beschreiben. Dabei können derzeit lediglich andere Pakete als Voraussetzung bestimmt werden.

    • type Als Typ ist lediglich plugin möglich

    • name Der Name des entsprechenden Komponente/Paket, welches die Voraussetzung bilden soll

    • version eine eventuelle Versionsnummer der Komponente oder des Pakets, welche mindestens erfüllt sein muss.

  • files Hier können einzelne Dateien und Ordner, vom Grundverzeichnis ausgehend,aufgezählt werden. Dabei sollte auch die Definitionsdatei des Paketes enthalten sein. Dateien können durch Pfad/Dateiname.Endung und Ordner mittels Pfad/Ordner/ dem Paket hinzugefügt werden.

  • components Hier können Komponentendefinitionen aufgelistet werden, deren Inhalt verwendet werden soll.

    • conf Dieses Feld gibt die Adresse der Definition, vom Grundverzeichnis aus, an.

Beispiel

{
  "name":"OSTEPU-DB",
  "version":"0.3",
  "versionDate":"19.04.2015",
  "author":"",
  "sourceURL":"",
  "updateURL":"",
  "requirements":[{"type":"plugin","name":"CORE","version":"0.2"}],
  "files":
    [
      {"path":"Plugins/ostepu-db.json"},
      {"path":"Assistants/"},
      {"path":"DB/.htaccess"}
    ],
  "components":
    [
      {"conf":"DB/DBCourse/Component.json"},
      {"conf":"DB/DBCourseStatus/Component.json"},
      {"conf":"DB/DBExercise/Component.json"}
    ]
}

Beschreibungen

  • description in diesem Array folgen Textbeschreibungen

    • Sprache dieser Unterbereich enthält den Beschreibungstext. Dabei muss Sprache die Kurzschreibweise einer Sprache sein (Beispiel: de oder en).
  • descUrl hier folgt die URL zur Paketseite bzw. zu einer Hilfeseite des Pakets

Beispiel

{
    "name": "SQaLibur",
    "version": "1.0",
    "versionDate": "31.12.2016",
    "description":{"de":"Dieses Paket erweitert den Installationsassistenten um die Installationselemente für SQaLibur. Um dieses Paket verwenden zu können, muss der Webservice von SQaLibur bereits eingerichtet sein (Java-Webanwendung). Sie finden weitere Informationen auf der angegebenen Webseite."},
    "descUrl":"https://github.com/tilluhlig/ostepu-sqalibur"
}

Repositorys herunterladen

Sie können unter files auch andere Git-Repos angeben. Dabei bekommt jedes dieser einen eigenen Eintrag unter files.

  • path Wie bei jeder anderen Datei/Ordner wird hier der spätere Pfad angegeben. Wenn dieser Pfad von params/path abweicht, dann werden die Dateien später von params/path hier hin kopiert.

  • type Als speziellen Typ kann man hier nur git angeben, sodass wir git-Repository laden wollen.

  • params Hier werden die weiteren Optionen festgelegt.

    • name Dieser Name dient nur der Anzeige und sollte beschreibend sein.

    • branch Es kann ein bestimmer Branch des Git-Repo ausgewählt werden.

    • URL Diese URL soll auf das Git-Repo verweisen

    • path Dieser Pfad gibt den Ort an, an dem das Git-Repo bei uns verwaltet werden soll.

Beispiel

{
    "name": "SQaLibur",
    "files": [
        {
            "path": "install/segments/ext_SQaLibur/",
            "type": "git",
            "params": {
                "name": "sqalibur",
                "branch": "master",
                "URL": "https://github.com/tilluhlig/ostepu-sqalibur.git",
                "path": "install/segments/ext_SQaLibur/"
            }
        }
    ]
}

Clone this wiki locally