1 / 52

Content Management mit ZOPE - CMF

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

phong
Download Presentation

Content Management mit ZOPE - CMF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar Content Management mit ZOPE - CMF Sommersemester 2004 22.09.2004 Alexander Apelt FH Giessen-Friedberg eMail: alexander.apelt@mni.fh-giessen.de

  2. 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

  3. 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

  4. 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

  5. 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

  6. Architektur Quelle: http://www.zope.org/ZopeArchitecture 3 Alexander Apelt - SS04 ZOPE - CMF

  7. Architektur • Z Object Database (ZODB) • Datenbank zur persistenten Speicherung aller Objekte • transaktionsbasiert • objektorientiert 4 Alexander Apelt - SS04 ZOPE - CMF

  8. 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

  9. 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

  10. Basisobjekte Basisobjekte von ZOPE und Klassifizierung entsprechend ihres Verwendungszwecks : 7 Alexander Apelt - SS04 ZOPE - CMF

  11. 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

  12. Basisobjekte - Inhaltsobjekte Strukturierter Text • normaler Text • erweitert um Sonderzeichen zur formatierten Ausgabe z.B.: **fett** fett _unterstrichen_ unterstrichen 9 Alexander Apelt - SS04 ZOPE - CMF

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. Akquisition - Prinzip • Unterschied von Vererbung und Akquisition liegt in der Relation zwischen den Objekten 16 Alexander Apelt - SS04 ZOPE - CMF

  20. 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

  21. 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

  22. 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

  23. 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

  24. ZOPE Management Interface (ZMI) 21 Alexander Apelt - SS04 ZOPE - CMF

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. Content Management Content Management mit ZOPE, CMF und Plone 28 Alexander Apelt - SS04 ZOPE - CMF

  34. 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

  35. 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

  36. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  37. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  38. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  39. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  40. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  41. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  42. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  43. Arbeitsflusskontrolle - Beispiel 31 Alexander Apelt - SS04 ZOPE - CMF

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related