content management mit zope - cmf

52
Content Management mit ZOPE - CMF Sommersemester 2004 22.09.2004 Alexander Apelt FH Giessen-Friedberg eMail: [email protected] Seminar

Upload: phong

Post on 19-Jan-2016

48 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: Content Management mit                           ZOPE - CMF

Content Management mit

ZOPE - CMF Sommersemester 2004

22.09.2004

Alexander ApeltFH Giessen-Friedberg

eMail: [email protected]

Seminar

Page 2: Content Management mit                           ZOPE - CMF

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

Page 3: Content Management mit                           ZOPE - CMF

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

Page 4: Content Management mit                           ZOPE - CMF

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

Page 5: Content Management mit                           ZOPE - CMF

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

Page 6: Content Management mit                           ZOPE - CMF

Architektur

Alexander Apelt - SS04 ZOPE - CMF

3Quelle: http://www.zope.org/ZopeArchitecture

Page 7: Content Management mit                           ZOPE - CMF

Architektur

Alexander Apelt - SS04 ZOPE - CMF

4

Z Object Database (ZODB)

Datenbank zur persistenten Speicherung aller Objekte

transaktionsbasiert

objektorientiert

Page 8: Content Management mit                           ZOPE - CMF

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

Page 9: Content Management mit                           ZOPE - CMF

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

Page 10: Content Management mit                           ZOPE - CMF

Basisobjekte

Alexander Apelt - SS04 ZOPE - CMF

7

Basisobjekte von ZOPE und Klassifizierung entsprechend ihres Verwendungszwecks :

Page 11: Content Management mit                           ZOPE - CMF

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

Page 12: Content Management mit                           ZOPE - CMF

Basisobjekte - Inhaltsobjekte

Alexander Apelt - SS04 ZOPE - CMF

9

Strukturierter Text

normaler Text

erweitert um Sonderzeichen zur formatierten Ausgabe

z.B.: **fett** fett

_unterstrichen_ unterstrichen

Page 13: Content Management mit                           ZOPE - CMF

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

Page 14: Content Management mit                           ZOPE - CMF

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

Page 15: Content Management mit                           ZOPE - CMF

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

Page 16: Content Management mit                           ZOPE - CMF

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

Page 17: Content Management mit                           ZOPE - CMF

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

Page 18: Content Management mit                           ZOPE - CMF

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

Page 19: Content Management mit                           ZOPE - CMF

Akquisition - Prinzip

Alexander Apelt - SS04 ZOPE - CMF

16

Unterschied von Vererbung und Akquisition liegt in der Relation zwischen den Objekten

Page 20: Content Management mit                           ZOPE - CMF

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

Page 21: Content Management mit                           ZOPE - CMF

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

Page 22: Content Management mit                           ZOPE - CMF

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

Page 23: Content Management mit                           ZOPE - CMF

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

Page 24: Content Management mit                           ZOPE - CMF

ZOPE Management Interface (ZMI)

Alexander Apelt - SS04 ZOPE - CMF

21

Page 25: Content Management mit                           ZOPE - CMF

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

Page 26: Content Management mit                           ZOPE - CMF

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

Page 27: Content Management mit                           ZOPE - CMF

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

Page 28: Content Management mit                           ZOPE - CMF

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

Page 29: Content Management mit                           ZOPE - CMF

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

Page 30: Content Management mit                           ZOPE - CMF

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

Page 31: Content Management mit                           ZOPE - CMF

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

Page 32: Content Management mit                           ZOPE - CMF

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

Page 33: Content Management mit                           ZOPE - CMF

Content Management

Alexander Apelt - SS04 ZOPE - CMF

28

Content Management mit ZOPE, CMF und Plone

Page 34: Content Management mit                           ZOPE - CMF

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

Page 35: Content Management mit                           ZOPE - CMF

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

Page 36: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 37: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 38: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 39: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 40: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 41: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 42: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 43: Content Management mit                           ZOPE - CMF

Arbeitsflusskontrolle - Beispiel

Alexander Apelt - SS04 ZOPE - CMF

31

Page 44: Content Management mit                           ZOPE - CMF

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

Page 45: Content Management mit                           ZOPE - CMF

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

Page 46: Content Management mit                           ZOPE - CMF

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

Page 47: Content Management mit                           ZOPE - CMF

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

Page 48: Content Management mit                           ZOPE - CMF

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

Page 49: Content Management mit                           ZOPE - CMF

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

Page 50: Content Management mit                           ZOPE - CMF

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

Page 51: Content Management mit                           ZOPE - CMF

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

Page 52: Content Management mit                           ZOPE - CMF

Fragen & Antworten

Alexander Apelt - SS04 ZOPE - CMFENDE