Midgard – ein Content Management System Gottfried Ryser CGX AG >
Ein paar Regeln über Web-Inhalte Eine Website wächst immer schneller als geplant ist Inhalte müssen dauernd ausgetauscht und/oder erneuert werden Alles sollte schneller realisiert werden Inhalte sollten für verschiedene Ausgabegeräte und Browser-unabhängig generiert werden
Eine Website wächst schneller ... Der Markt verlangt schnelle Anpassungen Strukturen einer Site sind nie konstant und müssen problemlos geändert werden können Es sollte kein Flaschenhals für die Erstellung der Inhalte vorhanden sein
Lebenszyklus einer Inhaltsseite
Ein iterativer Prozess
Teamarbeit ist gefragt
Konventionell erstellte Websites Form und Layout hängen zusammen Navigation und Struktur einer Website sind fest verknüpft Ein Site Management ist meist nicht vorhanden Inhalte sind statisch aufgesetzt Wenig Arbeitsaufteilung möglich, alles zentriert sich auf eine Person – den Webmaster
„Manuell“ erstellte Websites Redaktoren Grafiker Inhalte Webmaster Programmierung
Content Management System Klare Trennung von Form und Inhalt Dynamische Seitengenerierung, keine statischen Inhalte mehr Jobaufteilung, Abteilungsweise bis weltweit in Multinationalen Unternehmen Workflow integration Flaschenhals Webmaster ist beseitigt
Arbeitsteilung mit CMS Redaktor Redaktor Grafiker Grafiker Inhalt Inhalt Inhalt Inhalt Content Management System Webmaster Administration
Midgard eine Open Source Lösung CMS Lösungen haben im allgemeinen einen hohen Preis 50‘000 Franken und mehr sind üblich Einsatz für KMUs und öffentliche Verwaltungen werden so vielmals zu einem Kostenproblem Die Alternative – eine Lösung auf Basis Open Source Software
Open Source Lösungen Bekannte OSS CMS Lösungen sind: ZOPE, basierend auf Phyton www.zope.org OpenCMS, JSP Lösung www.opencms.com Midgard, basierend auf PHP www.midgard-project.org
Die Midgard Lösung Midgard ist eine offene CMS Umgebung mit der Portale, eBusiness-Lösungen und Knowledge-Management-Lösungen erstellt werden können Midgard baut auf populären Open Source Technologien auf; PHP, Apache, mySQL Midgard ist unter Linux, UNIX und in Zukunft auch Win NT einsetzbar
Die Midgard Lösung Midgard trennt Inhalt – Logik – Präsentation klar Midgard ist „webzentrisch“, keine Clientsoftware, sondern der Browser ist das Frontend Midgard ist skalierbar mit mySQL- oder Oracle DB und ODBC-Datenbanken Erweiterbar mit eigenem PHP-Code (PHP3 und PHP4 Applikationen Zeitliche Steuerung des Publizierens
Architektur von Midgard Uebersicht Datenbank Library Mod_midgard Midgard-PHP
Uebersicht Mod_midgard Midgard-PHP Midgard- Library Midgard Datenbank APACHE Webserver Mod_midgard Midgard-PHP Midgard- Library mySQL Server Midgard Datenbank
Datenbank Alle Daten, Layout und Inhalt werden in der mySQL Datenbank gespeichert Es wird eine normale unmodifizierte mySQL Version verwendet Die Daten sind als Records in Datatables organisiert Die einzelnen Records sind durch Ids identifiziert
Library Wird von der Midgard-Applikation benötigt Verwaltet die Kommunikation mit dem Server API für die Datenbank-Anbindung, Low-Level Funktionen Verwaltet die User-Authentisierung Utility-Funktionen für Midgard (Memory-Management, Text-Handling)
Mod_midgard Apache Modul zur Adress-Uebersetzung Mappt URLs zu Midgard DB-Adressen Ist zuständig für die Datenbankverbindung User Authentisierung und Basis HTTP-Authentisierung Erzeugt geringen Overhead für die mySQL Verbindung
Midgard - PHP Generiert die zum Browser gesandten HTML-Seiten Erweitert Element- und Variablen Code „Normaler“ PHP Code lässt sich in Midgard integrieren Weist erweiterte Funktionalität zu PHP auf, keine PHP Standard-Distribution
Content Management Mit der standardmässigen Administration lassen sich folgende Funktionen verwalten: Content Administration Host Administration Layout Administration Group Administration Die Administation kann den eigenen Anforderungen angepasst werden, also nur Content für die User und Technik durch Webmaster
Group Administation Verwaltung der Usergruppen und User Erteilung spezifischer Rechte
Host Administration Aufsetzen einer neuen Website Festlegen der Struktur der Site Festlegen der Style Elemente Einsetzen von spezifischen PHP Scripts
Layout Administration Erstellen von HTML-Seiten-Elementen wie Headers und Tables Einfügen von PHP Scripts und Midgard Code Einfügen von XML- und WAP Codes
Content Administration Organisation der Seiteninhalte Diese sind klar von der Logik getrennt und sind in baumförmiger Architektur in Topics und Artikel strukturiert Topics haben feste Beziehungen in der Struktur Formatierung der Artikel ist im Layout festgelegt
Content Administration
Browser-Frontend Integration eines benutzerfreundlichen Frontends für die Inhaltserstellung Einfach für den User, keine HTML-Kenntnisse sind dazu erforderlich Lösung momentan nur mit Windows (Client), aber Netscape und Internet Explorer einsetzbar Wir sind an der Entwicklung einer Java-Lösung, die universell einsetzbar ist
Beispiel mit Frontend
Erweiterungen Integration externer Datenquellen Integration von Inhalten aus beliebigen HTML-Seiten Integration von Daten aus dem Filesystem (pseudostatische Inhalte) wie für Handbücher Integration von Searchengines Integration von eBusiness Applikationen auf Basis PHP Personalisierter Inhalt
Voraussetzungen Midgard ist mit praktisch jeder Linux Distribution einsetzbar Apache ab 1.3.6 Webserver oder neuer mySQL ab 3.22.21 oder neuer phpMyAdmin für Administration mySQL Midgard-PHP, mit Patch versehene PHP3 Version, noch kein Termin für PHP4 PHP4 kann gleichzeitig mit eingesetzt werden
Dienstleistungen von CGX Entwicklung von CMS Lösungen auf Midgard Basis Implementation bei Kunden, Schulung Hosting von Midgard Weiterentwicklung an Midgard Projektentwicklungen mit Enhydra, ein OSS Java Application Server Projekte mit lizenzpflichtiger Software, wie AuthorIT, NetObjects, Verity
Midgard Demo Online Demo einiger Midgard Funktionen
Adressen im Web http://www.appserver-zone.com/ http://serverwatch.internet.com/ http://www.techmetrix.com/index.shtml http://webreview.com/pub/pt/Application_Server http://www.nwfusion.com/news/1999/1213apps.html http://www.zope.org/ http://www.enhydra.com/ http://www.zend.org/ http://www.midgard-organisation.org http://www.devshed.com