Publisher-Service

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

Beschreibung

Der Publisher-Service publiziert Artikel mit Hilfe von Templates in Publikationsbeiche. Hierbei kann ein Publikationsbereich ein DocumentRoot eines Webservers, eine Datenbank, ein Mail-Server oder eine URL (HTTP-Request) sein.

Der Publisher-Service verwaltet die zu publizierenden Artikel. Aufgrund von Abhängigkeiten wird die Generierung von Artikeln z.B. über den Link-Service angestoßen. In diesem Fall wird die Liste der zu generierenden Artikel in der PublisherQueue verwaltet, aus der die Artikel nacheinander entnommen werden (fifo - first in, first out) um sie zu generieren. Auch die von Nutzern angestoßenen Aktionen wie 'generiere alle Artikel die das Template X verwenden' oder 'generieren des gesamten Mandanten' erzeugen Artikellisten, die dem Publisher-Service übergeben werden.

Damit unterschiedliche Publisher-Aktionen besser gesteuert werden kann verfügt die PublisherQueue über Möglichkeiten der Priorisierung. In der Praxis werden die einzelnen Publikationsanfragen stets mit der entsprechenden Priorität abgesetzt. Der IES sieht aktuell folgende Prioritäten vor:

Prioritäten des Publisher-Service

Priorität Beschreibung ab IES Version
0 reserviert - Diese Priorität ist für besonders wichtige, jedoch asynchrone Aktionen vorgesehen. 2.0.2
1 Dies ist die höchste Priorität mit der asynchrone Generierungen von Artikeln ausgelöst werden können. Der IES verwendet diese Priorität zur 'unmittelbare' Auflösung von Abhängigkeiten (Links, LinkTree, RService). 2.0.2
2 Mit dieser Priorität werden Artikel generiert, die 'weitere' Abhängigkeiten aufweisen (z.B. Änderungen über des Artikelpool). 2.0.2
3 Diese Priorität wird für die Generierung über den GenerateHandler verwendet. Es handelt sich dabei um die bisher niedrigste Priorität, die im IES vorgesehen ist. Mit dieser Priorität werden z.B. die Generierung von Templates oder des Mandanten gestartet. 2.0.2

Ein Sonderfall stellt das speichern eines Artikels dar. Hierbei löst der Nutzer das Generieren eines Artikels aus (wenn der Artikel publiziert ist) das nicht über die Queue abgearbeitet wird. Das generieren von Artikeln durch das speichern oder nutzen der Vorschau-Funktion werden immer vorgezogen. Dadurch kann das publizieren des Artikels direkt und synchron nach dem Speichern ausgeführt werden und die Seite ist generiert, nachdem der vom Nutzer ausgelöste Request abgeschlossen ist.