Upload
phong
View
54
Download
1
Embed Size (px)
DESCRIPTION
Seminar. Content Management mit ZOPE - CMF. Sommersemester 2004 22.09.2004. Alexander Apelt FH Giessen-Friedberg eMail: [email protected]. Gliederung. 1. ZOPE - PowerPoint PPT Presentation
Citation preview
Content Management mit
ZOPE - CMF Sommersemester 2004
22.09.2004
Alexander ApeltFH Giessen-Friedberg
eMail: [email protected]
Seminar
Gliederung
Alexander Apelt - SS04 ZOPE - CMF
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
Gliederung
Alexander Apelt - SS04 ZOPE - CMF
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
Was ist ZOPE ?
Alexander Apelt - SS04 ZOPE - CMF
1
ZOPE steht für Z Object 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
Historie / Entwicklung
Alexander Apelt - SS04 ZOPE - CMF
2
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
Architektur
Alexander Apelt - SS04 ZOPE - CMF
3Quelle: http://www.zope.org/ZopeArchitecture
Architektur
Alexander Apelt - SS04 ZOPE - CMF
4
Z Object Database (ZODB)
Datenbank zur persistenten Speicherung aller Objekte
transaktionsbasiert
objektorientiert
Architektur
Alexander Apelt - SS04 ZOPE - CMF
5
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
Architektur
Alexander Apelt - SS04 ZOPE - CMF
6
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
Basisobjekte
Alexander Apelt - SS04 ZOPE - CMF
7
Basisobjekte von ZOPE und Klassifizierung entsprechend ihres Verwendungszwecks :
Basisobjekte - Inhaltsobjekte
Alexander Apelt - SS04 ZOPE - CMF
8
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, . . .
Basisobjekte - Inhaltsobjekte
Alexander Apelt - SS04 ZOPE - CMF
9
Strukturierter Text
normaler Text
erweitert um Sonderzeichen zur formatierten Ausgabe
z.B.: **fett** fett
_unterstrichen_ unterstrichen
Basisobjekte - Darstellungsobjekte
Alexander Apelt - SS04 ZOPE - CMF
10
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
Basisobjekte - Darstellungsobjekte
Alexander Apelt - SS04 ZOPE - CMF
11
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
Basisobjekte - Darstellungsobjekte
Alexander Apelt - SS04 ZOPE - CMF
12
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
Basisobjekte
Alexander Apelt - SS04 ZOPE - CMF
13
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
Basisobjekte - Programmobjekte
Alexander Apelt - SS04 ZOPE - CMF
14
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
Basisobjekte - Programmobjekte
Alexander Apelt - SS04 ZOPE - CMF
15
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
Akquisition - Prinzip
Alexander Apelt - SS04 ZOPE - CMF
16
Unterschied von Vererbung und Akquisition liegt in der Relation zwischen den Objekten
Akquisition - Prinzip
Alexander Apelt - SS04 ZOPE - CMF
17
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
Akquisition – Beispiel 1
Alexander Apelt - SS04 ZOPE - CMF
18
Zugriff von Objekt Mitarbeiter2 auf Eigenschaft ”AName“ von Abteilung1
unterschiedliche Auswertung je nach
Container
Zugriff von Objekt Mitarbeiter1 auf Eigenschaft ”AName“ von Abteilung2
Akquisition – Beispiel 2
Alexander Apelt - SS04 ZOPE - CMF
19
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
ZOPE Management Interface (ZMI)
Alexander Apelt - SS04 ZOPE - CMF
20
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
ZOPE Management Interface (ZMI)
Alexander Apelt - SS04 ZOPE - CMF
21
Funktionen von ZOPE
Alexander Apelt - SS04 ZOPE - CMF
22
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
Funktionen von ZOPE
Alexander Apelt - SS04 ZOPE - CMF
23
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
Funktionen von ZOPE
Alexander Apelt - SS04 ZOPE - CMF
24
Rücksetzen
durchgeführte Transaktion rückgängig machen
Berücksichtigung des Erhalts der Gesamtintegrität
Gliederung
Alexander Apelt - SS04 ZOPE - CMF
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
Was ist CMF ?
Alexander Apelt - SS04 ZOPE - CMF
25
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
Dienste und Erweiterungen
Alexander Apelt - SS04 ZOPE - CMF
26
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
Dienste und Erweiterungen
Alexander Apelt - SS04 ZOPE - CMF
27
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
Gliederung
Alexander Apelt - SS04 ZOPE - CMF
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
Content Management
Alexander Apelt - SS04 ZOPE - CMF
28
Content Management mit ZOPE, CMF und Plone
Einbringung von Inhalt
Alexander Apelt - SS04 ZOPE - CMF
29
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
Arbeitsflusskontrolle
Alexander Apelt - SS04 ZOPE - CMF
30
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
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Arbeitsflusskontrolle - Beispiel
Alexander Apelt - SS04 ZOPE - CMF
31
Erweiterbarkeit / Anpassbarkeit
Alexander Apelt - SS04 ZOPE - CMF
32
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
Erweiterbarkeit / Anpassbarkeit
Alexander Apelt - SS04 ZOPE - CMF
33
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
Erweiterbarkeit / Anpassbarkeit
Alexander Apelt - SS04 ZOPE - CMF
34
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
Erweiterbarkeit / Anpassbarkeit
Alexander Apelt - SS04 ZOPE - CMF
35
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
Weitere CMS-Dienste
Alexander Apelt - SS04 ZOPE - CMF
36
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
Gliederung
Alexander Apelt - SS04 ZOPE - CMF
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
Zusammenfassung
Alexander Apelt - SS04 ZOPE - CMF
37
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
Zusammenfassung
Alexander Apelt - SS04 ZOPE - CMF
38
Aber:
Dokumentation nur spärlich vorhanden
Support nur durch Open-Source-Gemeinde durch Newsgroups, Web-Seiten und Mailinglisten
genügt den Ansprüchen im Unternehmenseinsatz evtl. nicht
Entwicklung eines spezifisch angepassten CMS oder einer Web-Applikation kann hohen Reengineeringaufwand mit sich bringen
Fragen & Antworten
Alexander Apelt - SS04 ZOPE - CMFENDE