Content Management Systeme Content Management Systeme(CMS) erfreuen sich immer häufiger Beliebtheit. Ist so ein CMS einmal optimal eingerichtet, kann es sehr bequem gewartet werden und zwar auch von Personen, die keine HTML-Kenntnisse besitzen. Ein weiterer Vorteil ist die Trennung von Inhalt und Layout, sodass auch für den Administrator so einer Website sich die RoutineArbeit deutlich erleichtern lässt. Will man jedoch selbst eine Website mit einem CMS einrichten, kommt man nicht herum, sich mit der Philosophie des gewählten CMS und etlichen Hintergrundinformationen herumzuschlagen. Um ein geeignetes System zu finden wird man verschiedene Kriterien beachten: Auf welchen Plattformen läuft das System, welche Hardwarevoraussetzungen brauche ich dazu, was kostet es, wie einfach ist zu installieren? Eine sehr einfache Lösung, um ein CMS auch auf einem lokalen Rechner zu entwickeln und zu testen, soll an Hand von JOOMLA! in diesem Workshop gezeigt werden. Man benötigt dazu normalerweise: einen Webserver eine PHP-Erweiterung, um serverseitige Skripte ausführen zu können und um den vollen Leistungsumfang von PHP auszuschöpfen und ein CMS betreiben zu können eine Datenbank wie MySQL und - optional aber dringend zu empfehlen - PHPMyAdmin zur Verwaltung der Datenbank Allgemeine Beschreibung Ein Content-Management-System (kurz: CMS, übersetzt: Inhaltsverwaltungssystem) ist ein System zur gemeinschaftlichen Erstellung, Bearbeitung und Organisation von Inhalten. Diese können aus Text- und Multimedia-Dokumenten bestehen. Dabei geht es in der Regel um die zentrale Verwaltung aller Daten innerhalb einer Groupware Anwendung, auf die die Teilnehmer aus einem Intranet oder auch dem Internet gemeinsam zugreifen können. Content Management Systeme können neben der Verwaltung auch Funktionen zur Erstellung, Präsentation und Kontrolle der Daten beinhalten. Allgemeinsprachlich verschwimmen die Grenzen zwischen den Begriffen Content Management System (CMS), Web Content Management System (WCMS) und Redaktionssystem sehr stark. Tatsächlich haben diese Programmgruppen einige Schnittpunkte. Die eigentlichen Funktionen sind jedoch in der Regel auf sehr unterschiedliche Schwerpunkte festgelegt. Importschnittstelle Workflow-management Assetmanagement Benutzer- und Zugriffsverwaltung Exportschnittstelle Aufbauschema eines CMS Besonderer Wert wird bei CMS auf eine medienneutrale Datenhaltung gelegt. So kann ein Inhalt auf Wunsch beispielsweise als PDF- oder als HTML-Dokument abrufbar sein; die Formate werden gegebenenfalls erst bei der Abfrage aus der Datenbank generiert Anforderungen / Funktionsumfang Unterstützung eines Publishing-Prozesses, an dem sich mehrere Personen mit verschiedenen Aufgaben beteiligen Überprüfung der Daten Speicherung von Inhalten vor deren Änderung und die Rückführung dieser Inhalte (Versionierung) Zielgruppengerechte Darstellung von Inhalten Einbindung externer Datenquellen und externer Informationsdienste. Modulare Erweiterbarkeit Server und Client Serverseitiges CMS Ein serverseitiges CMS braucht eine serverseitige Programmiersprache, die dort meistens in Verbindung mit einer Datenbank steht. Diese ist typischerweise entweder auf demselben Server oder einem oder mehreren anderen Servern im selben lokalen Netzwerk installiert. Dadurch können Daten weltweit direkt über das Internet verwaltet werden (z. B. durch einen Webbrowser). Serverseitige CMS sind für Websites jeglicher Größe geeignet. Ihre Funktionstauglichkeit ist jedoch abhängig von der serverseitig bereitstehenden Rechenkapazität. Bekannte Beispiele für serverseitige CMS sind Drupal, TYPO3 und Joomla. Andere Systeme wie z. B. WordPress können um CMS-Funktionalität erweitert werden. Clientseitiges CMS Clientseitige CMS werden mit Hilfe eines Programms, das auf einem Rechner installiert wird, gesteuert. Die Daten werden auf den Server hochgeladen. Eine serverseitige Programmiersprache ist nicht notwendig. Clientseitige CMS bieten oftmals Layoutfunktionen, mit denen eigene Seitentypen (Templates) erstellt werden können. Dynamik und Statik Weiterhin unterscheiden sich Systeme in der Art der Auslieferung der erstellten Seiten an den Nutzer: Volldynamische Systeme Volldynamische Systeme erzeugen angeforderte Seiten bei jedem Aufruf dynamisch neu. Vorteile: Die Seite ist immer aktuell. Nachteile: Durch immer wieder neue Berechnungen können die Seiten sehr langsam sein. Statische Systeme Statische Systeme legen jede Webseite statisch in einer Datenbank oder im Dateisystem ab. Hybride Systeme Hybride Systeme kombinieren die Vorteile der statischen und der volldynamischen Seitenerzeugung. Lediglich die Inhalte, die dynamisch aus einer Datenbank generiert werden müssen (z. B. News, Suchabfragen, personalisierte Inhalte oder Shopdaten) werden zur Laufzeit aus der Datenbank ausgelesen. OPEN SOURCE Open Source ( quelloffen) ist eine Palette von Lizenzen für Software, deren Quelltext öffentlich zugänglich ist und durch die Lizenz Weiterentwicklungen fördert. Open-Source-Software steht unter einer von der Open Source Initiative (OSI) anerkannten Lizenz. Diese Organisation stützt sich bei ihrer Bewertung auf die Kriterien der Open Source Definition, die weit über die Verfügbarkeit des Quelltexts hinausgeht. Sie ist fast deckungsgleich mit der Definition Freier Software. Definition der Open Source Initiative Die Open Source Initiative wendet den Begriff Open Source auf all die Software an, deren Lizenzverträge den folgenden drei charakteristischen Merkmalen entsprechen und die zehn Punkte der Open Source Definition erfüllen: Die Software (d. h. der Quelltext) liegt in einer für den Menschen lesbaren und verständlichen Form vor: In der Regel in einer höheren Programmiersprache. Vor dem eigentlichen Programm(ab)lauf ist es normalerweise notwendig, diesen Text durch einen so genannten Compiler in eine binäre Form zu bringen, damit das Computerprogramm vom Rechner ausgeführt werden kann. Die Software darf beliebig kopiert, verbreitet und genutzt werden: Für Open-SourceSoftware gibt es keine Nutzungsbeschränkungen. Weder bezüglich der Anzahl der Benutzer, noch bezüglich der Anzahl der Installationen. Mit der Vervielfältigung und der Verbreitung von Open-Source-Software sind auch keine Zahlungsverpflichtungen gegen einen Lizenzgeber verbunden. Die Software darf verändert und in der veränderten Form weitergegeben werden: Durch den offengelegten Quelltext ist Verändern ohne weiteren Aufwand für jeden möglich. Weitergabe der Software soll ohne Lizenzgebühren möglich sein. OpenSource-Software ist auf die aktive Beteiligung der Anwender an der Entwicklung geradezu angewiesen. So bietet sich Open-Source-Software zum Lernen, Mitmachen und Verbessern an. Wirtschaftliche Bedeutung von Open Source In den Bereichen Serverbetriebssysteme, Web- und Mailserver, Datenbanken und Middleware spielt Open-Source-Software eine wichtige Rolle. Eine Studie im Auftrag der Europäischen Kommission hat im Jahr 2006 die wirtschaftliche Bedeutung von Open Source für Europa untersucht. Demnach ist der Marktanteil in den vergangenen Jahren stetig gestiegen. Den Gesamtwert beziffert die Untersuchung auf rund zwölf Milliarden Euro. Auf Unternehmensseite sind Sun, IBM und RedHat die größten Programmlieferanten. Für das Jahr 2010 prognostiziert die Studie bei den IT-Dienstleistungen einen Open-SourceAnteil von 32 Prozent und befürwortet eine stärkere Förderung von freier Software, damit Europa das wirtschaftliche Potenzial von Open Source besser nutzen kann. So findet das Thema zunehmend in der Wirtschaftsförderung Beachtung. Beispiele für Open Source Programme: Open Office Datenbanken, wie MySQL und PostgreSQL Der Betriebssystemkern Linux Interpreter von Programmiersprachen wie Perl, PHP, Java, Python, Ruby und Tcl