TYPO3 meets Social Network: mixxt und TYPO3 als Basis eines innovativen Intranets
Bei der Durchführung standen eine schnelle und kostengünstige Implementierung sowie die nahtlose und sichere Integration in die Netzwerk-Infrastruktur des Unternehmens im Vordergrund. Nach dem Briefing des Auftraggebers folgte eine Konzeptionsphase zur Ausarbeitung eines Grobkonzepts. Außerdem führte die umsetzende Agentur spot-media [1] beim Kunden einen Workshop durch, um eine detailliertere Spezifikation der Funktionalitäten erstellen zu können. Mittels eines Fragebogens wurden abschließend die Prioritäten für die erste Phase der Umsetzung ermittelt.
Durch die Nutzung bestehender Inhalte wie News und Stellenangebote der Unternehmenswebseite, Branchennews-Feeds und dem User Generated Content der Community (beispielsweise die neuesten Beiträge in den Foren, aktuelle Veranstaltungen und Bildergalerien) sollte eine kontinuierliche Aktualisierung der Inhalte gewährleistet werden, ohne dabei einen hohen redaktionellen Aufwand zu erzeugen. Darüber hinaus galt es, folgende Vorgaben zu erfüllen:
- Möglichkeit der schnellen und einfachen Verbreitung von Unternehmensinformationen
- Content-Sharing zwischen CMS und Community
- Community-Funktionen: Forum, Private Messaging, Eventkalender, Fotogalerien und Vorstellung der Mitarbeiter und Abteilungen
- Speisepläne der Kantinen
- Bereitstellung tagesaktueller Branchennews ausgewählter Drittanbieter sowie Pressemitteilungen des Unternehmens
- Erhaltung bestehender Funktionalitäten wie Filialsuche, Download der internen Hauszeitung, TV-Spots, Prospekte etc.
Die Auswertung der Ergebnisse des Workshops und des Fragebogens flossen in ein detailliertes Feinkonzept ein.
Dem Intranet Leben einhauchen
Eines der deklarierten Ziele des hier vorgestellten Projekts war es, die Mitarbeiter von Ernsting’s family zu einer aktiven Teilnahme an der Gestaltung des Firmen-Intranets zu animieren. Dies setzt natürlich eine
regelmäßige Aktualisierung der bereitgestellten Inhalte voraus, damit eine lang anhaltende Motivation zur Mitarbeit gewährleistet werden kann.
Gleichzeitig sollte sich aber der zu leistende redaktionelle Aufwand für die Betreuung des Intranets in einem vertretbaren Rahmen bewegen. Aus diesem Grund bietet die Startseite, als Einstiegspunkt des
Intranets, einen Überblick über die neuesten Community-Aktivitäten der Mitarbeiter, über Branchennews, das Wetter und aktuelle CMS-Inhalte. Größtmögliche Flexibilität bei der Integration der Inhaltselemente wurde durch die Implementierung einer Feed-Reader-Extension für TYPO3 geschaffen, die unter anderem RSS- und ATOM-Feeds einbindet. Dadurch konnten auch bestehende Inhalte der Ernsting’s-Family-Unternehmenswebseite, wie die Stellenausschreibungen und der Filialfinder, einfach integriert werden.
Simulation der Ernsting’s-family-Infrastruktur
Um bereits während der Entwicklung die Besonderheiten der Firmeninfrastruktur von Ernsting’s family [2] berücksichtigen zu können, setzte man bei spot-media ein Netzwerk mit Windows2003-Server als Domain-Controller und virtualisierten Windows XP Clients auf. Der eingesetzte Webbrowser (Internet Explorer) und weitere Anwendungsprogramme kommen bei Ernsting’s family via Citrix-Umgebung als Terminalanwendung zum Einsatz. Eine weitere Herausforderung stellte die räumliche Entfernung zum mixxt-Entwicklerteam dar. Die Anpassungen bei der White-Label-Community mixxt [3] fanden auf einem eigenen Entwicklungsserver in Bonn statt. Aus diesem Grund mussten die Server von spot-media via VPN verbunden werden.
Single Sign-on (SSO)
Einen wichtigen Bestandteil des Projekts bildete die Implementierung einer SSO-Lösung zur Authentifizierung der Mitarbeiter via ActiveDirectory und Kerberos über den Windows Domain Controller.
Hierfür kam auf dem Apache-Webserver das Modul „mod_auth_kerb“ [4] zum Einsatz. Außerdem entwickelte die umsetzende Agentur eine Extension für TYPO3, die den an der Domäne angemeldeten Benutzer authentifiziert. Weiterhin bestand die Notwendigkeit, eine manuelle Authentifizierung durchführen zu können, um beispielsweise auch Kollegen ohne eigenen PC-Arbeitsplatz eine Anmeldung am Intranet zu ermöglichen.
Aus zwei mach eins
Alle Unterseiten enthalten sowohl Elemente von mixxt als auch von TYPO3. Aus diesem Grund galt es, in beiden Applikationen Schnittstellen zum Austausch von Inhalten zu schaffen. Im Header der Seite werden das von TYPO3 generierte, ausklappbare Hauptmenü und die so genannte mixxt-Bar, ein Menü für die Benutzung der Nachrichtenzentrale und zur Konfiguration der Profileinstellungen, eingebunden. Der Datenaustausch der REST-Schnittstellen (Representational State Transfer) [5] erfolgt im XML-Format, wobei die Inhalte bereits als HTML bereitgestellt werden. Zusätzlich findet ein Austausch von benötigten Stylesheets und JavaScript-Dateien statt, um die korrekte Darstellung und Funktionalität der Ausgabe zu gewährleisten. Um zwei eigenständige Web-Applikationen auf einem Webserver in Betrieb zu nehmen, wurden TYPO3 und mixxt jeweils in einem separaten virtuellen Host eingerichtet.
Die Cross-Domain-Policy der Webbrowser verhindert aus Sicherheitsgründen (Sub-)Domänen-übergreifende AJAX-Aufrufe [6]. Um diese Beschränkung zu umgehen, kam auf dem Webserver zusätzlich das Apache-Modul „mod_proxy“ [7] zum Einsatz. Es leitet die AJAX-Anfragen an den Server außerhalb der eigenen (Sub-)Domäne weiter und stellt das Ergebnis dem Browser beziehungsweise der Client-Anwendung zur Verfügung.
Erweitertes Session-Handling
Wie bereits beschrieben, sorgt eine speziell dafür entwickelte Extension in der TYPO3-Applikation für die Nutzer-Authentifizierung. Damit beim Aufruf einer Community-Seite nicht eine erneute Anmeldung nötig ist, passte die umsetzende Agentur das TYPO3-Session-Handling den Anforderungen entsprechend an.
Um einen Zugriff auf Sessioncookies über mehrere Sub-Domains hinweg zu ermöglichen, musste zunächst die Cookie-Domain des Intranets im TYPO3-Install-Tool ohne Nennung der Subdomain im Format .domain.de gesetzt werden. Die Extension zur Authentifizierung erweitert die Funktionalität der Klasse „tslib_feUserAuth“ und schreibt zusätzlich benutzerbezogene Daten in die Session. Dadurch wird der Benutzer mit der Anmeldung in TYPO3 auch gleichzeitig an der Community angemeldet.
Erstellung der mixxt-Benutzerprofile
Beim ersten Aufruf der Community wird der Benutzer zur Vervollständigung seines mixxt-Profils auf eine Formularseite weitergeleitet. Hier hat er die Möglichkeit, persönliche Informationen zu ergänzen und ein Profilfoto hochzuladen. Sein vollständiger Name und seine E-Mail-Adresse werden aus dem ActiveDirectory des Domain-Controllers ausgelesen. Die automatische Erstellung der mixxt-Benutzerprofile hat den Vorteil, dass kein manuelles Anlegen neuer Community-Benutzer erforderlich ist.
Kontextsuche mit Sphinx
Um sowohl die Inhalte des CMS als auch die Benutzerinhalte der Community indizieren zu können, wurde die in der mixxt-Community implementierte Sphinx-Volltext-Suche [8] um weitere Indizes erweitert. Die Nutzdaten, unterteilt in News und klassische Inhaltselemente, werden in einer gesonderten Indizierungstabelle der TYPO3-Datenbank gespeichert und über einen Sphinx-Indexer der Volltext-Suche zur Verfügung gestellt.
Durch die separate Indizierung der verschiedenen Intranet-Bereiche kann der Benutzer eine kontextbezogene Suche durchführen, um zum Beispiel im Bereich der „Unternehmens-News“ ausschließlich Ergebnisse aus der TYPO3-News-Extension „tt_news“ zu erhalten. Gegenüber der Extension „indexed_search“, die bei großen Datenmengen in Bezug auf Performance schnell an ihre Grenzen stößt, bietet Sphinx deutliche Geschwindigkeitsvorteile. Die für das Projekt entwickelte Sphinx-Extension steht unter http://typo3.spot-media.de und im TER zum Download zur Verfügung.
Fazit
Zum Start des Ernsting’s-family-Intranets ist eine detaillierte, anonyme Erfassung des Benutzerverhaltens geplant, um die Akzeptanz der einzelnen Bereiche genauer analysieren zu können. Die modulare Erweiterbarkeit der eingesetzten Software gibt dem Unternehmen die Möglichkeit, schnell auf geänderte Anforderungen reagieren zu können. Durch die strategische Partnerschaft und enge Zusammenarbeit der spot-media AG und der mixxt GmbH entstand in kürzester Zeit eine innovative Plattform für den Informationsaustausch der Mitarbeiter von Ernsting’s family.
Interessantes Praxisbeispiel! Ich bin an Beispielen zur Umsetzung von größeren Internetprojekten mit Typo 3 / Drupal interessiert. Leider werde ich über die Suche nicht fündig. Evtl. wäre eine eigener Bereich dazu interessant!