# FirstSpirit

FirstSpirit ist ein kommerzielles Content-Management-System, das von der Dortmunder e-Spirit AG, einem Tochterunternehmen der CrownPeak Inc., seit 1999 entwickelt wurde. Die erste stabile Version 0.9 wurde am 7. Juni 2000 herausgegeben. Das System ist in Java entwickelt und wird für GNU/Linux, Solaris (x86, Sparc), AIX und Windows angeboten.
Die Bedienung von FirstSpirit erfolgt über einen Webbrowser oder einen Rich Client mittels Java Web Start. Die Software wird von zahlreichen großen Unternehmen wie der Robert Bosch GmbH, der Commerzbank AG oder EADS im Internet und Intranet eingesetzt.

## Systemkonzept

FirstSpirit verwaltet Inhalte für Webseiten und andere Ausgabekanäle in Form von Seiten-Containern, die weitere strukturierte Inhalts-Container beinhalten können. Jeder Container beruht dabei auf einer Vorlage, die das dynamische und validierbare Benutzerformular und den Vorlage-Quelltext pro Ausgabekanal (darunter auch ein besonderer für die Zusammenfassung von Suchergebnissen) bündelt. Der Quelltext wird dabei in einer proprietären Templatesprache formuliert. Die darauf beruhenden Seiten lassen sich dann innerhalb einer Seitenstruktur (Sitemap) mehrfach verwenden. So wird eine strikte Trennung von Inhalten (Content), Struktur und Design (Layout) erreicht.
Stark strukturierte Daten werden innerhalb von FirstSpirit in Datenbanken gehalten. Diese können auch an externe SQL-Datenquellen angebunden werden. Zudem bietet FirstSpirit eine Medienverwaltung, in der Bilder, Videos und andere Dateien abgelegt werden.
Mit der Entkopplung von Redaktionssystem und Live-System realisiert FirstSpirit das Prinzip der Vorgenerierung von Webseiten. Damit ist gemeint, dass redaktionelle Inhalte, die sich nicht ständig ändern, nur einmal generiert zu werden brauchen und dann auf dem Webserver vorhanden sind. Dynamische Inhalte hingegen werden jeweils bei Bedarf durch passende Laufzeitkomponenten live ausgeliefert, was zu einem geringeren Serverbedarf führt. Eine eigene Caching-Logik für redaktionelle Inhalte kann bei dieser Architektur entfallen. Für besondere dynamische Inhalte steht ein Erweiterungsmodul UX-Bridge zur Verfügung, welches ausgewählte redaktionelle Änderungen dynamisch auf den Webserver publizieren kann. FirstSpirit kann Inhalte für verschiedene Zielsysteme wie PHP, ASP.NET und JSP generieren. Innerhalb der mitgelieferten Redaktionsumgebung werden die Inhalte dynamisch dargestellt, um dem Redakteur eine direkte Rückmeldung über seine Änderungen zu geben (WYSIWYG).
Innerhalb der Redaktionsumgebung stehen eine Verwaltung der Zugriffsrechte (sichtbar, lesen, ändern, anlegen, löschen, Freigabe, Metadaten sehen, Metadaten ändern und Zugriffsrechte ändern), und frei konfigurierbare Arbeitsabläufe zur Verfügung. Benutzer und Gruppen können auch aus externen Quellen wie LDAP oder Active Directory bezogen werden, die Benutzerauthentifizierung kann auch gegen externe Single-Sign-on-Infrastrukturen erfolgen.
FirstSpirit lässt sich durch ein Java-Modul-System kundenspezifisch erweitern. Kleinere Anpassungen können auch über die eingebaute Scripting-Schnittstelle vorgenommen werden. Erweiterungen bedienen sich dabei der Java-API von FirstSpirit.
Ab Version 4.0 werden ausnahmslos alle Inhalts- und Strukturänderungen im System revidiert, wodurch diese über eine revisionsbasierte Ansicht nachvollziehbar sind und sich auch wieder zurücknehmen lassen. Dies gilt auch für die von FirstSpirit verwaltete relationale Datenquellen, nicht aber für externe Datenquellen. Durch die Angabe eines Zeitpunktes können so auch auf einfachem Weg alte Versionsstände einer Website gesichtet werden.

## Content-Management in Portalen

Die e-Spirit AG hat sich mit FirstSpirit unter anderem auf die Veröffentlichung von Inhalten in Portalen spezialisiert. Seit 2006 bietet FirstSpirit eine Integration für SAP NetWeaver an. Später kamen Unterstützung für IBM WebSphere und Microsoft Office SharePoint Server, Liferay Portal und seit 2013 der JBoss Portal Platform hinzu. Hierfür bietet FirstSpirit jeweils zertifizierte Schnittstellen an. So können über das Content-Management-System Inhalte auch in diesen Portalen veröffentlicht und gepflegt werden.

## Template-Sprache

In der Template-Sprache von FirstSpirit wird die Zielsprache (z. B. HTML, JSP, XML) mit Platzhaltern angereichert, die beim Rendering-Prozess ausgewertet werden. Innerhalb der Platzhalter hat man Zugriff auf die Datenstrukturen des Inhaltsmodells. Es können Methoden aufgerufen werden sowie Schleifen und Bedingungen formuliert werden. Komplexere Logiken können in Skripte oder Java-Klassen ausgelagert werden, die beim Rendering-Prozess eingebunden werden. Mit vorgefertigten Funktionsbausteinen kann man beispielsweise automatische Website-Navigationen erstellen.