520 likes | 617 Views
Seminar. Content Management mit ZOPE - CMF. Sommersemester 2004 22.09.2004. Alexander Apelt FH Giessen-Friedberg eMail: alexander.apelt@mni.fh-giessen.de. Gliederung. 1. ZOPE
E N D
Seminar Content Management mit ZOPE - CMF Sommersemester 2004 22.09.2004 Alexander Apelt FH Giessen-Friedberg eMail: alexander.apelt@mni.fh-giessen.de
Gliederung 1. ZOPE - Historie, Entwicklung - Architektur - Konzepte - ZMI - Funktionen 2. CMF - Dienste und Erweiterungen 3. Content Management - Einbringung von Inhalt - Arbeitsflusskontrolle - Erweiterbarkeit und Anpassbarkeit - Weitere CMS-Dienste 4. Zusammenfassung Alexander Apelt - SS04 ZOPE - CMF
Gliederung 1. ZOPE - Historie, Entwicklung - Architektur - Konzepte - ZMI - Funktionen 2. CMF - Dienste und Erweiterungen 3. Content Management - Einbringung von Inhalt - Arbeitsflusskontrolle - Erweiterbarkeit und Anpassbarkeit - Weitere CMS-Dienste 4. Zusammenfassung Alexander Apelt - SS04 ZOPE - CMF
Was ist ZOPE ? • ZOPE steht für ZObject Publishing Environment • ZOPE ist ein Webapplikationsserver • ZOPE ist ein Programmgerüst • ZOPE ist weitgehend in Python implementiert • ZOPE ist objektorientiert • ZOPE ist Open-Source • ZOPE ist eine Entwicklungs- und Laufzeitumgebung für Web-Applikationen ZOPE ist kein Content-Management System 1 Alexander Apelt - SS04 ZOPE - CMF
Historie / Entwicklung 1996- Jim Fulton beginnt Entwicklung des ZOPE-Kerns für Digital Creations - Digital Creations ( heute Zope Corporation )entwickelt daraus kommerzielles Produkt Principia 1998- erfolgt die Freigabe als Open-Source unter der GPL Heute- stetige Weiterentwicklung und Erweiterung von ZOPE durch die Open-Source-Gemeinde - Zope Corporation kommerzielle Beratung und Entwicklungsleistungen im Zope Umfeld 2 Alexander Apelt - SS04 ZOPE - CMF
Architektur Quelle: http://www.zope.org/ZopeArchitecture 3 Alexander Apelt - SS04 ZOPE - CMF
Architektur • Z Object Database (ZODB) • Datenbank zur persistenten Speicherung aller Objekte • transaktionsbasiert • objektorientiert 4 Alexander Apelt - SS04 ZOPE - CMF
Architektur • ZServer • integrierter Webserver • Schnittstelle zur Verwaltung und Veröffentlichung von Objekten • unterstützt HTTP, FTP, WebDAV und XML-RPC • Ersetzung durch anderen Webserver mit CGI-Unterstützung möglich 5 Alexander Apelt - SS04 ZOPE - CMF
Architektur • Zope Core • Verarbeitung aller Anfragen auf Objekte • Ermittlung des Objekts in der ZODB anhand der URL • Ausführung entsprechender Methoden und Rückgabe des Resultats 6 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte Basisobjekte von ZOPE und Klassifizierung entsprechend ihres Verwendungszwecks : 7 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Inhaltsobjekte Ordner • dienen der hierarchischen Strukturierung und Organisation von Objekten Dateien und Bilder • Container für Daten in binärer und textueller Form • entsprechen dem lokalem Dateikonzept • Bilder-Objekte besitzen zusätzlich bildspezifische Methoden und Attribute z.B.: Pdf-Dokumente, Text-Dokumente, PS-Dokumente, . . . 8 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Inhaltsobjekte Strukturierter Text • normaler Text • erweitert um Sonderzeichen zur formatierten Ausgabe z.B.: **fett** fett _unterstrichen_ unterstrichen 9 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Darstellungsobjekte Document Template Markup Language (DTML) Objekte • DTML ist eine TAG-basierte, in HTML-integrierte Skriptsprache vergleichbar mit PHP, ASP oder Embedded-Perl • DTML besitzt Direktiven für Aufrufe beliebiger Funktionen, bedingte Anweisungen, Integration von Python-Ausdrücken, Ausnahmebehandlung, Mailversand . . . • sehr ausdrucksstark DTML-Dokumente • dienen der Erstellung von Web-Seiten mit dynamischem Inhalt 10 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Darstellungsobjekte DTML-Methoden • besitzen keine Attribute, sind daher keine richtigen Objekte • dienen der Definition von Methoden für andere Objekte • erwerben Attribute durch Akquisition aus dem Kontext 11 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Darstellungsobjekte Zope Page Template (ZPT) Objekte • ZPTs dienen der Erstellung von Web-Seiten mit dynamischem Inhalt • Verwendung der Template Attribute Language (TAL) • XML-ähnliche TAGs in HTML-TAGs integriert vgl. XHMTL • sehr einfach strukturiert • geringe Anzahl an Direktiven • geringe Ausdrucksstärke • Erstellung von Makros mit Macro Extension TAL (METAL) • Möglichkeit zur Definition von Slots • Slots können bei Expansion des Makros beliebig gefüllt werden • Wiederverwendung häufig benötigter Codestücke wird unterstützt 12 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte Warum zwei Methoden zur Erstellung dynamischer Webseiten? • DTML-Dokumente sind älter, da seit Anfang in ZOPE integriert • DTML-Dokumente besitzen gravierende Nachteile • DTML-TAGs für WYSIWYG-Programme unverständlich • Zerstörung des Templates • keine saubere Trennung zwischen Inhalt, Darstellung und Programmlogik • schwierige Zusammenarbeit zwischen Programmierer und Designer 13 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Programmobjekte • Heutzutage hauptsächlich Einsatz von ZPTs in Verbindung mit Python-Skripten • Bearbeitung mit WYSIWYG-Programmen möglich • Angabe von Platzhaltern möglich, somit sieht man eine Vorlage der Seite • Unterstützung des WYSIWYG-Konzepts • Saubere Trennung zwischen Inhalt und Darstellung • grössere Unabhängigkeit zwischen Programmierer und Designer • Entwicklungsprozess wird vereinfacht und beschleunigt 14 Alexander Apelt - SS04 ZOPE - CMF
Basisobjekte - Programmobjekte Python-Skripte • Skripte in Python implementiert und in ZODB gespeichert • Verwendung für komplexere Berechnungen und Programmlogik Externe Methoden • Python-Skripte, die auf dem Dateisystem gespeichert sind • Sie unterliegen nicht den Sicherheitsrestriktionen von ZOPE SQL-Skripte • Speicherung und Ausführung von SQL-Anfragen an ein externes DBS • Nutzung durch andere Objekte zum Erhalt von Daten aus externem DBS 15 Alexander Apelt - SS04 ZOPE - CMF
Akquisition - Prinzip • Unterschied von Vererbung und Akquisition liegt in der Relation zwischen den Objekten 16 Alexander Apelt - SS04 ZOPE - CMF
Akquisition - Prinzip • Objekte enthalten andere Objekte • Objekte können für andere einen Container bilden • Objekte können Attribute und Methoden vom Container erwerben • Objekte können Attribute und Methoden von hierarchisch übergeordneten Objekten erwerben 17 Alexander Apelt - SS04 ZOPE - CMF
Akquisition – Beispiel 1 Zugriff von Objekt Mitarbeiter2 auf Eigenschaft ”AName“ von Abteilung1 unterschiedliche Auswertung je nach Container Zugriff von Objekt Mitarbeiter1 auf Eigenschaft ”AName“ von Abteilung2 18 Alexander Apelt - SS04 ZOPE - CMF
Akquisition – Beispiel 2 Zugriff von Objekt Mitarbeiter2 auf Eigenschaft ”Standort“ von Abteilungen einfacher gemeinsamer Zugriff auf eine zentrale Ressource Zugriff von Objekt Mitarbeiter1 auf Eigenschaft ”Standort“ von Abteilungen 19 Alexander Apelt - SS04 ZOPE - CMF
ZOPE Management Interface (ZMI) • Zope Management Interface (ZMI) • Alle Entwicklungs- und Managementaufgaben erfolgen mit dem ZMI : • Verwaltung von ZOPE • Erstellung und Änderung von Objekten • Entwicklung neuer Produkte • komplett webbasiert • Zugriff von überall per Web-Browser • an bekannten Dateimanagern angelehnt • Umgang für meiste Anwender leicht erlernbar 20 Alexander Apelt - SS04 ZOPE - CMF
ZOPE Management Interface (ZMI) 21 Alexander Apelt - SS04 ZOPE - CMF
Funktionen von ZOPE • Benutzer- und Zugriffsverwaltung • Erstellung und Verwaltung von Benutzern und Benutzergruppen • Einschränkung bestimmter Aktion auf dafür privilegierte Benutzer oder Benutzergruppen • sehr feingranulare Konfigurationsmöglichkeiten • Suchdienst • Schlüsselwortsuche • Suche nach Schlüsselwörtern • Erstellung eines Katalogs zur Suche, genannt ZCatalog 22 Alexander Apelt - SS04 ZOPE - CMF
Funktionen von ZOPE • erweiterte Suche • sehr mächtig • Volltextsuche • Suche in Metadaten • Kombination unterschiedlicher Suchkriterien Versionskontrolle und Rücksetzen Versionskontrolle • Vorhalten mehrerer eindeutig identifizierbarer Versionen eines Inhaltes • Reproduktion einer älteren Version eines Inhaltes 23 Alexander Apelt - SS04 ZOPE - CMF
Funktionen von ZOPE Rücksetzen • durchgeführte Transaktion rückgängig machen • Berücksichtigung des Erhalts der Gesamtintegrität 24 Alexander Apelt - SS04 ZOPE - CMF
Gliederung 1. ZOPE - Historie, Entwicklung - Architektur - Konzepte - ZMI - Funktionen 2. CMF - Dienste und Erweiterungen 3. Content Management - Einbringung von Inhalt - Arbeitsflusskontrolle - Erweiterbarkeit und Anpassbarkeit - Weitere CMS-Dienste 4. Zusammenfassung Alexander Apelt - SS04 ZOPE - CMF
Was ist CMF ? • CMF steht für Content Management Framework • ursprünglich bekannt als Portal Toolkit (PTK) • bildet eine Sammlung von Produkten, Objekten und anderen Erweiterungen zur Gestaltung eines an individuellen Bedürfnissen angepassten CMS auf Basis von ZOPE • ebenfalls entwickelt von der Zope Corporation und als Open-Source freigegeben • ebenfalls stetige Weiterentwicklung und Erweiterung durch Open-Source-Gemeinde 25 Alexander Apelt - SS04 ZOPE - CMF
Dienste und Erweiterungen • Erweiterung der Basisobjekte um Dokument, Link und Favoriten • Arbeitsflusskontrolle • Metadaten • Erweiterung der Objekte um zusätzliche Informationen über Objekte • CMF erweitert die Basisobjekte um Metadaten wie Verfasser, Erstelldatum, Änderungsdatum, Stichwörter . . . • Erweiterung des Suchdienstes • Automatische Indizierung von Schlüsselwörtern neu hinzukommender Inhalte entsprechend dem Dublin Core Standard 26 Alexander Apelt - SS04 ZOPE - CMF
Dienste und Erweiterungen • Erweiterung der Benutzer- und Zugriffsverwaltung • Erweiterung um Tools zur angenehmeren Konfiguration • Erweiterung der Funktionalität, z. B. Speicherung zusätzlicher Anwenderdaten • Personalisierung • Anpassung bestimmter Produkte an persönliche Eigenschaften und Anforderungen des Benutzers • Anpassung des Erscheinungsbildes • einfache webbasierte Konfigurationsmöglichkeiten des Standarderscheinungsbildes • tief greifende Änderungen erfolgen durch Änderung von Templates und Skripten 27 Alexander Apelt - SS04 ZOPE - CMF
Gliederung 1. ZOPE - Historie, Entwicklung - Architektur - Konzepte - ZMI - Funktionen 2. CMF - Dienste und Erweiterungen 3. Content Management - Einbringung von Inhalt - Arbeitsflusskontrolle - Erweiterbarkeit und Anpassbarkeit - Weitere CMS-Dienste 4. Zusammenfassung Alexander Apelt - SS04 ZOPE - CMF
Content Management Content Management mit ZOPE, CMF und Plone 28 Alexander Apelt - SS04 ZOPE - CMF
Einbringung von Inhalt Zielsetzung: Einbringung durch Mitarbeiter auf jedem Qualifikationsniveau soll möglich sein • keine Kenntnisse über Darstellungs- und Repräsentationsmechanismen dürfen zur Einbringung nötig sein In ZOPE, CMF und Plone durch Trennung von Inhalt, Darstellung und Programmlogik gewährleistet Einbringung kann erfolgen: • webbasiert durch die von Plone gelieferte graphische Oberfläche • mit Hilfe des WebDAV-Protokolls • per FTP-Protokol 29 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle Oft arbeiten mehrere Personen sequentiell oder parallel an einem Objekt Koordination nötig, genannt Arbeitsflusskontrolle CMF bringt eine Arbeitsflusskontrolle als Dienst mit • Satz von vorgefertigten Standard-Arbeitsflusskontrollen • Möglichkeit der Änderung und Neuerstellung • Festlegung möglicher Zustände eines Objekts • Festlegung möglicher Übergangsaktionen • Festlegung der autorisierten Benutzer für die Ausführung einer Übergangsaktion • Festlegung anderer Aktionen wie Benachrichtigungsemail • erfolgt total webbasiert per ZMI 30 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF
Erweiterbarkeit / Anpassbarkeit Erweiterbarkeit und Anpassbarkeit von ZOPE und CMF Problem:Wunsch nach individuell angepassten Objekten. ZOPE und CMF bieten folgende drei Lösungen (nach zunehmender Komplexität und Mächtigkeit geordnet): 1. Erstellung eines neuen Objekts auf Basis eines bestehenden 2. Verwendung von Archetyps, ursprünglich CMFTypes 3. Erstellung eines neuen Produktes 32 Alexander Apelt - SS04 ZOPE - CMF
Erweiterbarkeit / Anpassbarkeit 1. Erstellung eines neuen Objekts auf Basis eines bestehenden • Erstellen einer Kopie eines bestehenden Objektes mit Hilfe des ZMI • Änderung der Templates und Eigenschaften ebenfalls mit ZMI • einfach, keine Programmierkenntnisse nötig 33 Alexander Apelt - SS04 ZOPE - CMF
Erweiterbarkeit / Anpassbarkeit 2. Verwendung von Archetyps, ursprünglich CMFTypes • Definition eines Schemas des neuen Objektes mit einfachen Python-Direktiven • automatische Generierung der Formulare zum Hinzufügen, Editieren und Anzeigen • recht einfach, wenig Einarbeitungsaufwand und nur geringe Programmierkenntnisse nötig 34 Alexander Apelt - SS04 ZOPE - CMF
Erweiterbarkeit / Anpassbarkeit 3. Erstellung eines neuen Produktes • Programmierkenntnisse nötig • tief greifende Systemkenntnisse über ZOPE und CMF nötig • sehr komplex, aber äusserst mächtig • eignet sich nur für versierten Anwender 35 Alexander Apelt - SS04 ZOPE - CMF
Weitere CMS-Dienste Im Zusammenhang mit ZOPE und CMF wurde genannt: • Benutzer- und Zugriffsverwaltung, Suchdienst, Versionskontrolle und Rücksetzen, Metadaten und Personalisierung Darüber hinaus gibt es noch unzählige Zusatzfunktion, die teils enthalten sind oder nachträglich installiert werden können: • Kalender, Anzeige neu hinzugekommener Inhalte, integrierter WYSIWYG-Editor, Favoriten, Kataloge, Benachrichtigungen, Cross-Media-Publishing-Tools, . . . Zwischenzeitlich über 400 Zusatzprodukte erhältlich • enorme Funktionsfülle 36 Alexander Apelt - SS04 ZOPE - CMF
Gliederung 1. ZOPE - Historie, Entwicklung - Architektur - Konzepte - ZMI - Funktionen 2. CMF - Dienste und Erweiterungen 3. Content Management - Einbringung von Inhalt - Arbeitsflusskontrolle - Erweiterbarkeit und Anpassbarkeit - Weitere CMS-Dienste 4. Zusammenfassung Alexander Apelt - SS04 ZOPE - CMF
Zusammenfassung • ZOPE, CMF und Plone bieten alle nötigen Vorraussetzungen für den Einsatz als CMS • Einsatz in einer Umgebung mit durchschnittlichen Anforderungen kann schnell erfolgen • frei erhältlich, sehr portabel und grosse Funktionsfülle • gute Integrierbarkeit in bestehende Systeme • ZOPE kann als Basis für weitere Web-Applikationen dienen 37 Alexander Apelt - SS04 ZOPE - CMF