Realisierung eines Kundencenters als TYPO3- Erweiterung mit Anbindung an SugarCRM und Redmine. Bachelorthesis

Größe: px
Ab Seite anzeigen:

Download "Realisierung eines Kundencenters als TYPO3- Erweiterung mit Anbindung an SugarCRM und Redmine. Bachelorthesis"

Transkript

1 Realisierung eines Kundencenters als TYPO3- Erweiterung mit Anbindung an SugarCRM und Redmine Bachelorthesis zur Erlangung des akademischen Grades eines Bachelor of Engineering (B. Eng.) von Sebastian Stein Erstbetreuer: Dr. rer. nat. Thomas Meinike Zweitbetreuer: B. Eng. Christian Opitz Arbeitsplatz: Netzelf Agentur für guten Eindruck GbR eingereicht am:

2 II Erklärung Ich versichere hiermit, dass ich die vorliegende Arbeit selbstständig ohne fremde Hilfe verfasst und keine anderen als die im Literaturverzeichnis angegebenen Quellen benutzt habe. Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder noch nicht veröffentlichten Quellen entnommen sind, wurden als solche kenntlich gemacht. Die Zeichnungen oder Abbildungen in dieser Arbeit sind von mir selbst erstellt wurden oder mit einem entsprechenden Quellennachweis versehen. Diese Arbeit ist in gleicher oder ähnlicher Form noch bei keiner anderen Prüfungsbehörde eingereicht worden. Merseburg, den Unterschrift Studierender

3 III Inhaltsverzeichnis Abkürzungsverzeichnis... V Abbildungsverzeichnis... VII 1 Einleitung Fallstudie CRM- und PMS-Systemwahl Aufgabenstellung Aufbau dieser Arbeit Grundlagen TYPO Allgemeines Installation und System-Konfiguration TypoScript Systemarchitektur FLOW3-Technologie Das Extension-Framework Extbase Die Template-Engine Fluid Analyse vorliegender Datenzugänge SugarCRM-Webservice Modul- und Datenstruktur SOAP-RPC Die WSDL-fähige PHP-Klassenbibliothek: NuSOAP Redmine-Webservice PMS-Ressourcen REST RESTful Webservice-Client: PHP-ActiveResource Entwicklungskonzept Anforderungen/Lösungsansatz Entwicklungsumgebung... 45

4 IV 4.3 Entwicklungsrichtlinien Entwicklung TYPO3-Testaufbau Die Nutzer-Authentifizierung Der native Authentifizierungsprozess Die Auth-Service -Klasse Das Extbase -Frontend-Plugin Konfiguration Anwendungslogik Steuerungslogik Darstellungslogik Auswertung Ergebnis Zusammenfassung Ausblick Literaturverzeichnis... VIII Anhang... XII A. Verzeichnisstruktur von SugarMine... XII B. Quellcode-Ausschnitt einer AccountController -Action... XIII C. Quellcode-Ausschnitt eines Fluid -Templates... XIV D. SugarMines Tickets (aus forge.typo3.org)... XVII

5 V Abkürzungsverzeichnis API ASCII BE CDATA CLI CMS CRM CRUD CSS CURL CVS DAM DBAL DDD DMS DTD ECMS ERP EXT FE GPL GUI HTML HTTP IETF IT IDE JSON LAMP LDAP MVC MySQL PHP PI PDT Application Programming Interface American Standard Code for Information Interchange Backend Character Data Command Line Interface Content-Management-System Customer-Relationship-Management Create, Read, Update, Delete Cascading Stylesheet Client for URLs Concurrent Versions System Digital Asset Management Database-Abstraction-Layer Domain Driven Design Dokumenten-Management-System Document Type Definition Enterprise-Content-Management-System Enterprise Resource Planning Extension Frontend General Public License Graphical User Interface Hypertext Markup Language Hypertext Transfer Protocol Internet Engineering Taskforce Informationstechnik Integrated Development Environment JavaScript Object Notation Linux, Apache, MySQL, PHP Lightweight Directory Access Protocol Model-View-Controller My Structured-Query-Language PHP Hypertext Preprocessor Plugin PHP Development Tool

6 VI PMS REST RoR RPC RSS SaaS SOAP SV SVN TER TS TSFE UML URI URL W3C WCMS WSDL XML XSD XSLT Projektmanagementsoftware REpresentational State Transfer Ruby on Rails Remote Procedure Call Really Simple Syndication Software as a Service Simple Object Access Protocol Service Subversion TYPO3-Extension-Repository TypoScript TypoScript Frontend Unified Modeling Language Uniform Resource Identifier Uniform Resource Locator World Wide Web Consortium Web-Content-Management-System Web Services Description Language Extensible Markup Language XML-Schema-Definition Extensible Stylesheet Language Transformation

7 VII Abbildungsverzeichnis Abb. 1: Cloud Computing am Beispiel eines Kundencenters als System-Knotenpunkt... 2 Abb. 2: System-Umgebung des Kundencenters SugarMine... 5 Abb. 3: WCMS-Leistungsklassen... 8 Abb. 4: Backend Ansicht des Install Tools von TYPO Abb. 5: Trennung von Layout, Inhalt und Steuerung Abb. 6: Die Systemarchitektur von TYPO Abb. 7: Das Model-View-Controller Paradigma Abb. 8: Die schichtweise Architektur des Domain Driven Designs von Extbase Abb. 9: Aggregat-Ansicht der Entitäten der Blog-Extension Abb. 10: Die Template-Engine als zentraler Verarbeitungsprozess der View Abb. 11: Routing von SOAP-Nachrichten durch den HTTP-POST Abb. 12: Formatiert dargestellte WSDL-Definitionen der Operation get_entry Abb. 13: SVN-Repository-Browser von Redmine Abb. 14: Ressourcen-Manipulation via URL nach REST Abb. 15: Aufgabenbereiche von SugarMine als Kundencenter Abb. 16: Leere Verzeichnisstruktur eines Frontend-Plugins unter Extbase Abb. 17: Seitenbaum der Testumgebung von SugarMine im TYPO3-Backend Abb. 18: Der Prozess-Chart für die Erzeugung einer Nutzersession unter TYPO Abb. 19: UML-Klassendiagramm (Vererbung) der Auth-Service -Klassen Abb. 20: UML-Klassendiagramm (Inkludierung) der Repository-Klassen im FE-Plugin. 62 Abb. 21: Prozessdelegationen einer beispielhaften Datenabfrage aus dem Frontend Abb. 22: Fehlerbenachrichtigung bei einer Datenänderung im Kundencenter Abb. 23: Tickets (Issues) aus Redmine im Kundencenter SugarMine Abb. 24: Belange (Cases) aus SugarCRM im Kundencenter SugarMine... 69

8 1 1 Einleitung 1.1 Fallstudie Diese Arbeit beschäftigt sich mit der Konzeption und dem programmiertechnischen Umsetzung eines Kundencenters, das im Auftrag der Agentur Netzelf steht. Ein Kundencenter bietet für ein Unternehmen die Möglichkeit, dem Kunden einen transparenten Einblick in den aktuellen Projektzustand zu gewähren. Die dadurch gewonnene Schnittstelle zwischen dem Kunden und dem Dienstleister vereinfacht den Informationsaustausch und dient der reibungslosen Kommunikation beider Geschäftsparteien. Im Kundencenter agiert der Auftraggeber förmlich im Projekt und gewinnt, durch den zusätzlichen Einfluss, gegenüber dem Dienstleister an Vertrauen. Zudem wird dem Kunden ein Einblick in die vom Auftragnehmer erfassten Daten gewährt. Dem dienstleistenden Unternehmen steht es dabei offen, inwieweit es dem Kunden Einblick und Eigeninitiative bei der Verwaltung der erfassten Daten zugesteht. Diese Möglichkeit erlaubt es, verwaltungstechnischen Aufwand bei der Datenpflege bzw. Datenerfassung von Kundendaten für das Unternehmen einzusparen. Es liegt also auf der Hand, dass der unternehmerische Einsatz eines Kundencenters dem Arbeitsfluss im Projektablauf auf beiden Seiten der Geschäftsabwicklung zu Gute kommt. Aufgrund der Vielfältigkeit möglicher Geschäftsfelder erscheint es unmöglich, auf eine fertige Software-Lösung zu setzen. Ein programmiertechnischer Eigenaufwand lässt sich also nicht verhindern. Jedoch existieren etablierte Open-Source IT-Systeme für das Management von Projekten und Kundendaten, die zusammengefasst eine solide Grundlage für Kundencenter-Funktionen abgeben. Hierbei wäre es die eigentliche Aufgabe des Kundencenters, die notwendigen Daten aus den Projekt- und Kundenmanagement-Systemen auszulesen und für den Kunden anschließend in einem eigenständigen Portal darzustellen. Da davon auszugehen ist, dass derartige Kundenoder Projektmanagement-Systeme datenbankgestützt sind, ist für das Kundencenter keine zusätzliche Persistenz der Daten notwendig. Es bietet sich für die Umsetzung des Kundencenters also ein Portal an, das vollständig auf Cloud Computing basiert. Die dabei ausgelesenen Daten können temporär an die Session des autorisierten Nutzers gebunden werden. Das zu entwickelnde Kundencenter ist demnach als eigenständige Dienstleistungssoftware (SaaS) zu verstehen, die in der bestehenden Firmen- Internetpräsenz (ECMS) integriert, als Schnittstelle zwischen den eingesetzten

9 2 Verwaltungssystemen (CRM und PMS) fungieren soll. Die folgende Abbildung zeigt, dass das Kundencenter an die eingesetzten Verwaltungssysteme gebunden und damit nur für einen vordefinierten Systemaufbau einsatzfähig ist. Abb. 1: Cloud Computing am Beispiel eines Kundencenters als System-Knotenpunkt 1.2 CRM- und PMS-Systemwahl Für die Auswahl der webbasierten Management-Systeme ist neben der Funktionalität auch die zur Verfügung gestellte API ausschlaggebend. Ohne eine vorhandene Programmierschnittstelle ist es für das Kundencenter unmöglich, auf externe Daten eines in sich abgeschlossenen Systems zuzugreifen, ohne dabei festgelegte Sicherheitsstrukturen zu verletzen. Außerdem kommt für dieses Projekt nur der Einsatz von Open-Source-Software in Frage, was die Auswahl proprietärer Management- Systeme von vornherein ausschließt. Dennoch brauchen sich Open-Source-Systeme nicht vor den kommerziellen Konkurenz-Produkten zu verstecken, was vor Allem auf einen stetig wachsenden Marktanteil vergleichbarer Open-Source-Systeme zurückzuführen ist. Diese Prognose hat sich nach einer Abfrage-Analyse auf verschiedenen Open-Source-Portalen, wie zum Beispiel Sourceforge (URL.: Sourceforge.net), bestätigt. Weiterhin ist zu beachten, dass der Begriff Open-Source mindestens auf einen offenen Quellcode, jedoch nicht zwangsläufig auf eine kostenfreie Verwendung, schließen lässt. Das ausgewählte System sollte zudem ein gewisses Marktreife-Potenzial aufweisen und den Open-Source Gedanken anhand einer Developer-Community widerspiegeln. Sogenannte Hosted-CRM oder -PMS kommen, neben den proprietären Systemen, für die Auswahl ebenfalls nicht in Frage, da hier keine absolute Datensicherheit gewährleistet werden kann insbesondere für sensible Kundendaten die von Dritten einsehbar wären.

10 3 Da die allgemeinen Auswahl-Kriterien der Systemwahl festgelegt sind, kann sich die weiterführende Selektion auf das jeweilige Aufgabengebiet beschränken. Kundenbeziehungsmanagementsoftware (CRM) Erst durch die Anbindung an ein CRM-System ist das Kundencenter in der Lage, den Kunden die Verwaltung und Einsicht von kunden- und auftragsbezogenen Daten zu ermöglichen. Grundsätzlich dient ein Kundenbeziehungsmanagement dem Kundenkontakt einer Firma. Ein CRM-System stellt dem Projekt- bzw. Kundenmanager ein Werkzeug zur Verfügung, das die Verwaltung von Kundenbeziehungen erleichtert. Vorhandene Aspekte für das Projektmanagement können integriert sein, sind aber nicht zwingend notwendig. Diverse technische Aspekte, die ein Projekt betreffen, sind ausschließlich auf Entwickler-Seite zu verwalten. Das nicht-technische CRM-Projektmanagement könnte demnach als erste Anlaufstelle die Lücke zwischen Auftraggeber und Entwickler schließen. Nach ausführlichen Recherchen hat sich herausgestellt, dass die Systeme Vtiger und SugarCRM den gestellten Anforderungen voll und ganz gewachsen sind. Letztendlich ist das Projektmanagement und betriebswirtschaftliche Personal zu dem Entschluss gekommen, SugarCRM (Community Edition) einzusetzen da es, subjektiv gesehen, eine bessere Nutzerfreundlichkeit aufwies. Außerdem genießt das Grundsystem von SugarCRM ein hohes Marktreifepotential nicht zuletzt wegen der alternativen, kommerziellen Enterprise-Version. Projektmanagementsoftware (PMS) Eine Projektmanagementsoftware stellt für das Kundencenter Daten zur Verfügung, die dem Auftraggeber einen ungetrübten Einblick in den aktuellen Projektfortschritt ermöglichen. Das bisherige PMS von Netzelf hört auf den Namen Dot Project. Die letztendliche Entscheidung gegen das System ist darin begründet, dass es sich derzeit in einer sehr frühen Entwicklungsphase befindet, was auf den System-Wechsel auf das Zend- Framework zurückzuführen ist. Aufgrund der Tatsache, dass betriebswirtschaftliche Projektmanagement-Funktionen bereits durch SugarCRM und Microsoft Project abgedeckt werden, ist es sinnvoll, auf eine PMS zu setzen, die auf das technische Unternehmens-Portfolio zugeschnitten ist.

11 4 Für Netzelf bietet sich daher ein System an, das den Anforderungen der Software- Entwickler und Designer entgegenkommt. Für das Kundencenter eröffnen sich damit Projektdaten, die dem Fachpersonal des Auftraggebers zur Verfügung gestellt werden können. Dazu zählen unter anderem der Zugriff auf das Ticket-System sowie der durch den Code-Browser ermöglichte Einblick in den versionskontrollierten Entwicklungsfortschritt (z.b. aus SVN- oder CVS-Repository). Die Verwendung dieser Features für das Kundencenter, gilt es im 26 (Anaylse vorliegender Datenzugänge) zu überprüfen. Sowohl Redmine, als auch Trac entsprechen den genannten Anforderungen als webbasierte Projektmanagementsoftware. Beide Systeme sind auf die Verwaltung von Software-Projekten spezialisiert und besitzen einen gleichwertigen Funktionsumfang. Hauptsächlich durch die Unterstützung zu einer übersichtlichen Verwaltung mehrerer Projekte fiel die Entscheidung auf Redmine. Der erfolgreiche Einsatz von Redmine unter der TYPO3-Entwickler-Gemeinde 1 untermauert diesen Entschluss. 1.3 Aufgabenstellung Als Enterprise-Content-Management-System (ECMS) bietet TYPO3 die Grundlage für die Internetpräsenz der Agentur Netzelf. Es hat sich herausgestellt, dass derzeit kein Kundencenter als TYPO3-Extension im TYPO3-Extension-Repository (TER) vorliegt. Dieser Umstand spricht dafür, für das benötigte Kundencenter eine Open Source Entwicklung auf der Grundlage einer TYPO3-Erweiterung durchzuführen. Neben Redmine, welches für das Software-Projektmanagement eingesetzt wird, steht SugarCRM für das Kundenmanagement zur Verfügung. Jedes der erwähnten Systeme hat sich als optimales IT-Werkzeug für das entsprechende Aufgabengebiet etabliert. Aus drei Systemen folgen drei in sich abgeschlossene Arbeitsumgebungen. Dieser Umstand erscheint für die Verwaltung optimal, erschwert jedoch die zusammengeführte Online- Präsentation von gemeinsamen Kunden- und Projektdaten. Um das Kundencenter zu realisieren, das relevante kundenbezogene Daten aus SugarCRM und Redmine zusammenfasst und darstellt ist, wie erwartet, eine weitere in sich abgeschlossene Web- Applikation notwendig. Die optimale Umgebung für diese Applikation bietet TYPO3, wo das Kundencenter als Schnittstelle zu den Projektmanagementsystemen Redmine und SugarCRM direkt in die bestehende CMS-Seitenstruktur, in Form einer TYPO3-1 URL: forge.typo3.org

12 5 Extension, integriert werden kann. (siehe: Abb. 2) Als Extension-Name ist die Bezeichnung SugarMine festgelegt. Ein Kunde, der sich in SugarMine anmeldet, muss gegen die Kundentabelle der SugarCRM-Datenbank authentifiziert werden können. Anschließend soll der autorisierte Kunde als Frontend-Nutzer unter TYPO3 angemeldet sein und sich in SugarMine befinden. In diesem Kunden-Portal hat der Nutzer Einsicht und Kontrolle über freigeschaltete Kunden- und Projekt-Daten aus den Verwaltungstools SugarCRM und Redmine. Abb. 2: System-Umgebung des Kundencenters SugarMine 1.4 Aufbau dieser Arbeit Grundlagen. Das folgende Kapitel beschäftigt sich ausschließlich mit Grundlagenwissen über TYPO3, das als CMS die Basis der Extension-Entwicklung ausmacht. Weiterführend werden zukunftsweisende Technologien vorgestellt, die aus dem aktuellen FLOW3-Framework stammen und ebenfalls unter TYPO3 als Entwicklungsgrundlage für das Kundencenter dienen: das Extension-Framework Extbase und die Template-Engine Fluid. Das Kapitel Grundlagen stellt somit den Recherche-Schwerpunkt dieser Arbeit dar, setzt Grundkenntnisse in Webtechnologien voraus und bereitet technologisches Verständnis auf spätere Abschnitte, wie der Entwicklung, vor.

13 6 Analyse. 26 dient der Analyse der Webservices, die SugarCRM und Redmine in Form einer API anbieten. Hierbei wird neben der theoretischen Recherche, die eine Vergleichsanalyse der vorliegenden Webservices erlaubt, auch eine programmiertechnische Umsetzung durchgeführt. Auf der Grundlage dieser Tests kann der praktische Nutzen, sowie die Durchführbarkeit der Webservice-APIs geprüft und miteinander verglichen werden. Ergebnis dieser Untersuchungen sind Erkenntnisse über die projektbezogene Einsatzfähigkeit der Webservice-Technologien und -APIs, die den Datenzugang zu den PMS- und CRM-Systemen für das Kundencenter ermöglichen. Konzept. Basierend auf den gewonnenen Erkenntnissen aus der vorangegangenen Hauptrecherche stellt 42 das Entwicklungskonzept des Kundencenters vor. Neben den technologisch ausformulierten Systemanforderungen, werden hier erste Aspekte vorgestellt die als Lösungskonzept in Frage kommen. Weiterhin wird die Arbeitsweise der Programmierung erläutert und anhand von eingesetzten Entwicklungsumgebungen und -werkzeugen beschrieben. Abschließend werden Entwicklungsrichtlinien besprochen. Sie sind von TYPO3 und FLOW3 vorgegeben und betreffen explizit die nachfolgende Programmierung der Kundencenter-Extension. Entwicklung. Für die technische Realisierung des Kundencenters fließen im 49 Recherche, Analyse und Konzept in die Durchführung zusammen. Einleitend wird der lokale TYPO3-Testaufbau beschrieben, der ausschließlich als Test- und Entwicklungsumgebung für die Kundencenter-Extension dient. Weiterführend wird der Extensionaufbau des Kundencenters erläutert und der Entwicklungsvorgang anhand von Prozesscharts, UML-Diagrammen und kurzen Quellcode-Ausschnitten beschrieben. Dabei spiegelt sich die Kapitelunterteilung in der modularen Struktur der Extension wider. Auswertung. Im 67 wird das Ergebnis des Kundencenters mit Hilfe von Bildschirmaufnahmen aus der Sicht des Browsers präsentiert. Dabei wird das praktische Ergebnis ebenfalls aus der Sicht des administrativen Extension-Nutzers erläutert. Die hauptsächliche Projekt-Auswertung findet in der Zusammenfassung statt, wo die vorliegende Arbeit kurz reflektiert wird. Abschließend wird auf zukünftige Verbesserungen und Weiterentwicklungen des Kundencenters eingegangen, die sich vor allem auf die Veröffentlichung als eigenständige Extension, sowie die System- Implementierung bei Netzelf beziehen.

14 7 2 Grundlagen 2.1 TYPO Allgemeines Ein Web-Content-Management-System (WCMS) dient als webbasierte Software zur Erstellung und Verwaltung von Internetseiten. Der unbestreitbare Vorteil eines Content-Management-Systems liegt in der Wartbarkeit und Flexibilität der Webseitenverwaltung. Während das Aussehen der Webseite über ein HTML-Gerüst und verschiedene Code-Teile gesteuert wird, können leicht veränderliche Elemente, Texte und Bilder in diesem Template, der Formatvorlage, angezeigt werden. Das zu Grunde liegende Template, das dass Aussehen steuert, lässt sich mit den entsprechenden Kenntnissen ändern, und diese Änderungen wirken sich auf alle bereits erstellten Webseiten aus. Die Inhalte, also Texte und Bilder, die in das Template eingebunden werden, lassen sich dagegen unabhängig vom Template oder anderem Programmcode anpassen, löschen und neu erstellen. Typischerweise sollen die zuständigen Mitarbeiter diese Aufgabe so einfach wie möglich erledigen können. Hierfür sind häufig keine Kenntnisse in HTML, der beschreibenden Websprache, nötig. 2 Kasper Skårhøj, der Erfinder und ehemalige Chefentwickler von TYPO3, hatte diesen Vorteil und Nutzen eines CMS schon frühzeitig erkannt und 1998 begonnen, die Grundlage für das heutige, modular aufgebaute TYPO3, zu schaffen. Das Ergebnis war eine objektorientierte, vollständig in PHP geschriebene, plattformunabhängige Serverapplikation, für deren Bedienung man lediglich einen Webbrowser benötigt. Die dafür benötigte LAMP/WAMP 3 -Architektur erlaubt eine sowohl offene, als auch standardisierte Grundstruktur. Erstmals im Jahr 2000 unter der GPL lizensiert (GNU General Public License) und veröffentlicht, wurde TYPO3 schließlich als Open-Source- Software durch zahlreiche freie Mitarbeiter weiterentwickelt. Es unterliegt einer wachsenden Entwickler-Community und ist durch den modularen Rahmenaufbau und den Extension Manager ebenso modular erweiterbar. Im TER 4, dem Extension- Verzeichnis für TYPO3, existieren derzeit über 4000 solcher Erweiterungen. Allerdings deckt TYPO3 nicht nur Funktionen ab, die einem Web-Content-Management- System (WCMS) gerecht werden, wie zum Beispiel dem Verwalten webfähiger Inhalte. 2 [Stöckl, Bongers 2006] Einstieg in TYPO3 4.0, S.12 3 Abk.: Linux/Windows, Apache, MySQL, PHP 4 Abk.: Typo3-Extension-Repository; URL:

15 8 Es gehört ebenfalls in den Bereich der Enterprise-Content-Management-Systeme (ECMS) und bietet Funktionen zur Gruppenverwaltung, die es dem System ermöglichen, auch als Portal oder Intranet in Erscheinung zu treten (siehe: Abb. 3). Abb. 3: WCMS-Leistungsklassen (Quelle: [Kroekertskothen 2005], S.6) Die Bezeichnung Enterprise-Web-CMS trifft es also auf den Punkt, wobei der Funktionsumfang auf die Erstellung von Internetseiten konzentriert ist. Ein Management auf der Druck-Plattform ist trotzdem möglich. Das Magazin t3n wird zum Beispiel über TYPO3 mit Hilfe der XML-Technologie automatisch aufgesetzt und generiert. TYPO3 ist ein mächtiges und zugleich flexibles System mit zahlreichen Features, die hauptsächlich von System- und TER-Erweiterungen abgedeckt werden. Eine komplette Feature-Übersicht ist online einsehbar. 5 Eine Aufzählung und Erläuterung der Grundfunktionen würde den Rahmen dieser Arbeit sprengen. Demnach werden in den folgenden Abschnitten nur die Enterprise-Fähigkeiten von TYPO3 aufgezeigt die es vor allem im Einsatz als ECMS für dieses Projekt auszeichnet. Folgende Anforderungen werden dabei laut Altmann an ein ECMS gestellt: Kennzeichnend für Enterprise Content Management Systeme ist die IT-Welt das Abbild bestehender Unternehmensprozesse, in denen es stattfindet. Zwischen Enterprise Resource Planning (ERP) und Customer Relationship Management (CRM), Dokumenten-Management-Systemen (DMS) und Office-Applikationen muss ein CMS 5 URL:

16 9 eine vereinende und vermittelnde Rolle einnehmen, um verschiedene Datenformate und Drittsysteme bei der Produktion und Präsentation von Inhalten nutzen zu können. 6 Aus dieser Anforderungsanalyse ist erkennbar, dass ein ECMS die ideale Basis für das Kundencenter als Systemschnittstelle darstellt. Sowohl ECMS als auch Kundencenter sind bestrebt, eine vermittelnde Rolle zwischen bestehenden Unternehmensprozessen einzunehmen. Es bietet sich daher an, das Kundencenter in das ECMS-Systemgefüge nahtlos einzugliedern. Folgende Enterprise-Funktionen verdeutlichen hierbei, wie TYPO3 den gestellten Anforderungen an ein ECMS gerecht wird: korrigieren kann. Zudem erlauben sogenannte Symlinks 10 Integrations- und Erweiterungsfähigkeit Durch die System-Extension DBAL 7 werden Datenbank-Klassen von TYPO3 derart erweitert, dass neben dem Zugriff auf MySQL auch andere Datenbanken angebunden werden können. Mit Hilfe dieser Teilfunktion der Extension-API und der Core-API ist TYPO3 auch dazu fähig, auf Fremdsysteme zuzugreifen. 8 Das modulare Rahmengerüst, der Extension-Manager, das Typo3 Extension Repository (TER) und die vordefinierten Entwicklungsrichtlinien nach den Project- Coding-Guidlines 9 erlauben zudem hochkompatible Möglichkeiten für Erweiterungen. Für die Extension-Entwicklung bietet TYPO3 vordefinierte Schnittstellen an, um Kern- oder Extension-Funktionen zu erweitern. Mit TYPO3 lassen sich unbeschränkte Seitenstrukturen realisieren und mehrfache Domains verwenden. Das erneuerte Frontend-Editing verbessert den Arbeitsfluss, indem der Redakteur auch aus dem Frontend heraus Seiteninhalte System- Administratoren durch die laufende TYPO3-Version umschalten und Updates vorzunehmen. Wartungsarbeiten können auch extern über das Command-Line- Interface (CLI) durchgeführt werden. Standardisierung und Internationalisierung TYPO3 setzt auf der offenen, standardisierten Architektur LAMP/WAMP auf. Somit ist für die Bereitstellung lediglich ein PHP-fähiger Apache-Webserver notwendig. 6 [Altmann et al. 2004] TYPO3, S.44 7 Abk.: Database-Abstraction-Layer 8 Vgl.: [AOE Media 2010] TYPO3-Funktionen für Unternehmen (Hrsg.) 9 URL: 10 Symbolische Links, die ein Umschalten auf einen anderen System-Kern bzw. auf eine andere Version ermöglichen

17 10 Durch Masken wird das Anlegen von mehrsprachigem Inhalt aus dem Backend heraus realisiert. Dabei ist es möglich, Sprachdateien über das XML-Format zu definieren, die wiederum von Übersetzungsagenturen bearbeitet werden können. Dafür ist die lokale Extension l10nmgr 11 verantwortlich. 12 Grundsätzlich sind für die Inhaltsverwaltung verschiedene Ausgabeformate möglich: XML, HTML, RSS, SOAP, DocBook und viele mehr. Rechte- und Zugriffsverwaltung Die Benutzer von TYPO3 können meist bestimmte Rollen in der Informationsverteilung eines Unternehmens innehaben. Durch ein geeignetes System von Berechtigungen kann die unerwünschte Erstellung oder Veränderung von Inhalten effektiv kontrolliert werden. 13 Mit Hilfe von Workspaces können ganze Arbeitsumgebungen für die Mitarbeiter vorgegeben werden. Die Live- Umgebung befähigt den entsprechenden Mitarbeiter, seine Artikel selbstständig zu publizieren. 14 Ein Lektor könnte so zum Beispiel die Artikel der Redakteure für eine Publikation freigeben oder eine nachträgliche Überarbeitung anfordern (Kollaborations-Fähigkeit). Desweiteren können neben den Backend- Nutzergruppen auch Frontend-Nutzergruppen definiert werden, damit nur autorisierte Besucher auf zugangsbeschränkte Webseiten-Bereiche zugreifen können. Datei- und Inhaltsarchivierung Dazu ist das Digital-Asset-Management (DAM) zu nennen: Es bietet erweiterte Funktionen zur Katalogisierung und Indexierung (Such- und Filtersystem) von veröffentlichungsfähigen Inhaltselementen an. Durch die Angabe von Metadaten sind diese auch durch Fremdsysteme auslesbar. Die Versionierung von TYPO3- Datensätzen erlaubt es, Änderungen von Datensätzen zu verfolgen und letztendlich auch rückgängig zu machen. Das Archivierungssystem des Content- Managements ist von dem Digital-Asset-Management abzugrenzen, da es nur die einfache Verwaltung beliebiger Inhalte betrifft. 15 Performance TYPO3 ist dynamisch. Alle Inhalte werden somit in Datenbanken gehalten und auf Abruf entsprechend erzeugt. Um die Serverlast bzw. Performance zu 11 Abk.: Localization-Manager 12 Vgl.: [AOE Media 2010] TYPO3-Funktionen für Unternehmen (Hrsg.) 13 [Torbek, Wüst 2006] TYPO3 Professionelle Webauftritte, S Vgl.: [AOE Media 2010] TYPO3-Funktionen für Unternehmen (Hrsg.) 15 Vgl.: [AOE Media 2010] TYPO3-Funktionen für Unternehmen (Hrsg.)

18 11 erhöhen, wurde ein Caching eingeführt. Hierdurch werden sowohl Inhalte als auch vom System erzeugte Grafiken statisch gehalten, bis sich Veränderungen ergeben Installation und System-Konfiguration Die Anforderungen für die Installation von TYPO3 sind: ein einsatzfähiger Apache- Webserver mit PHP- und MySQL-Unterstützung. TYPO3 ist online in drei verschiedenen Paketen erhältlich: TYPO3-Source, TYPO3-Dummy oder TYPO3-Source+Dummy. Im Source sind erwartungsgemäß die Quelldateien vom TYPO3-Kern enthalten. Der Dummy enthält ein leeres Seiten-Gerüst mit zusätzlichen Konfigurationen und Dateien für die sofortige Verwendung von TYPO3. Diese Trennung ist sinnvoll, da die Update- Funktion durch Symlinks sich nur auf Kern-Dateien aus dem TYPO3-Source bezieht. Diese Symlinks erlauben den Wechsel zwischen beliebigen System-Versionen und schaffen damit eine uneingeschränkte Update-Fähigkeit für das laufende TYPO3- System. Leider ist diese Funktion zum Umschalten der Version nur unter Unix-Systemen verfügbar. Auf Windows-Systemen ist daher eine komplette Überschreibung der Kern- Dateien notwendig. Der folgende Abschnitt erläutert den Installationsablauf von TYPO3 anhand einer lokalen, virtuellen Webserver-Umgebung. Das frei verfügbare TYPO3-Paket mit zusätzlicher Dummy-Site, wird als Ordner in das Dokumenten-Verzeichnis des Webservers abgelegt. Über den Browser wird der entsprechende localhost gestartet und die index.php im TYPO3 Root-Verzeichnis geladen (zum Beispiel: welche die Anfrage an das Install Tool weiterleitet. Hierbei ist zu bemerken, dass in der besagten index.php nur Konstanten definiert werden und das tatsächliche Frontend-Rendering in der darin inkludierten index_ts.php stattfindet. Aus Sicherheitsgründen muss für die Aktivierung des Install Tools eine leere typenfreie Datei namens ENABLE_INSTALL_TOOL im Ordner typo3conf vorliegen. Außerdem ist es notwendig, Browser-Cookies aktiviert zu haben. Das im Browser dargestellte Install Tool ähnelt einem typischen Installations-Wizard aus Windows und bietet zwei Installations-Modi an: Der 123-Modus oder der Modus für fortgeschrittene Nutzer. Beide unterscheiden sich lediglich in der Angabe der optionalen Konfigurationen. Da es im 123-Modus auch nachträglich noch ohne weiteres möglich ist, sämtliche Konfigurationen vorzunehmen, erscheint es sinnvoll diesen Weg einzuschlagen. Zunächst werden Datenbankumgebungs-Parameter abgefragt, um 16 [Mittwald CM Service 2009 ] - Grundlagenwissen TYPO3 Version 4.2.x, S.27

19 12 TYPO3 damit zu verbinden. Diese Angaben sind ab sofort in Form von Arrays in der Datei localconf.php im Ordner typo3conf wieder zu finden. Ist keine leere TYPO3- Datenbank vorhanden, muss eine neue angelegt werden, um diese anschließend automatisch mit TYPO3-Datenbanktabellen füllen zu können. In der localconf.php befinden sich weitere Grundparameter und globale Variablen, wie zum Beispiel der Seitenname oder die Liste der installierten und geladenen Erweiterungen. Nach dieser kurzen Installations-Prozedur ist TYPO3 lauffähig und man kann sich mit dem Standard- Passwort im Backend einloggen oder weitere Konfigurationen vornehmen. Die erwähnten administrativen Konfigurationen sind auch aus dem Backend heraus definierbar. Für die Darstellung des Backends wird neben den Browser-Cookies auch aktiviertes JavaScript benötigt. Nach der Anmeldung durch die noch vorgegebenen Login-Daten erscheint schließlich das in drei Spalten aufgeteilte Backend Im Browser. Die linke Menü-Spalte hat die Auswahl der Haupt- und Submodule zum Inhalt. Für den derzeitig angemeldeten Administrator sind alle vorhandenen Hauptmodule einsehbar: Web, File, User tools, Admin tools und Help. Im Mittelbereich befindet sich, je nach ausgewähltem Modul, ein weiteres Navigations-Menü und rechtsseitig ist die eigentliche Arbeitsumgebung und Detailansicht angelegt. Um erneut die administrativen Konfigurationen des Install Tools zu erreichen, muss das Submodul Install unter dem Hauptmodul Admin tools ausgewählt werden. (siehe: Abb. 4) Abb. 4: Backend Ansicht des Install Tools von TYPO3 4.3

20 13 Wie der Name des Moduls Admin tools schon verrät, sollten nur ausgewählte Administratoren Zugriff auf diese Einstellungen haben. Die zu Beginn angelegte ENABLE_INSTALL_TOOL-Datei wird nach einer Stunde automatisch aus dem Ordner typo3conf gelöscht und ist hierfür weiterhin notwendig. Nach der Eingabe des Passworts, wird das Install Tool erneut mit folgenden Menüpunkten dargestellt: 1. Basic Configuration Dieses Feld enthält in PHP definierte Basis-Konfigurationen der Datei: typo3conf/localconf.php. Dazu gehören Datenbank-Einstellungen wie: User- Name, Password und Host. Außerdem existieren Einstellungen zu Bildverarbeitung, Mail-Server und Schreibrechten. 2. Database Analyzer Wie der Name vermuten lässt, dient dieser Menüpunkt der Analyse, Konfiguration und Manipulation der TYPO3-Datenbank. Darüberhinaus werden Hinweise zur TCA-Konfiguration 17 oder zu neuen Datenbank-Feldern gegeben. 3. Update Wizard Mit Hilfe der zur Verfügung gestellten Methoden können Anpassungen vorgenommen werden, um Änderungen zu beheben, die nicht rückwärtskompatible System-Updates nach sich ziehen. 4. Image Processing Hier ist eine Anleitung zur korrekten Einstellung für die verwendete Bildverarbeitungs-Software (ImageMagick oder GDLib) zu finden. 5. All Configuration Dieser Bereich enthält eine Auflistung und Beschreibung aller System- Konfigurationen, die im TYPO3_CONF_VARS-Array abgespeichert sind. 6. typo3temp/ Alle von TYPO3 erstellten temporären Dateien sind im Ordner typo3temp/ enthalten und können ebenfalls aus dem Install Tool heraus verwaltet werden. 7. Clean up database Der Clean Up Manager ist in der Lage, diverse Datenbank-Tabellen von unnützen Daten zu säubern. Dazu gehört zum Beispiel der Cache, der für den Schnellzugriff auf Bilder-Größen hochgeladener Bilddateien verwendet wird. 8. phpinfo() Es handelt sich um eine PHP-Funktion, mit der man aktuelle PHP- Statusinformationen auslesen kann. 17 Abk.: Table Configuration Array; Beschreibt, anhand eines PHP-Arrays, Datenbank-Tabellen, auf die TYPO3 zugreifen kann.

21 14 9. Edit files in typo3conf/ Hiermit ist eine Browser-Bearbeitung von Dateien aus typo3conf/ möglich TypoScript Das Anlegen von Seitenstruktur und Inhaltstypen ist weitestgehend selbsterklärend. Jedoch ist eine Seite in TYPO3 keine HTML-Datei, sondern ein einfacher Datensatz. Die Kontrolle dieser Datensätze erfolgt durch Templates in der Konfigurationssprache TypoScript. Templates sind in TYPO3 ebenfalls Datensätze und nicht mit HTML- Designvorlagen zu verwechseln. (siehe: Abb. 5) Abb. 5: Trennung von Layout, Inhalt und Steuerung (Quelle: [Net-Lab 2010]) TypoScript gehorcht im Backend auf eine Art Objektschreibweise, die durch Punkte getrennt wird: Objekt.Speicherposition.Eigenschaft = Wertzuweisung. Zuvor muss jedem Objekt ein entsprechender Typ auf die gleiche Art und Weise zugewiesen werden. Zur Ausgabe von Seiteninhalten ist also ein Template in der Wurzelseite notwendig, das auf die unterliegenden Seiten vererbt wird. Grundkonfigurationen wie zum Beispiel der Doctype werden im Konfigurations-Objekt config angegeben. Seiteninformationen, wie zum Beispiel die Navigation, befinden sich analog dazu im Seiten-Objekt page. Möchte man eine Designvorlage einbinden, muss der Pfad der CSS-Datei und des HTML-Templates im Seitenobjekt definiert werden. Der gewünschte Seiteninhalt kann dann im Seitenobjekt den Markern ###...### im HTML- Template zugeordnet werden. Dafür sind Angaben über Datenbanktabelle tt_content und Feldposition des Inhaltelements notwendig. Diese Feldpositionen 0, 1, 2 und 3 dienen als Selektoren und sind mit vorgeschriebenen Positionsnamen (mitte, links, rechts, rechts-außen) verknüpft, die der Redakteur später bequem auswählen kann. Eine weitere Besonderheit von TypoScript ist die Eigenschaft wrap, durch die angesteuerte Content-Objekte cobjects mit diversen HTML-Elementen umschlossen werden können.

22 15 Ein solches cobject kann zum Beispiel vom Typ Text sein und dann mit einem h3- Element umgeben werden. Ebenfalls sehr nützlich ist das cobject HMENU, das zur Definition von hierarchischen Menüstrukturen dient. Es bildet die Grundlage für verschiedene Menüobjekte, die eine automatisch angelegte Seitennavigation ermöglichen: Das TMENU erzeugt ein einfaches Textmenü und die Zustände eines GMENU sind dynamisch erzeugte Grafiken. Zusammenfassend dient TypoScript (TS) als Konfigurationssprache unter TYPO3 derart vielen Aufgabenbereichen, dass es schwer fällt, TypoScript einer expliziten Funktion zuzuordnen. Neben der erläuterten Trennung von Layout, Inhalt und Steuerung, fungiert TypoScript noch für weitere Aufgabenbereiche unter TYPO3. Sie wird genutzt, um TYPO3 und Erweiterungen zu konfigurieren, Templates zu konfigurieren und Marker zu ersetzen, Inhaltselemente wie z.b. Menüs dynamisch zu erstellen, Zusätzliche Funktionen und Klassen einzubinden, Grafiken zur Laufzeit zu erstellen, Backend-Konfigurationen vorzunehmen (TSConfig) Systemarchitektur TYPO3 ist ein vollwertiges Komponentenframework, das der Erstellung von Webinhalten dient. Diese Modularität spiegelt sich in der Systemarchitektur (siehe: Abb. 6) durch folgende Komponenten wider: [ ] zum einen dem Systemkern, der sich auf einem Linux-Webserver mit symbolischen Links für mehrfache Installationen verwenden lässt. Dann stellen die Basisfunktionen die Funktionalität des Systems sicher, und die Entwicklungsschnittstellen (APIs) ermöglichen die Erweiterung des Systems und den einfachen Zugriff auf dessen Funktionen. So genannte Extensions (Erweiterungen) sind in großem Umfang bereits vorhanden und greifen auf Funktionen und Schnittstellen des Grundsystems zurück, um zusätzliche Funktionen bereitzustellen. Mit ihrer Hilfe kann dann eine speziell angepasste Konfiguration für ein Webprojekt geschaffen werden. Dies ist nur möglich, weil TYPO3 extrem modular aufgebaut ist [Opitz 2009] Konzeption und Entwicklung einer TYPO3-Erweiterung zur datenbankgestützten Formularerzeugung und -konfiguration, S.7 19 [Torbek, Wüst 2006] TYPO3 Professionelle Webauftritte, S.16

23 16 Abb. 6: Die Systemarchitektur von TYPO3 (Quelle: [Konert 2006], S.46) Aus der Systemarchitektur ist zu erkennen, dass es drei unterschiedliche Arten von Extensions gibt: System-Extensions, Backend-Module und Frontend-Plugins. Jede dieser Arten einer Extension stellt eine individuelle Erweiterung des TYPO3- Funktionsumfangs dar. System-Extensions (Abk.: Sysext) sind Erweiterungen, die schon fest im TYPO3-Kern integriert sind. Dazu gehört auch das Content-Management-System von TYPO3 (Sysext: CMS siehe: Abb. 6). Backend-Module sind Erweiterungen für die Redaktion im Backend. Sie sind in der Lage, sich in die vorhandene Benutzeroberfläche im Backend einzubetten. Frontend-Plugins können schließlich Inhalte im Frontend, also der dargestellten Webseite, manipulieren. Durch die Extension-API 20 wird eine Systemschnittstelle geschaffen, die eine uneingeschränkte Funktionserweiterung für den Kern ermöglicht. In dieser API werden alle Funktionen gekapselt, die für die Verwaltung der Extension notwendig ist. So finden sich hier Funktionen, die überprüfen, ob eine Extension bereits geladen ist oder wie der Pfad zu einer Extension genau lautet. [ ] URL: extmgm.html 21 [Ebner, Lobacher 2008] t3n, H.14, S.132, Teil2: Allgemeine APIs

24 17 Für eine individuelle Erweiterung bestehender Kern- oder Extension-Funktionalitäten existieren folgende Hilfsmittel: XCLASS Um aus einer Extension heraus eine vorhandene Klasse erweitern oder überschreiben zu können, ohne den Quellcode jener Klasse permanent zu verändern, wird am Ende dieser eigentlichen Klasse eine sogenannte XCLASS registriert. Instanziiert man die gewünschte Klasse über die dafür vorgesehene Methode t3lib_div::makeinstance(), kann die registrierte XCLASS-Klasse ohne Einschränkungen manipuliert werden. 22 Hooks Bei Hooks werden im Gegensatz zu XCLASS keine registrierten Klassen-Kopien zur Verfügung gestellt, sondern vom Entwickler fest definierte Bereiche (Methoden). Tritt eine Änderung der Ausgangsdatei ein, bleibt der Hook mit Sicherheit weiterhin einsatzfähig, sofern der Entwickler den Einsprungpunkt (Hook) nicht verändert hat. Services Services haben das gleiche Ziel wie Hooks oder XCLASS: Eine funktionale Erweiterung zu schaffen, ohne den vorhandenen Quellcode zu beeinflussen. Nur werden hier von TYPO3 vorgegebene Service-Typen registriert, damit TYPO3 die jeweilige Prozedur mit dem alternativen Programmcode ausführen kann. Eine auf diese Art und Weise registrierte TYPO3 Prozedur könnte zum Beispiel die komplette Nutzer-Authentifizierung darstellen. Die dabei anfallende Dienstgüte wird anhand einer prozentualen Angabe von Qualität und Priorität definiert und ausgewertet. 2.2 FLOW3-Technologie Das Extension-Framework Extbase Vor der Veröffentlichung von TYPO3 4.3 haben sich Hilfsmittel wie der Kickstarter 23 und die Plugin-Basis-Klasse 24 bewährt, dem Extension-Entwickler eine nützliche Entwicklungsgrundlage zu bieten. In der Zeit moderner Programmier-Konzepte und Frameworks erscheint es jedoch veraltet und unpraktisch, den gesamten Programmcode 22 Vgl.: [Opitz 2009] Konzeption und Entwicklung einer TYPO3-Erweiterung zur datenbankgestützten Formularerzeugung und -konfiguration, S Ein Installations/Konfigurations-Wizard, der für die Programmierung ein leeres Extension-Gerüst erstellt 24 URL zur Klassenreferenz: pibase.html

25 18 der Extension in nur einer Klassen-Datei zu verschachteln 25 und diese funktional lediglich um die entsprechende Basis-Klasse zu erweitern. Desweiteren hat sich gezeigt, dass die gewachsenen System-Strukturen von TYPO3 den modernen Anforderungen agiler Software-Entwicklung entgegen wirken. Das Entwickler-Team von TYPO3 hat sich letztendlich dafür entschieden, ein neues und zugleich zukunftsweisendes PHP- Framework für TYPO3 zu entwickeln, das die Vorteile etablierter Open Source PHP- Frameworks in sich vereint: FLOW3. Ein übersichtlicher Vergleich zu bekannten PHP- Frameworks ist online in Tabellen-Form verfügbar. 26 Momentan befindet sich die Entwicklung von FLOW3 noch in einer frühen Alpha-Phase. Die FLOW3-Integration und Fertigstellung von TYPO3 5 liegt daher noch auf einen unbestimmten Zeitraum. Die Projektabspaltung von FLOW3 ist darauf zurückzuführen, dass ein derart fortschrittliches Framework auch für eine systemunabhängige PHP-Entwicklung zur Verfügung gestellt werden sollte. Damit aktuell entwickelte Extensions auch in Zukunft mit TYPO3 5 kompatibel sind, wurde Extbase als technologischer Rückimport aus FLOW3 von Jochen Rau entwickelt und in den TYPO3 4.3 Systemkern integriert. Hierbei ist anzumerken, dass sowohl Extbase, als auch die Template Engine Fluid, als stabil deklariert sind, sich jedoch beide noch in Entwicklung befinden. 27 Extbase ist eine Systemextension (Sysext) die ein MVC-Framework für die Extension- Entwicklung bereitstellt. Der Einsatz einer Software-Architektur nach dem MVC- Paradigma (Model-View-Controller) dient hauptsächlich der Effizienz 28, Transparenz (Lesbarkeit und Verständlichkeit) und Flexibilität (Erweiterbarkeit) des Programmcodes. Diese Ziele werden durch eine modulare Programmstruktur ermöglicht, die eine komponentenweise Aufteilung in drei Einheiten aufweist: Modell (Model) Es handelt sich um ein Objekt, das ausschließlich Daten und Anwendungslogik (Application Logic 29 ) eines Aufgabenbereichs (Domäne) enthält. Präsentation (View) Diese Einheit ist nur für die Darstellung der Daten aus dem Modell verantwortlich. Steuerung (Controller) Der Controller interagiert mit Nutzereingaben, steuert den Datenfluss, löst Aktionen (Actions) aus, verwaltet Views und entscheidet, welches Modell zum Einsatz kommt Prozedurale-Programmierung (nicht-objektorientiert) führt zu ungeordneten Kontrollstrukturen, was der Flexibilität und Lesbarkeit schadet: Spaghetticode 26 URL: 27 Vgl.: [Ross 2009] Get into FLOW3 with Extbase 28 Komplexität findet keine Rechtfertigung wenn Dinge einfach sein könnten ~ Leonardo Da Vinci 29 Beschreibt den funktionalen Informationsaustausch zwischen Datenbank und Nutzer-Schnittstelle

26 19 Extbase agiert hierbei als Vermittler (Dispatcher bzw. Main-Controller) zwischen der konventionellen und der neuen Software-Architektur. Ein typischer Programmablauf wäre eine Anfrage (Request) vom Dispatcher an den jeweiligen Controller, der das darauf bezogene Modell vorbereitet und entscheidet, welche Action ausgelöst wird. Jede Action besitzt als PHP-Methode genau eine View, an die das Modell übergeben wird. Abschließend reicht der Controller die erhaltene Antwort (Response) der View an das Frontend-Rendering von TYPO3 weiter. (siehe: Abb. 7) Abb. 7: Das Model-View-Controller Paradigma (Quelle: [Lemke, Dambekalns 2009], S.37) Der zweite konzeptionelle Grundpfeiler, der von FLOW3 geerbt wurde, ist das Domaindriven Design (DDD), das mit dem MVC-Framework auf einer schichtweisen Architektur (Layered Architecture) aufsetzt. (siehe: Abb. 8) Es handelt sich dabei um ein Architektur-Konzept, das es erlaubt, die Domäne in den Vordergrund komplexer Softwareprojekte zu stellen. Daraus resultiert eine verbesserte Abstimmung und Kommunikation zwischen Auftraggeber und Entwickler. Die Basis dafür bilden eine allgegenwärtige Sprache, die das Verständnis ausbaut und ein Modell, das als Objekt die Domäne in sich widerspiegelt und damit die Wirklichkeit repräsentiert: Domain Model. 31 Diese Reflektion wird erreicht, indem sich das Domänenmodell durch iterative Zyklen nach und nach der Realität annähert. Dabei ist es wichtig, dass das Modell in die Software-Architektur implementierbar ist. Das UML 32 -Klassendiagramm bietet dafür eine geeignete Darstellungsform. Um dem Extension-Entwickler eine geeignete grafische Benutzeroberfläche (GUI) für die Planung und Implementierung von Domänen- 30 Vgl.: [Lemke, Dambekalns 2009] - FLOW3 Framework, S Vgl.: [Evans 2004] Domain Driven Design, S Abk.: Unified Modeling Language

27 20 Beziehungen zu bieten, wird derzeit ein neuer Extbase Kickstarter 33 entwickelt. Wie von dessen Vorgänger gewohnt, wird auch der Extbase Kickstarter ein Extension- Grundgerüst vorbereiten können, das jedoch in diesem Fall nach den Regeln (Namenskonventionen und Verzeichnisstruktur) der MVC- und DDD-Architektur aufgebaut sein wird. Abb. 8: Die schichtweise Architektur des Domain Driven Designs von Extbase (Quelle: [Kurfürst 2009 c], S.36) Für das weitere Verständnis bietet es sich an, die Domäne als implementierte Software- Einheit zu durchleuchten: Hinter jedem Modell versteckt sich eine einfache PHP-Klasse (POPO 34 ), die es durch geeignete Eigenschaften und Methoden repräsentiert. Ist für das Modell eine umfassende Anwendungslogik notwendig, die einen Datenzugang voraussetzt, wird dieser über das Repository ermöglicht. Sobald dem Modell ein weiteres untergeordnet wird (Tochter-Modell), entsteht ein hierarchisch aufgebauter Sammelbehälter, der als Aggregat bezeichnet wird. Das Eltern-Modell stellt in diesem Kontext die Aggregat-Wurzel dar. All dies ist nach wie vor einer Domäne zugeteilt. 35 Nach den Prinzipien des Domain-driven Design arbeitet auch der aus FLOW3 rückportierte Persistence-Manager. Er ermöglicht es, Objekte, die hierarchisch nach ihrer jeweiligen Domäne miteinander verknüpft sind (Aggregat), automatisch zu persistieren. Somit werden alle Änderungen von Objekten (inkl. den Tochter-Objekten), die auf ein Repository aufsetzen, transparent beibehalten. Der Schlüsselpunkt dabei ist, dass man mit Objekten hantiert und über save()-methoden den Datenbankzugriff auslösen kann: Active Record Pattern URL: 34 Abk.: Plain Old PHP Object 35 Vgl.: [Lemke, Dambekalns 2009] - FLOW3 Framework, S Ein Software-Modell das beschreibt, wie über CRUD-Funktionen (create, read, update, delete) ein Zugriff auf relationale Datenbanken erfolgt.

28 21 Folgende Abbildung zeigt das Aggregat einer Domäne der beispielhaften Blog-Extension vom Extbase-Entwickler Jochen Rau. Der Blog dient als Aggregat-Wurzel der Entitäten von Nachrichten (Posts). Dadurch können Änderungen über das Post-Repository dem jeweiligen Blog zugeordnet werden, der wiederum über das Blog-Repository persistiert wird. Abb. 9: Aggregat-Ansicht der Entitäten der Blog-Extension (Quelle: [Kurfürst 2009 c], S.92) Das FLOW3-Framework setzt sich aus zahlreichen Submodulen zusammen. Extbase hat neben MVC-Framework, DDD-Konzept und Persistence-Modul noch weitere Module des aktuellen Entwicklungsstands von FLOW3 übernommen: Object Manager Der Object Manager ist dafür zuständig, Objekte zu erstellen und deren Abhängigkeiten (über Dependency Injection 37 ) zueinander zu verwalten. Dabei existieren drei verschiedene Object Scopes 38 : Singleton (eine Obj.-Instanz), Prototype (normales Instanziieren) und Session (eine Obj.-Instanz, die an die Session gebunden ist). Der Session-Scope ist noch nicht implementiert, aber dafür vorgesehen. Reflection API Diese API erweitert die von PHP5 bereitgestellte Reflection 39 um das dokumentarische Abfragen von Kommentaren und Zwischenspeichern (Cached Reflection Service) der Reflection. 37 Reduziert starre Objekt-Abhängigkeiten, indem die gewünschte Instanz, dem Objekt injiziert wird. 38 Beschreiben die Verfügbarkeit und Zugänglichkeit von Daten, Methoden und Eigenschaften eines Objekts 39 Bietet eine API, die das zurückentwickeln (Reverse Engineering) von Klassen, Methoden und Interfaces ermöglicht

29 22 Security Framework Jegliche Sicherheits-Aspekte (z.b. Authentifizierung) werden zentral über das Security Framework verwaltet und über eine API zugänglich gemacht. Utility Module Es handelt sich um eine Klassen-Bibliothek, die Allzweck-Funktionen (z.b. für das Extension-Management) bereithält. Validation Module Dieses Modul enthält ein Framework für das Validieren und Filtern von Objekten, wobei auf vordefinierte und individuelle Regel-Muster zurückgegriffen werden kann. Error Module Hier finden Klassen Platz, die das Error- und Exception-Handling unterstützen. Property Module Das Property Module ist für das Setzen und Auslesen von Objekt-Eigenschaften zuständig. Configuration Framework Der Configuration Manager ist hierbei als zentrale Einheit dazu in der Lage, Konfigurationen zu definieren, kaskadieren und auszulesen Die Template-Engine Fluid Eine Template-Engine erweckt statische HTML-Templates zum Leben, indem es ermöglicht wird, Platzhalter mit Inhalten einer externen Datenquelle zu füllen. Die dafür notwendige Anwendungslogik übernimmt die Template-Engine (siehe: Abb. 10). Das klassische Templating mit TYPO3 ist von Markern und Subparts (siehe: Abschnitt 2.1.3) in der Designvorlage abhängig, was der Konsistenz im Template schadet. Im Gegensatz zu bekannten PHP-basierten Template-Engines (Smarty, PHPTAL, etc.), vereint Fluid folgende Eigenschaften: leicht verständliche Syntax, flexibel und einfach erweiterbar, objektorientierter Quellcode (PHP5) und strikte Trennung zwischen Layout und Steuerung (PHP-freies Template) Vgl.: [Lemke, Dambekalms 2009] - FLOW3 Framework, S.1-2, S Vgl.: [Kurfürst 2009 a] t3n, H.16, Fluid Templating leicht gemacht

30 23 Abb. 10: Die Template-Engine als zentraler Verarbeitungsprozess der View Fluid ist eine von Sebastian Kurfürst entwickelte Systemextension für TYPO3 4.3, die neben Extbase ebenfalls ihren Ursprung als Bestandteil im FLOW3-Framework hat. Dabei sind Extbase und Fluid eng miteinander verknüpft, denn Fluid stellt die Anwendungslogik der Template-View für das MVC-Framework von Extbase dar. Das bedeutet, Fluid erweitert die vorhandene View, die ausschließlich für das einfache Darstellen von Inhalten zuständig ist, um zusätzliche Kontrollmechanismen für das Template-Rendering. Dazu gehört zum Beispiel das Traversieren von Arrays und ganzen Objekten: Controller-Action (PHP-Datei): $array = array('key' => 'value', 'key2' => 'value2'); $this->view->assign('identifier', $array); Fluid-Template (HTML-Datei): <h3>{identifier.key2}</h3> Im PHP-Code-Beispiel wird das assoziative Array als Inhalt in die View gesteckt. Das erste Argument der assign()-methode dient dabei als Bezeichner, das zweite enthält das Daten-Array. Das der Controller-Action zugehörige Fluid-Template ist nun in der Lage, den gewünschten Key des übergebenen Arrays anhand einer punkteseparierten Notation ( { } - ähnlich JSON 42 -Notation) auszuwählen und den dazugehörigen Wert darzustellen. Hinter dieser neuen Anwendungslogik steckt ein Template-Parser von Fluid, der dem Rendering zwischengeschaltet ist. Wie erwähnt, ist Fluid auch dazu fähig, ganze Objekte zu traversieren: Das entsprechende Objekt wird wie gewohnt an die View übergeben. Dabei handelt es sich 42 Abk.: JavaScript Object Notation

31 24 vorzugsweise um ein Domänenmodell, das diverse Getter- und Setter-Methoden besitzt, die dessen Objekt-Eigenschaften repräsentieren. Der beispielhafte Ausdruck {identifier.objektname.objekteigenschaft} aus dem Fluid-Template ist daher gleichbedeutend mit dem Methoden-Aufruf: $objektname- >getobjekteigenschaft(). Diese Getter- und Setter-Methoden im Modell folgen einer Lower Camel Case 43 -Namenskonvention mit festgelegtem Präfix: get oder set. Je nach Domänen-Kontext können auch ganze Modell-Ketten im Aggregat vorliegen (siehe: Abb. 9). Um derartige Strukturen nach ihren Objekten und Eigenschaften zu iterieren, benötigt man die Kontrollstruktur einer Schleife. Jegliche Ausgabelogik wird bei Fluid über sogenannte ViewHelper realisiert, wobei hinter jedem ein XML-Element steckt, das wiederum einer PHP-Klasse aus dem Fluid-Core zugeordnet ist. Die Tatsache, dass ausschließlich Tags in der View benötigt werden, führt zu einem einheitlichen und übersichtlichen Template-Aufbau, zu dessen Verständnis keine direkten Programmierkenntnisse notwendig sind. Der For-ViewHelper <f:for> verhält sich als Kontrollstruktur im Fluid-Template wie eine PHP-Foreach Schleife. Die folgende Foreach-Kontrollstruktur stellt die Eigenschaften der vorhandenen Tochter-Objekte, in Form einer Liste dar: <ul> <f:for each="{parentobject.objects}" as="object"> <li>{object.eigenschaft}</li> </f:for> </ul> Außerdem ist es möglich eigene ViewHelper zu entwickeln, falls die schon vorhandenen nicht ausreichen sollten. Fluids ViewHelper besitzen dafür einen eigenen Namensraum (ähnlich XML-Namespace), der durch das Präfix f gekennzeichnet und standardmäßig implementiert wird. Durch das Implementieren eigener Namensräume ist es damit unmöglich, vorhandene ViewHelper mit eigenen zu überschreiben. Um sich wiederholende Template-Strukturen zu minimieren, existiert die Möglichkeit, Template- Layouts zu schreiben. Diese enthalten neben dem Standard-Layout einen Render- ViewHelper, dessen Section-Attribut die darzustellende Sektion aus dem Ziel-Template kennzeichnet. Abschließend muss auf den Zielseiten noch deklariert werden, um welches Layout-Template es sich handelt <f:layout name="..." /> und welche Sektion davon im Ziel-Template betroffen ist Camel-Case ist eine Trenn-Schreibweise für zusammengesetzte Wörter: lowercamelcase, UpperCamelCase 44 Vgl.: [Kurfürst 2009 b] Fluid Templating System, S.3, S.5-6

32 25 <f:section name="inhalt">...</f:section> Unter den Kontrollstrukturen existiert noch der sehr nützliche If-ViewHelper <f:if>, der mit dem Then- und Else-ViewHelper verschachtelt werden kann. Für diese If/Else- Bedingungen sind nur boolesche Ausdrücke miteinander vergleichbar. Neben den Link-ViewHelpern <f:link. > und <f:link.external>, erlaubt es der ViewHelper <f:link.action> Links an Controller-Actions anzugeben. Ebenso können GET/POST-Parameter eines Formulars durch den Form-ViewHelper an beliebige Actions gesendet werden. Der Zugriff auf Sprach-Labels (XML-Format) ist über den Translate-ViewHelper möglich. Dadurch liegt eine simple und zugleich systemumfassende Lösung für die Mehrsprachigkeit in Extension-Templates vor. Hinter diesen und weiteren ViewHelpern steckt das Kernkonzept von Fluid, das dem Template-Designer eine weitreichende Anwendungslogik in Form von leicht verständlichen XML-Tags anbietet.

33 26 3 Analyse vorliegender Datenzugänge 3.1 SugarCRM-Webservice Modul- und Datenstruktur SugarCRM ist als CRM-System eine Groupware 45 -Software, die das Unternehmens- Management unterstützt. Grundsätzlich fördert eine CRM-Software wie SugarCRM die Effizienz beim Einpflegen, Warten und Organsieren von Informationen über Kundenbeziehungen. 46 Für das Kundencenter stellen diese vom Projektmanagement verwalteten Kundenbeziehungen eine externe Datenquelle dar. Diese Daten liegen in der SugarCRM-Datenbank vor (siehe: Abschnitt 1.2). Aufgrund dessen ist es notwendig, den Sinn und Zweck der Daten zu verdeutlichen die für den Kundencenter relevant sind. Um die Datensätze zu verwalten, die für das Kundenbeziehungsmanagement anfallen, ist die Hauptnavigation der grafischen Benutzeroberfläche in verschiedene Hauptmodule unterteilt, die jeweils einen eigenen Arbeitsbereich repräsentieren: Verkauf, Marketing, Support, Aktivitäten, Kollaboration, etc. Hinter jedem der erwähnten Hauptmodule verstecken sich Submodule, die Formularfelder für die Datenerfassung und Werkzeuge für die Verwaltung und statistische Auswertung von Kundenbeziehungen und Projektaufträgen darstellen. Jedes Hauptmodul enthält als Arbeitsoberfläche verschiedene Teilbereiche (Sub-Module), die wiederum bestimmte Datenbereiche der Kundenbeziehungen repräsentieren. Diese Modul-Unterteilung spiegelt sich darüberhinaus auch in der Datenbankstruktur von SugarCRM wider, deren Tabellennamen sich größtenteils auf diese Sub-Module beziehen. Einen solchen Datenbereich kann zum Beispiel das Kontakt-Modul (Contacts) darstellen, das im Gegensatz zum Firmen-Modul (Accounts) nur Daten. eines Kunden als individuellen Geschäftspartner (Person) enthält. Dennoch kann dieser Kunde zu einer Firma gehören oder in Projekte involviert sein, was letztendlich die eigentliche Kundenbeziehung ausmacht, die auf einfachen Verknüpfungen zu anderen Modulen basiert (Relationships). Folgende Sub-Module sind dahingehend von Bedeutung, relevante Datenquellen für das Kundencenter abzugeben: 45 Eine Bezeichnung für eine Software, die für die kooperative Zusammenarbeit einer Gruppe von Menschen entwickelt wurde. 46 Vgl.: [Whitehead 2006] Implementing SugarCRM, S.17

34 27 Leads Leads stellen Interessenten oder einfache Kontakte dar, aus denen sich nach einer ausführlichen Auftragsanalyse Geschäftspartner (Contacts), Auftraggeber bzw. Unternehmen (Accounts) oder Geschäfts-Gelegenheiten (Opportunities) entwickeln können. Contacts Contacts sind individuelle Kontaktpersonen (ehemalige Leads), die sich als potentielle oder etablierte Geschäftspartner herausgestellt haben. Diese können mit beliebigen Modulen verknüpft werden, wie zum Beispiel: Accounts, Opportunities oder Campaigns. Damit stellt dieses Modul die ideale Nutzerprofil- Datenquelle für mögliche Endnutzer des Kundencenters dar. Accounts Die unter diesem Modul verwalteten Daten beziehen sich ausschließlich auf Kunden-Daten, wobei hier als Kunde der Auftraggeber bzw. das Unternehmen zu verstehen ist. Dazu gehören zum Beispiel Daten wie die Adresse zur Rechnungsstellung oder eine Unternehmens- bzw. Geschäftsfeld-Beschreibung. Opportunities Opportunities sind Verkaufs-Gelegenheiten, die auf maximal einen Account und beliebig viele Leads und Contacts bezogen werden können. Diese Modul-Daten beschreiben also die Chance auf eine möglichst gewinnbringende Geschäftsbeziehung. Cases Hier werden Probleme und Änderungswünsche gelistet, die den Service betreffen und von Kunden angegeben wurden. Es handelt sich also um eine Art Issue- Tracker 47 für nicht-technische Aspekte. Bug Tracker Wie der Name schon verrät, dient dieses Modul als Bug-Tracker dem Auflisten, Rückverfolgen und Verwalten von Produktfehlern. Campaigns Hier können umfassende Marketing-Kampagnen verwaltet und rückverfolgt werden. Projects Dieses Modul erlaubt es, Unternehmens-Projekte zu verwalten. Jedem Projekt muss ein SugarCRM-Nutzer als Projektmanager zugeteilt werden Mit diesem Software-Werkzeug können Issues (projektbezogene Anliegen) zurückverfolgt, dokumentiert und verwaltet werden 48 Vgl.: [SugarCRM Inc. 2008] Sugar CE User Guide, S.47, S.53, S.56, S.60-65, S.94, S.117

35 SOAP-RPC Die im vorherigen Kapitel erläuterten SugarCRM-Module basieren auf systeminternen Datenmengen von SugarCRM, auf die extern (Kundencenter) nur über einen Webservice zugegriffen werden kann. Daher bietet SugarCRM mit Hilfe eines SOAP 49 -Webservices eine standardisierte Schnittstelle an, die anderen Servern oder Systemen öffentlich zugängliche SugarCRM-Anwendungen zur Verfügung stellt. Die Kommunikation zwischen Anbieter (Remote-Server mit Webservice) und Konsument (lokaler Server) erfolgt demnach komplett auf Serverebene. Sowohl SOAP als auch HTTP 50 gehören zu den Envelope-Protokollen, die Kopf (Header) und Körper (Body) mit einer Art Umschlag umschließen. Dabei kann SOAP als Kommunikationsprotokoll im Körper eines jeden Transfer-Protokolls versendet werden, da es transportunabhängig ist. Der hauptsächliche Datenverkehr von SOAP-Protokollen geschieht jedoch auf dem HTTP-Protokoll. Das bedeutet, dass der komplette SOAP- Envelope im HTTP-Körper enthalten ist. Voraussetzung dafür ist, dass der Inhalt des SOAP-Körpers auf XML basiert. Die Kombination aus HTTP-Nachricht mit XML- Dokument führt zu einer äußerst hohen Kompatibilität, denn jede Firewall kennt das HTTP-Protokoll und jeder Parser ist in der Lage, XML zu lesen. 51 Aus diesem Grund wurde SOAP entwickelt, denn veraltete RPC 52 -Services, die auf HTTP aufsetzen, verursachen ein Sicherheitsrisiko und damit verbundene Inkompatibilitäten. Trotz der HTTP-Kompatibilität enthält der SOAP-Envelope Definitionen im XML-Format, die einem RPC-Aufruf gleichen. Diese Ähnlichkeit zu XML-RPC führte zur Zusatz- Bezeichnung: SOAP-RPC. Von daher orientiert sich der Service an Informationen im Dokument anstatt auf dem Envelope. Der Datenaustausch erfolgt zudem durch individuelle Methoden über den POST 53 -Parameter innerhalb einer einzigen URI 54, wodurch keine Orientierung an der jeweiligen Ressource verfolgt wird, was charakteristisch für RPC-Verbindungen ist (siehe: Abb. 11). Im Gegensatz dazu verfolgt ein RESTful 55 - Webservice eine Software-Architektur, in der jede Ressource einer eindeutigen URI zugeordnet ist Abk.: Simple Object Access Protocol bzw. SOAP; URL: 50 Abk.: Hypertext Transfer Protocol 51 Vgl.: [Krause 2004] PHP5 Webserverprogrammierung unter Windows und Linux, S Abk.: Remote Procedure Call; Zwischenanwendung (Middleware) die im Client-Server-Modell einen Aufruf ferner, spezialisierter Funktionen ermöglicht 53 Eine HTTP-Request-Methode für die Übertragung von Ressourcen zu einem Server über eine URI. 54 Abk.: Uniform Resource Identifier 55 Abk.: REpresentational State Transfer full; Ein Webservice der den Anforderungen gerecht wird, die das REST-Modell vorschreibt: repräsentativer, statusloser und generischer Datentransfer unter Einsatz etablierter Web Standards 56 Vgl.: [Richardson, Ruby 2007] RESTful Web Services, S.19, S.303

36 29 Abb. 11: Routing von SOAP-Nachrichten durch den HTTP-POST (Quelle: [Bayer 2002], S.5) Weiterhin missachtet SOAP-RPC die vorhandenen Möglichkeiten, die HTTP zum Beispiel für die Authentifizierung oder das Zwischenspeichern anbietet. Derartige HTTP- Funktionen müssen vom Entwickler selbstständig durch neue Vereinbarungen (Methoden) nach-entwickelt werden. Dieser Umstand ist auf den permanenten Transport der Methoden und Operationen über den POST-Parameter zurückzuführen. Sicherheitsaspekte, wie zum Beispiel die Beschränkung des lokalen Zugriffs auf den GET-Parameter (nur Lesezugriff), sind dadurch unmöglich. SOAP-Nachrichten werden mit einer vermittelten URI übertragen, wodurch für einen Router jedes HTTP-Paket vollkommen identisch aussieht. Eine Filterung über Router-Protokolle ist daher auch nicht möglich. Deshalb werden SOAP-Nachrichten von immer mehr Routern blockiert. 57 Folgende Syntax-Regeln sind laut W3C 58 für eine SOAP-Nachricht einzuhalten: muss über das XML-Format kodiert sein muss einen SOAP-Envelope Namensraum besitzen muss einen SOAP-Encoding Namensraum besitzen darf keine Verarbeitungs-Anweisungen (Processing Instructions) enthalten darf keine DTD 59 -Deklarationen (z.b.: DOCTYPE) enthalten 57 Vgl.: [Bayer 2002] - REST Web Services, S Abk.: World Wide Web Consortium; Gremium für die Standardisierung von Web-Technologien 59 Abk.: Document Type Definition

TYPO3-Workshop TYPO3 Leistungsumfang und Architektur RRZN Universität Hannover

TYPO3-Workshop TYPO3 Leistungsumfang und Architektur RRZN Universität Hannover TYPO3-Workshop TYPO3 Leistungsumfang und Architektur RRZN Universität Hannover Typo3 Lizenz Zielgruppe Enterprise Web Content Management System GPL (GNU Public License) kleine bis mittlere Unternehmen

Mehr

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Ein Auszug aus... Studie Content Management Systeme im Vergleich Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis

Mehr

Einführung in das TYPO3 Content Management System. Jochen Weiland - jweiland.net

Einführung in das TYPO3 Content Management System. Jochen Weiland - jweiland.net Einführung in das TYPO3 Content Management System Dipl. Ing. Jochen Weiland jweiland.net Statische Websites upload Entwicklungsrechner Webserver Besucher Dynamische Websites Layouts Webserver Datenbank

Mehr

Allgemeine Einführung. 13.11.2013 Elisabeth Beyrle Stefan Paffhausen

Allgemeine Einführung. 13.11.2013 Elisabeth Beyrle Stefan Paffhausen Allgemeine Einführung 13.11.2013 Elisabeth Beyrle Stefan Paffhausen Ablauf Allgemeines über Typo3 Unterschiede zu Drupal Oberfläche des Typo3 Backends Erstellen einer Seite Typo3 Open-Source Content-Management-System

Mehr

Joomla! Source- CMS. Joomla! Open Source-CMS

Joomla! Source- CMS. Joomla! Open Source-CMS Joomla! Open Source- CMS Joomla! Open Source-CMS Mirco De Roni, 2010 Inhaltsverzeichnis 1 Begriffe und Konzepte... 3 1.1 Content Management System (CMS)... 3 1.2 Struktur eines Web Content Management Systems

Mehr

UNIX-Stammtisch, TU Chemnitz. UNIX-Stammtisch: Chemnitz, 27.05.2008. Content Management mit TYPO3. Sebastian Meyer. E-Mail: smeyer@slub-dresden.

UNIX-Stammtisch, TU Chemnitz. UNIX-Stammtisch: Chemnitz, 27.05.2008. Content Management mit TYPO3. Sebastian Meyer. E-Mail: smeyer@slub-dresden. UNIX-Stammtisch: Content Management mit TYPO3 Themen: Was ist ein CMS? (Definition, Konzepte, Vor- und Nachteile) Warum gerade TYPO3? (Einführung in TYPO3 und Vergleich mit anderen CMS) TYPO3 aus Sicht......eines

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

TYPO3 Slide 1 www.lightwerk.com 2005 Lightwerk GmbH

TYPO3 Slide 1 www.lightwerk.com 2005 Lightwerk GmbH TYPO3 Slide 1 Inhaltsverzeichnis Was ist ein CMS Was ist TYPO3 Editier-Möglichkeiten / Frontend-Editieren Slide 2 Was ist ein CMS (WCMS) Ein Web Content Management System (WCMS) ist ein Content-Management-System,

Mehr

Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung

Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung Projekte: Impuls Ergotherapiefortbildung DAV Fulda von: Andreas Kempf Version: 1.7 03.02.2010 Ausgangssituation: Impuls Ergotherapiefortbildung

Mehr

Aufbau und Pflege von Internetseiten leicht gemacht

Aufbau und Pflege von Internetseiten leicht gemacht Aufbau und Pflege von Internetseiten leicht gemacht Einführung in die Grundlagen der CMS (Content Management Systeme) Was ist ein CMS? frei übersetzt: Inhaltsverwaltungssystem ist ein System, das die gemeinschaftliche

Mehr

Universität zu Köln Sommersemester 2015 IT-Zertifikat der Phil.-Fak.: Digital Objects Processing - CMS vs. Digital Library Sebastian Schlinkheider &

Universität zu Köln Sommersemester 2015 IT-Zertifikat der Phil.-Fak.: Digital Objects Processing - CMS vs. Digital Library Sebastian Schlinkheider & Universität zu Köln Sommersemester 2015 IT-Zertifikat der Phil.-Fak.: Digital Objects Processing - CMS vs. Digital Library Sebastian Schlinkheider & Linda-Marie Rabeneck 22.04.2015 Gemeinschaftliche Erstellung

Mehr

Altmann Fritz Hinderink: TYPO3. Open Source Press

Altmann Fritz Hinderink: TYPO3. Open Source Press Altmann Fritz Hinderink: TYPO3 Werner Altmann René Fritz Daniel Hinderink TYPO3 Enterprise Content Management Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem

Mehr

Silverstripe CMS und das Sapphire Framework

Silverstripe CMS und das Sapphire Framework Silverstripe CMS und das Sapphire Framework kurz über mich... Seit 2002 mit PHP Typo3, Wordpress, Radiant (RoR) reingeschaut: Symfony, Zend Seit 2009 Webentwicklung mit SilverStripe Geschichte von SilverStripe

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Evaluierung und Einführung eines Web Content Management Systems bei einem internationalen und

Mehr

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing

Diplomarbeit. Planung eines Webauftritts. Ein Leitfaden für kleine und mittelständische Unternehmen. Daniel Jurischka. Bachelor + Master Publishing Diplomarbeit Daniel Jurischka Planung eines Webauftritts Ein Leitfaden für kleine und mittelständische Unternehmen Bachelor + Master Publishing Daniel Jurischka Planung eines Webauftritts: Ein Leitfaden

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich AG Softwaretechnik 1 Übersicht 1. Grundlagen und Konzepte 2. Komponenten von 3. Erweiterungsmöglichkeiten und Personalisierung 4. Abschließende Bewertung 5. Literaturangaben 2 1. : Grundlagen und Konzepte

Mehr

Das Open Source CMS. Gregor Walter. gw@madgeniuses.net info@i-working.de

Das Open Source CMS. Gregor Walter. gw@madgeniuses.net info@i-working.de Das Open Source CMS Gregor Walter gw@madgeniuses.net info@i-working.de Übersicht Einführung und Geschichte von TYPO3 TYPO3 Features Für Webdesigner Für Redakteure TYPO3 Live - am Beispiel fiwm.de Seite

Mehr

3. Verzeichnisstruktur / wichtige Dateien

3. Verzeichnisstruktur / wichtige Dateien Websiteentwicklung auf Basis vontypo3 Unterlagen zur Vorlesung WS 14/15-2- 1. Voraussetzungen / TYPO3 Pakete 2. TYPO3 Architektur 3. Verzeichnisstruktur / wichtige Dateien 4. Install Tool 5. Tools & Links

Mehr

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse Felix Kopp Orientierung Veröffentlichen und Aktualisieren ohne Programmierkenntnisse Bestehende Internet-Seite aktualisieren. oder

Mehr

Das Typo3 Backend. Demo Website: Frontend: http://www.typo3-talk.net/ Backend: http://www.typo3-talk.net/typo3/ von Timo Schmidt

Das Typo3 Backend. Demo Website: Frontend: http://www.typo3-talk.net/ Backend: http://www.typo3-talk.net/typo3/ von Timo Schmidt Das Typo3 Backend von Timo Schmidt Demo Website: Frontend: http://www.typo3-talk.net/ Backend: http://www.typo3-talk.net/typo3/ Agenda Was ist ein CMS? Was ist Typo3? Das Typo3 Backend Seiten mit Typo3

Mehr

Was ist neu in TYPO3 6.0

Was ist neu in TYPO3 6.0 Was ist neu in TYPO3 6.0 Wer steht denn da vorne? Wolfgang Wagner Jahrgang 1972 lebt in Friedrichshafen dabei seit TYPO3 3.8 ein paar Jahre nebenberuflich als Webdesigner unterwegs seit Dezember 2012 bei

Mehr

Joomla 1.5. Einführung in die Installation und Benützung

Joomla 1.5. Einführung in die Installation und Benützung Joomla 1.5 Einführung in die Installation und Benützung Programm Was ist Joomla Installation auf Ubuntu Benützung von Joomla Templates wechseln Nützliche Komponenten Weiterführende Informationen Was ist

Mehr

Upgrade auf TYPO3 6.2

Upgrade auf TYPO3 6.2 Upgrade auf TYPO3 6.2 Jochen Weiland Wolfgang Wagner TYPO3camp Berlin 2014! Fakten Kunden lieben LTS Versionen Die meisten Projekte laufen mit 4.5 Fakten 3.5 Jahre seit dem Release 4.5 34 Release seitdem

Mehr

TYPO3 Gestern, Heute, Morgen

TYPO3 Gestern, Heute, Morgen TYPO3 Gestern, Heute, Morgen am 9. November 2010 Von Arrabiata Solutions GmbH Tobias Hauser, Bernhard Aster www.arrabiata.de Tel. 089.7298 9689-0 TYPO3-Historie Von Kaspar Skårhøj Ende der 90er entwickelt

Mehr

Endanwender Handbuch

Endanwender Handbuch Endanwender Handbuch INHALTSVERZEICHNIS Vorwort...3 Frontend und Backend...3 Das Dashboard...4 Profil Bearbeiten...6 Inhalte Verwalten...6 Seiten...6 Seite verfassen...7 Papierkorb...11 Werbebanner...11

Mehr

Seitenverwaltung und Einrichten neuer TYPO3-Redakteure und -Gruppen

Seitenverwaltung und Einrichten neuer TYPO3-Redakteure und -Gruppen August 2010 Seitenverwaltung und Einrichten neuer TYPO3-Redakteure und -Gruppen In der TYPO3-Standard-Website des RRZN sind bereits einige Redakteursgruppen eingerichtet. Die Gruppe mit den umfangreichsten

Mehr

Web Content Management Systeme

Web Content Management Systeme Web Content Management Systeme Konzepte und praktische Anwendung Seminar im Studienschwerpunkt Multimedia von Frithjof Klös Überblick Einleitung Überblick Motivation 1. skriterien 2. 3. Konzeptumsetzung

Mehr

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit Gliederung 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit It s Radiant (1/2) It s Radiant (1/2) It s Radiant (1/2) Drupal Joomla! Radiant CMS * * http://www.cmsmatrix.org

Mehr

Content-Management-Systeme (CMS) aus dem Open Source Bereich

Content-Management-Systeme (CMS) aus dem Open Source Bereich Content-Management-Systeme (CMS) aus dem Open Source Bereich 13. September 2007 Michael Lange und Michael Fritz 1 Referenten Wer wir sind Michael Lange Projektmanagement Michael Fritz Application Development

Mehr

Sigrid Born Jari-Hermann Ernst. Content Management mit TYPO3 CMS. Inklusive CD-ROM

Sigrid Born Jari-Hermann Ernst. Content Management mit TYPO3 CMS. Inklusive CD-ROM Sigrid Born Jari-Hermann Ernst Content Management mit TYPO3 CMS Inklusive CD-ROM Vorwort 11 Willkommen bei TYPO3 CMS für Kids! 11 Warum TYPO3 CMS? 12 Wie dieses Buch aufgebaut ist 14 Brauchst du Voraussetzungen?

Mehr

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Inhalt Content Management (CM) Allgemeines über CMS CMS Typen Open Source vs. Lizenzsoftware Joomla! Quellen Content Management

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

Content Management Systeme

Content Management Systeme Content Management Systeme Ein Vergleich unter besonderer Berücksichtigung von CoreMedia und TYPO3 Bachelorthesis im Kooperativen Bachelor Studiengang Informatik (KoSI) der Fachhochschule Darmstadt University

Mehr

TYPO3 und TypoScript

TYPO3 und TypoScript TYPO3 und TypoScript Daniel Koch Webseiten programmieren, Templates erstellen, Extensions entwickeln ISBN 3-446-40489-9 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40489-9

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Administrator Handbuch

Administrator Handbuch SPTools Extension Keys: sptools_fal_base sptools_fal_driver SPTools Version: 1 Extension Version: 1.0.2 Inhaltsverzeichnis... 1 1. Einleitung... 2 2. Systemanforderungen... 3 3. SPTools FAL Installation...

Mehr

Wie man als Redakteur Effektiv arbeitet. Einführung in TYPO3

Wie man als Redakteur Effektiv arbeitet. Einführung in TYPO3 Wie man als Redakteur Effektiv arbeitet. Einführung in TYPO3 Inhalt Wieso ein CMS? - Was macht ein CMS? Wieso TYPO3? Workflow für Redakteure Das Frontend Bearbeiten von Inhalten Aufgaben Wieso ein CMS?

Mehr

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen MiGo-Portal V2.21 Produkt-Sheet Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen Unser aktuelles Portal-System für Ihre individuelle Homepage. Dieses Portal bietet die Möglichkeit verschiedene

Mehr

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Web-Content-Management-Systeme () dienen dazu, komplexe Websites zu verwalten und den Autoren einzelner Webseiten möglichst

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr

8 Kapitel TypoScript 219

8 Kapitel TypoScript 219 8 Kapitel TypoScript TypoScript gehört zu den umfangreichsten und zugleich wichtigsten Bereichen, die ein TYPO3 Integrator beherrschen muss. Nahezu die gesamte Erstellung einer Website, angefangen bei

Mehr

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

Redmine, das Projekt Management Werkzeug

Redmine, das Projekt Management Werkzeug Redmine, das Projekt Management Werkzeug Web Site: www.soebes.de Blog: blog.soebes.de Email: info@soebes.de Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Einführung 2.Installation 3.Übersicht 4.Features 5.Informationsquellen

Mehr

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Content Management mit JSR-170 und dem Open Source CMS Magnolia Content Management mit JSR-170 und dem Open Source CMS Magnolia Dr. Ralf Hirning LogicaCMG 2006. All rights reserved Agenda Überblick Features Redaktionsprozess Beispielimplementierung Magnolia Editionen

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

Aktuelle Schulhomepage mit Typo3. Marc Thoma, 1

Aktuelle Schulhomepage mit Typo3. Marc Thoma, 1 Aktuelle Schulhomepage mit Typo3 Marc Thoma, 1 Kursziele eigene Homepage mit Typo3 realisieren die Pflege der Inhalte weitergeben eigenes Design/Layout erstellen und als Template einbinden Willkommen zu

Mehr

Installation von Typo3 CMS

Installation von Typo3 CMS Installation von Typo3 CMS TYPO3 Version 6.2.x unter Windows Eigenen lokalen Webserver mit XAMPP installieren Für die Installation von Typo3 wird eine passende Systemumgebung benötig. Diese besteht aus

Mehr

Das Redaktionssystem UCMS. Beschreibung Technisches Profil

Das Redaktionssystem UCMS. Beschreibung Technisches Profil 1/6 CONTENTMANAGEMENTSYSTEM UCMS 03.12.08 Das Redaktionssystem UCMS Beschreibung Technisches Profil Das vorliegende Dokument gibt einen Überblick über das System und geht auf die Ankopplung oder Integration

Mehr

Uwe Stache: Content Management mit System. Grundlagen Szenarien Best Practices

Uwe Stache: Content Management mit System. Grundlagen Szenarien Best Practices Uwe Stache: Content Management mit System Grundlagen Szenarien Best Practices Es passt... Ihr Business Unser Beitrag was zusammen gehört! Medien Wirtschaftskompetenz Bewährte Technik Neue Gedanken Wir

Mehr

Statisch oder Dynamisch?

Statisch oder Dynamisch? Worin liegt der Unterschied zwischen statischen und dynamischen Webseiten? Statisch oder Dynamisch? lepton-cms.org Überblick CMS WebsiteBaker - LEPTON 1 lepton-cms.org Überblick CMS WebsiteBaker - LEPTON

Mehr

STARFACE SugarCRM Connector

STARFACE SugarCRM Connector STARFACE SugarCRM Connector Information 1: Dieses Dokument enthält Informationen für den STARFACE- und SugarCRM-Administrator zur Inbetriebnahme des STARFACE SugarCRM Connectors. Inhalt 1 Inbetriebnahme...

Mehr

Grundlagen für Entwickler und Designer

Grundlagen für Entwickler und Designer Grundlagen für Entwickler und Designer für Version 1.2.0 Simploo GmbH Öschstr. 33 73072 Donzdorf einfach@simploo.de www.simploo.de Inhaltsverzeichnis 1 Einführung... 3 2 Aufbau und Struktur... 4 2.1 Verzeichnisstruktur...

Mehr

Von SAP R/3 zu mysap ERP und NetWeaver

Von SAP R/3 zu mysap ERP und NetWeaver Von SAP R/3 zu mysap ERP und NetWeaver Bremerhaven 06.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. Motivation für SAP NetWeaver 2. SAP R/3 mysap ERP und SAP Business Suite 3. Application Platform T4T

Mehr

Domain Control System. [ Dokumentation und Hilfe ] Stand 10. 05. 2005

Domain Control System. [ Dokumentation und Hilfe ] Stand 10. 05. 2005 Domain Control System [ Dokumentation und Hilfe ] Stand 10. 05. 2005 Seite 1 von 9 Einfü hrung Das 4eins Domain Control System (DCS) stellt Ihnen verschiedene Dienste und Funktionen für die Konfiguration

Mehr

TYPO3 und TypoScript -- Kochbuch

TYPO3 und TypoScript -- Kochbuch TYPO3 und TypoScript -- Kochbuch Lösungen für die TYPO3-Programmierung mit TypoScript und PHP von Tobias Hauser, Christian Wenz, Patrick Schuster, Alexander Ebner 1. Auflage Hanser München 2007 Verlag

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Benutzerhandbuch. Gästebuch Software - YellaBook v1.0 http://www.yellabook.de. Stand: 01.08.2012. by YellaBook.de - Alle Rechte vorbehalten.

Benutzerhandbuch. Gästebuch Software - YellaBook v1.0 http://www.yellabook.de. Stand: 01.08.2012. by YellaBook.de - Alle Rechte vorbehalten. Benutzerhandbuch Gästebuch Software - YellaBook v1.0 http://www.yellabook.de Stand: 01.08.2012 Inhalt 1 Funktionen... 3 2 Systemanforderungen... 4 3 Installation... 4 4 Einbinden des Gästebuchs... 5 5

Mehr

Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website)

Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website) Dokumentation für die Arbeit mit dem Redaktionssystem (Content Management System -CMS) zur Wartung Ihrer Homepage (Website) Redaktion Mit der Redaktion einer Webseite konzentrieren Sie sich auf die inhaltliche

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

TYPO3-Workshop Zugangsgeschützte Webbereiche in TYPO3

TYPO3-Workshop Zugangsgeschützte Webbereiche in TYPO3 Leibniz Universität IT Services TYPO3-Workshop Zugangsgeschützte Webbereiche in TYPO3 Workshop TYPO3@RRZN Sep. 2012 Dr. Thomas Kröckertskothen - RRZN Zugangsgeschützte Webbereiche in TYPO3 Was sind zugangsgeschützte

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13 NEWpixi* API und die Umstellung auf REST Fakten NEWpixi* API Technik REST-basierend.NET Webservice IIS Webserver Release 31. August 2013, zusammen mit dem NEWpixi* ELI Release Legacy API und erste NEWpixi*

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

TYPO3 4.4.x - Schulungsunterlagen für Redakteure TZ-COM Thomas Zimmermann Computer GmbH (Reinhard Kreitner 10.08.2010)

TYPO3 4.4.x - Schulungsunterlagen für Redakteure TZ-COM Thomas Zimmermann Computer GmbH (Reinhard Kreitner 10.08.2010) TYPO3 4.4.x - Schulungsunterlagen für Redakteure TZ-COM Thomas Zimmermann Computer GmbH (Reinhard Kreitner 10.08.2010) Wichtige Begriffe:... 2 Was ist ein Content Management System (CMS)?... 2 Die Begriffe

Mehr

SPTools Übersicht...2. SPTools - Integration von SharePoint Dokumenten Bibliotheken in TYPO3...3

SPTools Übersicht...2. SPTools - Integration von SharePoint Dokumenten Bibliotheken in TYPO3...3 SPTools V.1.6 SharePoint TYPO3 Konnektor Software SPTools Funktionen! Inhalt SPTools Übersicht...2 SPTools - Integration von SharePoint Dokumenten Bibliotheken in TYPO3...3 SPTools - Integration von SharePoint

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Schulung ISUP-Webseite. 06.12.2007 in Karlsruhe

Schulung ISUP-Webseite. 06.12.2007 in Karlsruhe Schulung ISUP-Webseite 06.12.2007 in Karlsruhe Schulung ISUP-Webseite 06.12.2007 Vorstellung Dirk Reinbold Informatikstudent der Univeristät Karlsruhe Kontakt: reinbold@vikar.de ViKar Virtueller Hochschulverbund

Mehr

Lastenheft zur Diplomarbeit. Konzeption und Realisierung einer Intranet-Lösung mit TYPO3 auf Basis der Knoppix-Linux-Distribution und VMWare

Lastenheft zur Diplomarbeit. Konzeption und Realisierung einer Intranet-Lösung mit TYPO3 auf Basis der Knoppix-Linux-Distribution und VMWare Lastenheft zur Diplomarbeit Konzeption und Realisierung einer Intranet-Lösung mit TYPO3 auf Basis der Knoppix-Linux-Distribution und VMWare Fakultät für Informatik, TU Karlsruhe erstellt: 19.01.2005 Zusammenfassung

Mehr

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund:

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund: scmsp SMARTES Content-Management-System blockcms steht für Block Content Management System Wir brauchen kein CMS, das alles kann, sondern eines, das nur Bestimmtes kann und das dafür sehr gut. Bei der

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Hallo, einfach. C LO U D. symbl.cms und framework Beschreibung

Hallo, einfach. C LO U D. symbl.cms und framework Beschreibung Hallo, einfach. C LO U D symbl.cms und framework Beschreibung Wir stellen uns vor. Wir kümmern uns um IT-Infrastrukturen, gestalten und entwickeln Websites, Online-Shops sowie mobile und interaktive Applikationen.

Mehr

Installation/Update und Konfiguration des Renderservice (v1.7.0)

Installation/Update und Konfiguration des Renderservice (v1.7.0) Installation/Update und Konfiguration des Renderservice (v1.7.0) [edu- sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des Renderservice.] edu- sharing / metaventis GmbH Postfach

Mehr

verbinden TYPO3 6/7 mit Microsoft SharePoint 2013 und Office 365! Version 1.1.0! Übersichtsbroschüre

verbinden TYPO3 6/7 mit Microsoft SharePoint 2013 und Office 365! Version 1.1.0! Übersichtsbroschüre SPTools365! verbinden TYPO3 6/7 mit Microsoft SharePoint 2013 und Office 365! Version 1.1.0! Übersichtsbroschüre Die SPTools sind ein Produkt der fh-konzept GmbH Köln Leipzig www.fh-konzept.de Produktbeschreibung

Mehr

Upgrade auf aktuelle TYPO3 LTS Version 6.2

Upgrade auf aktuelle TYPO3 LTS Version 6.2 Upgrade auf aktuelle TYPO3 LTS Version 6.2 Handlungsempfehlungen Seit 25.3.2014 ist die neue TYPO3 LTS Version 6.2 veröffentlicht. Die 6.2 ist damit der direkte Nachfolger der momentanen LTS Version 4.5,

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Content Management mit Open Source Beispiel: OpenCms

Content Management mit Open Source Beispiel: OpenCms Content Management mit Open Source Beispiel: OpenCms Ersteller: Frank Marwedel Datum: 31.08.2005 1 Agenda 1. Was ist Content Management? 2. Welche Arten von (OSS) CMS gibt es? 3. OpenCms 4. Diskussion

Mehr

OpenCms jbpm Workflow Engine. OpenCms und jbpm Workflow Engine

OpenCms jbpm Workflow Engine. OpenCms und jbpm Workflow Engine OpenCms und jbpm Workflow Engine Geschäftliche Abläufe in einem Unternehmen folgen zu einem großen Prozentsatz beschreibbaren Prozessen, den so genannten Geschäftsprozessen. Diese Erkenntnis führte zum

Mehr

PDF FormServer Quickstart

PDF FormServer Quickstart PDF FormServer Quickstart 1. Voraussetzungen Der PDF FormServer benötigt als Basis einen Computer mit den Betriebssystemen Windows 98SE, Windows NT, Windows 2000, Windows XP Pro, Windows 2000 Server oder

Mehr

Inhaltsverzeichnis Vorwort Konzepte des Active Directory

Inhaltsverzeichnis Vorwort Konzepte des Active Directory Vorwort.................................................................. XI Warum dieses Buch.................................................... XI Kapitelübersicht.......................................................

Mehr

Sigrid Born Jari-Hermann Ernst. Content Management mit TYPO3 CMS. Inklusive CD-ROM

Sigrid Born Jari-Hermann Ernst. Content Management mit TYPO3 CMS. Inklusive CD-ROM Sigrid Born Jari-Hermann Ernst Content Management mit TYPO3 CMS Inklusive CD-ROM 370 A Administrator 59, 60 advanced editor Siehe Redakteur automaketemplate 217 Auto-parser 218 - und -bereich

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

TARGET-E: TYPO3 Schulungen. Schulungskonzept und Modulpläne

TARGET-E: TYPO3 Schulungen. Schulungskonzept und Modulpläne Schulungskonzept und Modulpläne Inhaltsverzeichnis 1 Einführung...3 2 Schulungskonzept...4 3 TYPO3 Entwicklerschulung Starter...5 4 TYPO3 Entwicklerschulung Plus...6 5 TYPO3 Administratoren...7 6 TYPO3

Mehr

Moderne Benutzeroberflächen für SAP Anwendungen

Moderne Benutzeroberflächen für SAP Anwendungen Seite 1 objective partner für SAP Erfahrungen mit dem UI-Development Kit für HTML5 (SAPUI5) - 19.06.2012 Seite 2 Quick Facts objective partner AG Die objective partner AG 1995 gegründet mit Hauptsitz in

Mehr

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner Proseminar Website-Management-Systeme ZOPE/CMF Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Arbeitsgruppe Softwaretechnik Betreuer: Dipl. Inf. Christian Stenzel Überblick

Mehr

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine Seite 1 von 11 Anleitung Inhalt Inhalt... 1 1. Installation... 2 2. Setup... 2 2.1 Login... 2 2.2 Benutzer erstellen... 2 2.3 Projekt erstellen... 4 2.4 SVN/Git Integration... 6 2.4.1 Konfiguration für

Mehr

Anbieter. Beschreibung des. alfatraining. Bildungszentru. m Chemnitz. Angebot-Nr. 00799524. Angebot-Nr. Bereich. Berufliche Weiterbildung.

Anbieter. Beschreibung des. alfatraining. Bildungszentru. m Chemnitz. Angebot-Nr. 00799524. Angebot-Nr. Bereich. Berufliche Weiterbildung. Professionelles Webdesign und CMS in Chemnitz Angebot-Nr. 00799524 Bereich Angebot-Nr. 00799524 Anbieter Berufliche Weiterbildung Termin 09.03.2015-29.05.2015 alfatraining Bildungszentru Montag bis Freitag

Mehr

Sachwortverzeichnis... 251

Sachwortverzeichnis... 251 Inhalt Vorwort... V 1 WWW World Wide Web... 1 1.1 Das Internet Infrastruktur und Administration... 2 1.2 Datenübertragung... 4 1.3 Sprachen im Web... 6 1.4 Webseiten... 7 1.4.1 Clientseitige Dynamik...

Mehr

DirectSmile CrossMedia und Salesforce

DirectSmile CrossMedia und Salesforce DirectSmile DirectSmile CrossMedia und Salesforce Anleitung 2014 Salesforce und DirectSmile Cross Media Salesforce und DirectSmile Cross Media... 2 1.1 Einführung... 3 1.2 Ein Benutzerkonto einrichten...

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

TYPO3-Kurzreferenz für Redakteure

TYPO3-Kurzreferenz für Redakteure TYPO3-Kurzreferenz für Redakteure Die Kurzreferenz orientiert sich weitgehend an den TYPO3 v4 Schulungsvideos. Es kann jedoch geringfügige Abweichungen geben, da in den Videos auf didaktisch sinnvolles

Mehr