content management mit zope - cmf

Post on 19-Jan-2016

50 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Content Management mit

ZOPE - CMF Sommersemester 2004

22.09.2004

Alexander ApeltFH Giessen-Friedberg

eMail: alexander.apelt@mni.fh-giessen.de

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

top related