Das Frontend-Projekt beinhaltet alle nowendigen Dateien, die Frontend-Seitig (Browser-Seitig) für den Betrieb der Webseite notwendig sein.

Deployment

Alle Projekt-Dateien, die für den Betrieb notwendig sind müssen in einer tar.gz-Datei breit gestellt werden.

Das tar.gz muss dabei folgende Order/Dateien enthalten:

  • public/ : In diesem Verzeichnis liegen alle Dateien, die vom Webserver ausgeliefert werden können. Existiert beispielsweise eine Datei public/js/main.js, kann sie über den Pfad /js/main.js vom Webserver ausgeliefert werden.
  • ies-module.build.toml : Diese Datei enthält die Projekt-Informationen und muss mindestens folgende Daten enthalten
    id = "my-project-frontend"
    name = "My Project - Frontend"
    description = "My Project - Frontend"
    type = "FRONTEND"
    version = "1.0-SNAPSHOT"
    build_date = 2022-10-27T07:47:29Z
    packaging = "tar.gz"
    

Das Projekt wird über IES-Admin installiert. Die Datei wird vom IES entgegen genommen und als Modul identifiziert. FRONTEND-Module werden auf die IES-Webnodes weitergegeben.

Der IES-Webnode deployed das FRONTEND-Module.

tar.gz entpacken

Zunächste wird das tar.gz in einem Ordner wie IES_WEBNODE_HOME/feds/my-project-frontend-extract-1.0.0-SNAPSHOT-24fad35795ef28026bff94433d0fdd4e/ ausgepackt.

Die letzten 5 Verzeichnisse dieser Form pro Projekt bleibem auf dem Server enthalten. Gibt es mehr als 5 Verzeichnisse werden die ältesten gelöscht, so das immer maximal 5 Verzeichnise vorhanden sind.

War dies erfolgreich wird das Projekt produktiv geschaltet.

Produktiv schalten

Das produktiv schalten der Projektes erfolgt über setzte bzw. verschieben eines Links. Der bis dahin produktive Stand hat den Pfad IES_WEBNODE_HOME/feds/ruesselsheim-hoopoe-frontend und ist ein Symlink auf das entsprechende Projekt. Beim produktiv schalten wird der aktuelle Link gelöscht und auf das neue Projekt-Verzeichnis gesetzt. Damit ist der neue Stand produktiv.

Webserver Integration

Für den Betrieb der Webseite sind zusätzlich zu dem Frontend-Projekt noch weitere Kompenenten notwendig.

  • Ein FEDS-Projekt, das korrespondierend zu dem Frontend die serverseitige Logik für die Webseite bereit stellt.
  • Die publizierten Resourcen, die das CMS bereit gestellt hat. Dies sind die Inhalte der Redakteure und Administratoren, die für bestimmte Publikationsbereiche freigegeben sind.

Diese Komponenten werden über eine Apache-Konfiguration zusammengeführt. Dies wird von dem Apache-Macro fedsSite übernommen.