100
Content Management Systeme Diplomarbeit an der TU Budapest und der TU Dresden Mai 2001 Fiala Zoltán Betreuer: Prof. Dr. Csopaki Gyula, Budapesti M ˝ uszaki Egyetem Prof. Dr. Klaus Meißner, Technische Universität Dresden Ronny Franke, Multimedia Software GmbH, Dresden

Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme

DiplomarbeitanderTU BudapestundderTU Dresden

Mai 2001

FialaZoltán

Betreuer:

Prof. Dr. CsopakiGyula,BudapestiMuszakiEgyetemProf. Dr. KlausMeißner, TechnischeUniversitätDresden

Ronny Franke,MultimediaSoftwareGmbH,Dresden

Page 2: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Aufgabenstellung

Content ManagementSysteme

Die Mengeder gesammeltenund im Web veröffentlichtenInformationenvervielfachtsichin immer kleinerenAbständen.Die Organisation,Strukturierung,BündelungundAktuali-sierungvonInformationen,sowie derTransportderrichtigenInhalteandenrichtigenOrt istheuteeinedergrößtenHerausforderungenanE-Commerce-Lösungen.

Web ContentManagementSysteme(WCMS)ermöglichendie strukturierteund automati-sierteErstellung,Aufbereitung,Verwaltung,ÄnderungundAktualisierungvon Informatio-nenim Inter- und Intranet. Kennzeichenvon WCM-Systemensind die datenbankgestützteEchtzeit-PublikationundVerwaltungvonWeb-InhaltendurchmehrerePersonensowohl ausdemEntwickler- alsauchausdemRedaktions-undVerwaltungsbereich.

Im RahmendieserDiplomarbeitsoll aufdieallgemeineStruktur, ArchitekturundFunktiona-lität derheuteammeistenverwendetenWCM-LösungendurcheinevergleichendeAnalyseeingegangenwerden. Im Mittelpunkt der Untersuchungenstehtdie EvaluationpreiswerterSystemeundLösungsmöglichkeiten,die einegünstigeAlternative gegenüberdenheuteambreitestenverwendetenkostaufwändigenkommerziellenSystemenbieten.

Zur Veranschaulichungder Forschungsergebnissesoll ein kleinesWCM-BeispielsystemineinerpreisgünstigenUmgebung(Linux, ApacheWeb-Server, PHP4, MySQL) realisiertwer-den,diediewesentlichstenFunktionalitäteneinerWCM-Lösung,sowie TrennungvonInhaltundLayout, Staging, Storage, Versionierung, VerwaltungundAktualisierungvonAssetsetc.darstellt.Essoll dabeieineEvaluierungderverschiedenenzur Verfügungstehendenpreis-günstigenLösungsmöglichkeitenerfolgen.

1

Page 3: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Selbständigkeitserklärung

Hiermit versichereich, dievorliegendeDiplomarbeitselbständigundnurunterVerwendungderangegebenenQuellenerstelltzuhaben.

Dresden,den11.05.2001 ZoltánFiala

2

Page 4: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Inhaltsverzeichnis

1 Einführung 6

2 Content ManagementSysteme 72.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 KennzeichenundKomponentenvon WCM-Systemen. . . . . . . . . . . . 9

2.2.1 Trennungvon Inhalt undLayout . . . . . . . . . . . . . . . . . . . 92.2.2 Assetmanagement. . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.3 Im- undExportschnittstellenfür Content . . . . . . . . . . . . . . 132.2.4 Personalisierung. . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.5 Workflow undRollenverteilung . . . . . . . . . . . . . . . . . . . 162.2.6 Multiple Access- VerwaltungmehrfacherZugriffe . . . . . . . . . 162.2.7 Staging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.8 Caching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3 Forschungen,Standards,Trendsim ContentManagement. . . . . . . . . . 182.3.1 Workflow-Managementin CM-Systemen . . . . . . . . . . . . . . 192.3.2 GroupwareundGroupAwareness. . . . . . . . . . . . . . . . . . 252.3.3 Personalisierungmit demUniversalContentService . . . . . . . . 252.3.4 iWebDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3.5 ContentManagementin verteiltenUmgebungen . . . . . . . . . . 282.3.6 Protokolle im CM . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.4 KriterienzurBewertungvonContentManagementSystemen. . . . . . . . 34

3 Content ManagementSystemeim Vergleich 383.1 KommerzielleLösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1.1 VignetteContentManagerServer . . . . . . . . . . . . . . . . . . 383.1.2 GaussVIP ContentManager. . . . . . . . . . . . . . . . . . . . . 403.1.3 NPS- Network Productivity System. . . . . . . . . . . . . . . . . 41

3.2 Open-SourceLösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.1 OpenCMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2.2 Midgard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.2.3 Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3 AndereAspekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3

Page 5: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Inhaltsverzeichnis

3.3.1 KnowledgeManagementmit Mindaccess. . . . . . . . . . . . . . 463.4 Zusammenfassung- BewertungderSysteme. . . . . . . . . . . . . . . . . 47

4 KonzeptioneinespreiswertenCMS 514.1 EasyContent– Der Name . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2 EasyContent– Zielsetzungen. . . . . . . . . . . . . . . . . . . . . . . . . 514.3 TechnologischeFragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.3.1 Betriebssystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.2 Web-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.3 Programmierschnittstelle. . . . . . . . . . . . . . . . . . . . . . . 544.3.4 Datenhaltung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.4 EasyContent– Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5 EasyContent– Systemkomponenten. . . . . . . . . . . . . . . . . . . . . 554.6 Projekte,TemplatesundAssets. . . . . . . . . . . . . . . . . . . . . . . . 574.7 Benutzer- undZugriffsverwaltung . . . . . . . . . . . . . . . . . . . . . . 58

4.7.1 EasyContent– Benutzer . . . . . . . . . . . . . . . . . . . . . . . 584.7.2 ZugriffsverwaltungüberProjektgruppen. . . . . . . . . . . . . . . 58

4.8 Assetmanagementin EasyContent . . . . . . . . . . . . . . . . . . . . . . 604.8.1 StrukturierteDarstellungderInhalte . . . . . . . . . . . . . . . . . 604.8.2 Die VerwaltungderZugriffe aufdie Inhalte . . . . . . . . . . . . . 614.8.3 VersionierungderInhalte . . . . . . . . . . . . . . . . . . . . . . . 624.8.4 Datenbankverwaltung . . . . . . . . . . . . . . . . . . . . . . . . 64

4.9 Personalisierungin EasyContent. . . . . . . . . . . . . . . . . . . . . . . 654.10 Workflows in EasyContent . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.10.1 Die VerwaltungmehrfacherZugriffe . . . . . . . . . . . . . . . . . 664.10.2 Freigabenachdem4-Augen-Prinzip . . . . . . . . . . . . . . . . . 664.10.3 System-Meldungenin EasyContent . . . . . . . . . . . . . . . . . 67

4.11 Stagingin EasyContent. . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.12 Cachingin EasyContent . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.13 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 Implementation 725.1 BeschränkungengegenüberderKonzeption . . . . . . . . . . . . . . . . . 725.2 Die SoftwareumgebungdesPrototypen . . . . . . . . . . . . . . . . . . . 72

5.2.1 Systemanforderungen- Server . . . . . . . . . . . . . . . . . . . . 735.2.2 Systemanforderungen- Client . . . . . . . . . . . . . . . . . . . . 73

5.3 Die RealisationderCMS- Funktionen . . . . . . . . . . . . . . . . . . . . 745.3.1 Trennungvon Inhalt undLayoutmit PHP4 . . . . . . . . . . . . . 745.3.2 LogischeAdressierungderTemplates . . . . . . . . . . . . . . . . 755.3.3 Versionierungmit MySQL . . . . . . . . . . . . . . . . . . . . . . 785.3.4 Datenbankverwaltungmit phpMyAdmin. . . . . . . . . . . . . . . 795.3.5 Personalisierungmit htaccess . . . . . . . . . . . . . . . . . . . . 805.3.6 ImplementierungderWorkflowmechanismen. . . . . . . . . . . . 815.3.7 Stagingmit Apache . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Copyright BME, TU Dresden,FialaZoltán 4

Page 6: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Inhaltsverzeichnis

5.3.8 Cachingmit wget . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.4 DasDatenbankmodelldesSystems. . . . . . . . . . . . . . . . . . . . . . 865.5 Die Möglichkeit derPortierungzuWindows . . . . . . . . . . . . . . . . . 88

5.5.1 PortierungdesWeb-Servers . . . . . . . . . . . . . . . . . . . . . 885.5.2 PortierungderProgrammierlogik . . . . . . . . . . . . . . . . . . 885.5.3 DatenhaltungunterWindows . . . . . . . . . . . . . . . . . . . . . 88

5.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6 Diskussionund Ausblick 896.1 Erweiterungsmöglichkeitenfür EasyContent. . . . . . . . . . . . . . . . . 896.2 Forschungsmöglichkeitenin ContentManagement . . . . . . . . . . . . . 90

Copyright BME, TU Dresden,FialaZoltán 5

Page 7: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 1

Einführung

Wir lebenheuteim sog. Informationszeitalter. Die rasanteEntwicklungder Telekommu-nikation bzw. der Datenverarbeitunghat in denvergangenenJahrendazugeführt,daßdiedigitaleKommunikationnichtnureinerderstärkstenWirtschaftszweige,sondernaucheinerderbestimmendstenFaktorenunseresalltäglichenLebensgewordenist.

Verglichenmit früherenZeiten,alsein allgemeinerMangelan schnellzugänglichenInfor-mationengeherrschthat, habenwir esheutemit einem„Überschuß”von Inhaltenzu tun.Vor allem die schnelleEntwicklungdesInternethat dazubeigetragen,daßjedemvon unspraktischunendlichedigitaleInformationsquellenzur Verfügungstehen.Die entscheidendeFrageunsererZeit ist, wie jemanddiefür sichrelevantenInformationenschnellundeffizientheraussuchenundbearbeitenkann.

EndverbrauchersuchenheutenachAnbietern,die zeitnahe,hilfreicheInformationenaufbe-reitenund auf einekomfortable,verständlicheArt undWeisebereitstellenkönnen.Es ge-nießenjeneAnbietereinenbesonderenVorteil, die sichum die Strukturierung,die QualitätundAktualität ihrer Inhaltekümmern.

Der Grundgedanke von ContentManagement(CM) ist die systematische,strukturierteAuf-bereitung,BearbeitungundVeröffentlichungderverschiedenstendigitalenInhalte.ContentManagementSystemeermöglichen,daßdie richtigenInhaltezur richtigenZeit amrichtigenOrt ankommenundführendadurchzueinemsignifikantenProduktivitätsschubin Unterneh-men.

In dieserArbeit werdenzunächstContentManagementSystemeallgemeinbeschriebenundklassifiziert.Dannwird ein VergleichderheuteexistierendenCM-Werkzeugevorgenommen,wobeiderSchwerpunktaufdie UntersuchungpreiswerterLösungsmöglichkeitengelegt wird.Anschließendwird ein CMS in einerpreiswertenUmgebung konzipiertund anhandeinesPrototypenrealisiert.

6

Page 8: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 2

Content ManagementSysteme

In diesemKapitelwerdendie wichtigstenEigenschaftenundKennzeichenvonContentMa-nagementSystemen(CMS) diskutiert.Eswird auf ihreallgemeineStruktur, ArchitekturundFunktionalitätdurcheinevergleichendeAnalyseeingegangen.ZunächstwerdendiewichtigstenBegriffe definiert,danndiewesentlichstenFunktionenvonCMS-Werkzeugenzusammengefaßt. SchließlichwerdenKriterien zu ihrer Bewertungauf-gestellt.

2.1 Definitionen

ContentManagementist eineneueDisziplin in derInformatik,diesichmit derautomatisier-tenVerwaltungvondigitalenInformationenbeschäftigt.Vor dergenauenUntersuchungvonContentManagementSystemenist esnötig,diewichtigstenBegriffe zudefinieren.

Definition 2.1.1 Content ist InformationgespeichertaufeinemDatenträger.

Definition 2.1.2 ContentManagementumfaßtalle geschäftlichenundtechnischenProzes-sederAufbereitung(Capturing),derAbfrage(Retrieval),derVerwaltung(Maintenance)undder Veröffentlichung(Publication)vonContent.

Die beidenDefinitionensind etwaszu allgemein,um mit ihnenweiterarbeitenzu können.Außerdemist eswichtig zu betonen,daßContentManagementheutein ersterLinie in derWelt desWorld Wide WebAnwendungfindet. Wennmanheuteüberein CMSredet,meintmandamitmeistensein WebContentManagementSystem(WCMS).In dieserArbeit wird dieDiskussionvonWebContentManagementSystemen in denMittel-punktgestellt,desweiterenwerdenauchallgemeineCM-Funktionenerwähnt.Die folgen-denDefinitionenversuchendieGrundbegriffe derin dieserArbeit diskutiertenTechnologienetwasgenauerzuerfassen:

Definition 2.1.3 Unter WebContent (WebInhalt) verstehtmanim WWW die Gesamtheitder Inhaltein einemWeb-Auftritt. Inhaltesind:

7

Page 9: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Definitionen

� die Web-Seitenselbst,sowie ihre funktionellenElemente: Texte, Grafiken, Videos,Sound,etc.

� die im Hintergrundder Web-SeitenlaufendenProgramme, Skripte, Datenbankproze-durenundalle logischenInformationen,diediedynamischeFunktionsweisevonWeb-Auftrittenermöglichen,

� die hinterdenWeb-SeitenstehendenDatenbanken,

� Informationsunterlagen (Dateien), auf die über eine Web-Seitezugegriffen werdenkann.

Definition 2.1.4 Unter Assets verstehtmandie obengenanntenInhaltskomponenten,wieTexte, Grafiken,Images,Sounds,Animationen,Videos,Skripte, etc.

Definition 2.1.5 WebContentManagementist die systematischeVerwaltungundAdmini-strationder genanntenWeb-Inhalten.Die wesentlichenAufgabenvonContentManagementsind:

� Planung(Design)

� ErstellenundEditieren(Authoring)

� Gestaltung(Conversion)

� Speicherung(Storage)

� Publikation(Publishing)

� Installationundder Transport(DeploymentandStaging)

� VerwaltungundAktualisierung(MaintenanceandUpdate)

� Archivierung(Archival)

� Testenunddie Analyse(ReportingandAnalysis)

dieserInhalte.

Definition 2.1.6 Ein ContentManagementSystemist einekomplexeSoftwareplattformfürdie UnterstützungdieserAufgaben.Mit der Hilfe vonContentManagementSystemenlas-sensichWeb-Auftritte währendihrergesamtenLebensdauerzentral verwalten.Ein wichtigesKennzeichenvonCM-Systemenist die VerwaltungvonWeb-Inhaltendurch mehrere Perso-nensowohlausdemEntwickler- alsauch ausdemRedaktions-undVerwaltungsbereich.

Definition 2.1.7 Der Begriff Content-Life-Cyclebeschreibt denLebenszyklusvonInhaltenauf einerWeb-Seite. Der theoretischeAnsatzteilt die Informationsverarbeitungin folgendeAbschnitte- sieheauch Abbildung2.1auf Seite10.

Copyright BME, TU Dresden,FialaZoltán 8

Page 10: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

Analyseund Planung: In dieserPhasewerdendie InhalteunddasAusseheneinesAuftrit-tes geplant. Es werden die Anforderungen der Kundenbzw. die zur Verfügungste-hendenTechniken analysiertund die logische, die inhaltliche und die gestalterischeStrukturder Präsentationentworfen.

Erstellung: In dieserPhaseerstellendie Autoren,DesignerundGrafiker alle digitalenAs-sets,die die Inhalte der Web-Sitedarstellen. DieseDokumentesind Texte, Grafiken,Images,Animationen,Skripte, etc.

Kontrolle und Freigabe: In der nächstenPhasewerdendie erstelltenAssetsauf semanti-sche, syntaktischeundgestalterischeKorrektheitüberprüft.Ist dasErgebnisderÜber-prüfungzufriedenstellend,sokönnensieweitergereicht werden,ansonstenkommensiewiederin die Erstellungsphasezurück.

Publikation: Die freigegebenen,genehmigtenInhalte werden im Inter-, Intra- oder oderExtranetveröffentlicht. Hier kommtesauch zur FragevonCaching - siehe2.2.8.

Aktualisierung: Die InhalteundDiensteeinesAuftrittesmüssenständigaktualisiertwer-den.Dieskannoft automatisch erfolgen,in einigenFällen ist jedoch eine„manuelle”Überarbeitungder Inhalte nötig. Soerfolgt eine„Rückkoppelung” zur Kontrollpha-se. Die aktualisiertenInhaltesollendannnatürlich wiederüberprüftundfreigegebenwerden.

Bei der Aktualisierungder Assetsist es meistenserforderlich, die alten AssetsalsVersionzuspeichern– sieheArchivierung.

Ar chivierung: Die alten Inhaltesollenarchiviert undversioniertwerden,umInhaltewie-derverwendenund Backupserstellenzu können. Es soll ferner die effizienteSucheunterdengespeichertenInhaltenermöglicht werden.

2.2 Kennzeichenund Komponentenvon WCM-Systemen

Im Abschnitt2.1wurdederBegriff ContentManagementdefiniert,desweiterenwurdensei-newichtigstenAufgabendargestellt.DieserAbschnittwird derausführlichenBesprechungderwesentlichstenKennzeichenundKomponentenvon ContentManagementSystemenge-widmet.

2.2.1 Trennungvon Inhalt und Layout

Die „Sprache”desWorld Wide Web ist HTML, d.h. die veröffentlichtenInhalteerscheinenim InternetalsHTML-Seiten.Die klassischeMethodederPublikationvon Web-ContentistdasErstellenvonstatischenHTML-Seiten.Mit denheutezurVerfügungstehendenEditorenist dieseAufgabeziemlicheinfach.

Copyright BME, TU Dresden,FialaZoltán 9

Page 11: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

Freigabe

Archivierung

Bei negativer Kontrolle

Erstellung

Kontrolle

Publikation

Planung

Bei positiver Kontrolle

Aktualisierung

Abbildung2.1: Content-Life-Cycle

Der Zuwachsder zu veröffentlichendenInformationenund der Bedarf,die Web-Auftritteaktuellundkonsistentzu halten,zeigenjedochdie NachteilediesesVerfahrens.Die Hand-habung der Informationsmengenauf großenSites ist nachder klassischenMethodeüberstatischeHTML-Seitennichtmehreffizientmöglich.Betrachtenwir die Situation,daßdie InhalteeinerSite verändertwerden. In diesemFallsollendiestatischenHTML-Seiteneinzelnüberarbeitetundaktualisiertwerden.(Die Verän-derungdesAussehensderSeitehatnatürlichdie gleichenFolgen,d.h. esist einesehrengeZusammenarbeitvon RedakteurenundLayout-Designernnötig.) Nochkomplizierterist es,wenndieverändertenInformationenaufmehrereSeiteneineAuswirkunghaben,dannsollendiesealle einzelnaktualisiertwerden.Soist eseineziemlicharbeits-undkostenaufwendigeAufgabe,Web-Auftrittekonsistentzuhalten.Bei großenWeb-Auftritten,die ihr Layoutundihre Inhaltetäglich odernochöfter verändern,fallen nicht selten90 % der Kostenfür diePflegederWeb-Seitenan.

Grundprinzipvon ContentManagementSystemenist die Trennungvon Layoutund Inhalt,wodurcherreichtwird, daßdie Redakteuresich nicht mehr um die Darstellungoder dieEinbindungihrer Beiträgein dasGesamtangebotkümmernmüssen.Dies erfolgt mit demEinsatzvon Templates.Ein Templateist im GrundegenommeneinedynamischeLayout-Vorlage für eineWeb-Seite,sieenthältInformationenüberihr Aussehenunddie Quelleihrer Inhalte. Die eigentlichenInhalte befindensich meistensin einer Datenbankoder im DateisystemdesCMS. BeimAbruf derSeitewird derdemWeb-BrowserzurückgeschickteHTML-Codeauf derServer-SeiteanhanddesTemplateundderaktuellenInhaltein derDatenbankerzeugt.Die AktualisierungderInhaltederSeitebedeutetin diesemFall nurdieVeränderungderent-

Copyright BME, TU Dresden,FialaZoltán 10

Page 12: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

sprechendenEinträgein derDatenbank.DiesesVerfahrenist vor allemdannsehreffizient,wenndieneuenInhaltein mehrerenDokumentenerscheinensollen.Die Abbildung2.2 zeigtdasPrinzipderTrennungvonContentundDesign. Der systemin-terneTemplateProcessorerstelltdieSeitendynamischanhandderLayout-VorgabenundderDatenbankinhalte.

Layout−Vorlage

(Template)

Template Processor

generierte

Webseite

Datenbank

(Content)

Abbildung2.2: Trennungvon Inhalt undLayoutmit Templates

DasTemplateenthältCode,derandenTemplateProcessorübergebenunddynamischverar-beitetwird. DieserinterpretiertdenCode,holt die entsprechendenEinträgeausderDaten-bankundbautdie zuveröffentlichendeWeb-Seitezusammen.

2.2.2 Assetmanagement

Unter Assetmanagementverstehtmandie systematischeSpeicherung,Strukturierung,Ver-folgungundKontrollederin einemCMSverwaltetenInhalte.Assetmanagementbeschäftigtsichu.a.mit derDarstellung,derAdressierungundderArchivierungderAssets.

Darstellung der Inf ormationsstruktur - logischeund physikalischeAdr essierung

BeimAbruf einerWeb-SeitegreifenWeb-ServerstandardmäßigaufdasDateisystemzuundsuchendort nachdenInhalten,seieneseinfachestatischeHTML-Seiten,dynamischeCGI-SkripteodermultimedialeElemente.Alle Ressourcenhabenim Dateisystemeinenphysika-lischenNamen, dersieeindeutigidentifiziert. JenachKonfigurationdesServerskönnensiesichin beliebigenVerzeichnissendesDateisystemsbefinden.Die Trennungvon Inhalt und Layout - siehe2.2 - erfordertin denmeistenFällendie Ver-wendungvonDatenbanken,diealle Inhaltesystematischundstrukturiertspeichernundver-waltenkönnen.Datenbanken könnendie verschiedenstenArten von Inhaltenenthalten,esist nicht seltenderFall, daßauchganzeHTML-SeitenoderCGI-Skriptesamtihrer früheren

Copyright BME, TU Dresden,FialaZoltán 11

Page 13: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

Versionenin derDatenbankabgelegt werden.Die DatenbankadressiertdieeinzelnenAssetsphysikalischnichtmehrmit Pfadnamen,sondernmit numerischenIdentifikatoren- IDs.

Um eineWeb-Seiteeffektiv verwaltenzu können,ist esnötig, ihre Inhalteauchsemantischzustrukturieren.Die InhaltesolleneineleichtüberschaubareStrukturbekommen,siesollendurchlogischeNamenreferenziertunduntereinanderverknüpftwerdenkönnen.Solchebe-vorzugtenStrukturensindz.B.Baumgrafen, diediehierarchischeAdressierungvonContentermöglichen.

EinewichtigeEigenschaftvonContentManagementSystemenist dieTrennungderphysika-lischenundderlogischenAdressierungderInhalte. Die NutzerdesSystemskönnendadurchin logischen,übersichtlichenStrukturendenken,mit derphysikalischenSpeicherungderIn-halte sollen sie sich nicht beschäftigen.Um z.B. Assetsin denDatenbanken adressierenzu können,verwendetman statt numerischerIdentifikatoreneinfacheNamen. Es ist dieAufgabedesCMS, dieselogischenNamenauf die physikalischenAdressenabzubilden.Sokannesz.B. sein,daßInhalte,die sich logischals KnoteneineshierarchischenBaumgra-fen referenzierenlassen,in Wirklichkeit in einereinfachenStruktur, z.B. in einer„flachen”Datenbanktabellegespeichertsind.DasCMSimplementiertalsoein Modul zurÜbersetzungderlogischenNamenin die physi-kalischenAdressen.Die Abbildung2.3zeigtdieFunktionsweisediesesModuls.

DB TABELLE

Physikalische Adressen

Logische Struktur und Referenzen

Abbildung inphysikalische

Adressen

Abbildung2.3: TrennungderlogischenundderphysikalischenAdressierung

Die logischeAdressierungwird in der Praxisso erreicht,daßdie eigentlichenInhaltemitsog.Meta-Informationenversehenwerden,dieüberihreEigenschaftenunddieBeziehungenzwischenihnenAuskunftgeben.

Definition 2.2.1 Ein Meta-Datumist zusätzlichelogischeInformationzurBeschreibungvonContent. Meta-Databestehtim allgemeinenausSchlüssel/Werte-Paaren, wobeidie Wertemeistenstextuelle Informationensind. In einigen Fällen könnenjedoch auch Bilder oderAudio-DatenMeta-DataWertesein.

Copyright BME, TU Dresden,FialaZoltán 12

Page 14: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

Versionierung

Web-Seitenwerdenständigweiterentwickelt undaktualisiert,siewechselnihre InhalteundLayoutsschnell.Die Inhalteändernunderweiternsich,immerwiederwerdenalteInforma-tionengelöschtoderarchiviert bzw. neueInformationenhinzugefügt.In vielenSituationenist eserwünscht,die VeränderungeneinerWeb-Sitenachvollziehen,ihre „Vorgeschichte”rekonstruierenoderStatistikenüberihre Entwicklungerstellenzu können.DieseAufgabeerfüllt die sog.Versionierung.ModerneContentManagementSystemeermöglichendeshalb,die Inhalte einer Web-Sitebzw. ihreDarstellungzueinemgegebenenZeitpunktalsVersion„einzufrieren”.Die gespei-chertenVersionenkönnenzujederZeitwiederrekonstruiert,bearbeitetundwiederverwendetwerden.Diesist in vielenFälleneinesehrkomplexeAufgabe.EsmüssenalleKomponentengesichertwerden: Datenbankeinträge,Layout-Vorgaben,Skriptprogramme,alle statischenunddynamischenInformationen,die zur GestaltungderSitezumgegebenenZeitpunktbei-getragenhaben.

2.2.3 Im- und Exportschnittstellen für Content

Die InhalteeinesCMSkönnenausverschiedenenQuellenstammenunddieverschiedenstenFormatehaben. Wie schonim Abschnitt 2.2 erwähnt,müssensie in ein „webgerechtes”Format(HTML) gebrachtwerden,damitsie im Internetpubliziertwerden.Andererseitsistes aucheine wichtige Anforderungan dasSystem,daßdie Autoren und die Redakteuresichnichtumdie technischeUmsetzungderVeröffentlichungderInhaltekümmernmüssen,sondernherkömmlicheAutorenprogrammeverwendenkönnen. DasContentManagementSystemsoll Ex- bzw. Importschnittstellenimplementieren,mit derenHilfe unterschiedliche„gängige” Dokumentenformatein dasSystemimportiert bzw. ausihm exportiert werdenkönnen.Die ImportschnittstellemußfolgendeAufgabenerfüllenkönnen:

� Sie soll verschiedenedigitaleDokumentenformateimportierenundumwandelnkön-nen.Die gängigsten,zuunterstützendenFormatesind:

– Text-, HTML- undRich-Text-Dateien(MSFrontpage, MSOffice, etc.)

– MicrosoftWord undExcelDateien(MSOffice)

– AdobesPortableDocumentFormat(AdobeAcrobat)

� InformationenausDatenbankensolleneinfacheingebundenwerdenkönnen.

� Der ImportbereitsbestehenderWeb-Seitenin dasSystemsoll ermöglichtwerden.

Der Import von veschiedenenFormatenins CMS erfolgt mit sogenanntenFiltern - sieheAbbildung 2.4 auf Seite14. Die DokumenteauseinerexternenAnwendungwerdenvoneinemFilter in ein Format gebracht,das im CMS eingebunden,indexiert und publiziertwerdenkann.

Copyright BME, TU Dresden,FialaZoltán 13

Page 15: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

Externe

AnwendungFilter CMSexternes

Format Format

web−gerechtes

Abbildung2.4: Importfilter

2.2.4 Personalisierung

Die im Inter- oderIntranetveröffentlichtenWeb-SeitenwerdenvonvielenNutzernbesucht.Häufigist eswichtig, bestimmteInhaltenur für bestimmteBesucherzugänglichzu machenundvor anderenzu „verstecken”, dasAussehenderSiteandie EigenschaftendesaktuellenNutzersanzupassen,sog.Nutzerprofilezuerstellen.EineandereAufgabederPersonalisierungist dieAnpassungdergeliefertenInhalteandiezurVerfügungstehendeBandbreitebzw. dieEndgerätederNutzer. DiesekönnenzurKommuni-kationdie verschiedenstenTechnologienverwenden:mobileTelefone,analogeTelefonver-bindungen,ISDN-Anschlüsse,settop boxes, ATM-Netzwerke etc. Esist die VerantwortungdesInhalt-Anbieters,die InhalteandieverschiedenenSchnittstellenanzupassen.Auf diesesThemawird im Abschnitt2.3.3eingegangen.

Die PersonalisierungeinerWeb-Siteerfordertdie dynamischeGenerierungderSeitenbeimAbruf durcheinenNutzer. Der Nutzerwird identifiziert, dasCMSbestimmtseineRechteundalle mit ihm verbundenenInformationen,anhandderendie Seitenerstelltwerden.DasNutzerverhaltenwird währendderSitzung- Session- beobachtetundverwaltet.

Personalisierungim WWW durch Sessionverwaltung

Um die Tätigkeitender Nutzerin CM-Systemenoderi.a. auf Web-Sitesverfolgenzu kön-nen,sind sog. Sessionszu definieren.Unter einerSessionverstehtmandie SitzungeinesNutzersin einemWeb-Auftritt, seineganzeNavigationdurchdieWeb-Seitenundderveröf-fentlichtenInformationen.WährendderSessionwird derNutzervom Systemidentifiziert,eswerdenInformationenüberseineVorgeschichte,seinNutzungsverhaltenund seineZu-gangsrechteim Systemgespeichert.Dies machtunmittelbarzentraleNachteiledesHTTPdeutlich.HTTPwurdealsein verbindungslosesProtokoll definiert: derBrowserwendetsichmit ei-nem Abruf (HTTP GET) an den Server, der mit der gewünschtenInformation antwortet.WenneineWeb-SeiteausmehrerenElementen- Bilder, Sounds,etc.- besteht,wird für siejeweils eineneue,separateVerbindungaufgebaut.Möchteder Nutzermit einemLink aufeineandereSeite„weitersurfen”,wird wiederein neuerRequestgestartet,dervon demvor-herigenvöllig unabhängigist. Dies bedeutet,daßHTTP „keineSessionsverwaltet”, diesemüssenmit anderenMethodenverwirklicht werden.Hierzugibt esheutefolgendeMöglichkeiten:

� Bei densog.Client-Side Lösungenwerdendie zur Verfolgungvon Sessionserfor-derlichenInformationenalsSessionvariablenauf derClient-Seitegespeichert.DieseVerfahrenbietendenVorteil, daßdie BelastungdesServersgeringerist, ausderSicht

Copyright BME, TU Dresden,FialaZoltán 14

Page 16: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

derZuverlässigkeit sindsieaberwenigerzufriedenstellend.FolgendeMethodensindbekannt:

– Eine ganzeinfacheMethodeist die Speicherungvon Sessionvariablen in ver-stecktenFeldern in HTML-Formularen. VersteckteFeldersind für denNutzerunsichtbar, siesindnur in demHTML-Quellcodezu sehen.Ein NachteildiesesMechanismusist, daßer die Verwendungvon HTML-Formularenvoraussetzt.FolgenderCodezeigteinBeispielfür versteckteFelder.

<FORM>

...

<INPUT TYPE="HIDDEN"

NAME="who_am_i"

VALUE="Zoltan_Fiala">

...

</FORM>

– EineweitereMethodefür dieWeiterreichungvonSessionvariablenist, daßsieindie URI eingebautwerden.DiesesVerfahrenist bei derAnwendungderHTTP-GET Methodeeinsetzbar. Hier siehtdie ÜbertragungeinerSessionvariablenfol-gendermaßenaus:

<A HREF="nextpage.html?who_am_i=Zoltan_Fiala">

DergroßeNachteilvondieserMethodeist, daßdiezuübertragendenSessionda-tennicht verschlüsseltsind. DieseGefahrkanndurchentsprechendeKodierungverringertwerden,in demdie Datenauf derSeitedesSenderskodiertundbeimEmpfängerdekodiertwerden.(VerschiedenefundierteKodierungsmechanismenbietenz.B.die mcrypt-Funktionenvon PHP4.)

– Eine verbreiteteMehodeist die Verwendungvon Cookies. Es handeltsich umInformationenin textuellenSchlüssel/Werte-Paaren,die die Web-Anwendungenauf denKlienten ablegen,um für spätereBesucheInformationenzu speichern.Viele Web-Programmierumgebungen- z.B. PHP - bietenFunktionenzur Be-handlungvon Cookies.

� Bei denServer-SideLösungenwerdendie Sessionvariablenauf derServer-Seiteab-gelegt. DieseMethodensindsichererundaucheleganter, habeljedocheineentspre-chendeBelastungdesServerszurFolge.Möglichkeitensind:

– Die Session-Variablenkönnenauf derServerseiteim Dateisystemabgelegt wer-den.DieskannbeihohenNutzerzahlenzueinersubstantiellerBelastungdesSer-versführen.GleichzeitigeSchreib-Zugriffe aufdieselbeDateisolltenvermiedenwerden.

– Die elegantesteundauchkompliziertesteMethodeist die Speicherungvon Ses-sionvariablenin einerDatenbank.DiesesVerfahrenfordert hoheProgrammie-rungskenntnisseunddenEinsatzleistungsfähigerServer.

Copyright BME, TU Dresden,FialaZoltán 15

Page 17: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

– DaderBedarfanpersonalisiertenWeb-Auftrittenimmergrößerwird, bietenver-schiedeneFirmenundOrganisationenServer-Programmierschnittstellen,die dieEinrichtungunddie Verwaltungvon Sessionvariablensehrvereinfachen.SolcheMöglichkeitenbietetz.B. die Firma Microsoft mit der SchnittstelleISAPI (In-ternetServer Application ProgrammingInterface). Eine kostenloseAlternativedazuist dieSkriptsprachePHP („PHPHypertext Preprocessor”),die abderVer-sion

�die VerwaltungvonSession-Variablenund-funktionenunterstützt.(Siehe

[Kra00].)

2.2.5 Workflow und Rollenverteilung

Die ErstellungundVerwaltungvonWeb-Seitensetztdie ZusammenarbeitvonPersonenausverschiedenenBereichenvoraus: an einemWeb-Auftritt sind Programmierer, Techniker ,Grafiker, Designer, RedakteureundProjektleitertätig. Redakteuresindfür die textuellenIn-halte,Grafiker undDesignerfür dasLayoutunddie eingebettetenmultimedialenElemente,Techniker undProgrammiererfür die Export-,Import- undProgrammierschnittstellen,Pro-jektleiter für die Überwachungund die Planungder Tätigkeitenzuständig.Die Veröffent-lichung neuerInhalteoderOnline-DienstemachteineVielzahl koordinierterInteraktionenunterdiesenPersonenund eineklare Definition von einemRollenkonzeptnotwendig,dasdie ArbeitsabläufedesTeamswiederspiegelt.DasWorkflowmanagementin einemContentManagementSystemist für die Koordinationund die Synchronisationder Tätigkeiten der Arbeitsgruppenverantwortlich. Es muß imwesentlichendie folgendenAufgabenerfüllen:

� DefinitionundVerwaltungvonArbeitsrollen

� SynchronisationderArbeitsabläufe

� ImplementationvonBenachrichtigungs-undFreigabemechanismen

WorkflowsundRollenbehandeltAbschnitt2.3.1.

2.2.6 Multiple Access- Verwaltung mehrfacher Zugriffe

Ein CMSvereintein Teamin dergemeinsamenArbeit aneinerWeb-Site.Die MöglichkeitgleichzeitigerZugriffe aufein unddenselbenContentkannsonichtausgeschlossenwerden.GleichzeitigeLese-ZugriffeaufInhalteführenzukeinenProblemen,Schreib-Zugriffe dürfenabernicht überlappenderfolgen,um die Konsistenzder Datenzu behalten.Eine wichtigeFunktioneinesCMSist alsodie UnterstützungvongeschütztemEditieren.GeschütztesEditieren bedeutetdie Sperrungder zu bearbeitendenAssets.Wennein Mit-arbeiterein Assetauswählt,wird es ihm sozusagenausgeliehenund für anderegesperrt.DiesenSchritt nenntmanCheck-Out. Solangeder MitarbeiteramAssetarbeitet,kannesvon anderennicht editiert werden. NachBeendigungder Arbeit gibt er dasAssetzurück,diesnenntmanCheck-In.

Copyright BME, TU Dresden,FialaZoltán 16

Page 18: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KennzeichenundKomponentenvon WCM-Systemen

2.2.7 Staging

Die EntwicklungvongroßenWeb-Auftrittenist einekoordinierteZusammenarbeitvonEnt-wicklern und Designern. Die Web-Seitenmüssenständiggeändertbzw. weiterentwickeltwerden,umdenContentaktuellhaltenzukönnen.Die Verwaltungderbereitsveröffentlich-tenInhalteunddieEntwicklungderneuenDienstewerdenparallelausgeführt.Der Grundgedanke von Staging ist die Trennungder veröffentlichtenund der in Entwick-lung befindlichenInhalte und Dienste. Die neuentwickeltenSeiten,Programme,etc. sindzunächstnur für die Entwicklersichtbar, erstnacheinerentsprechendenGenehmigungdür-fen sieauch„li ve“ im Interneterscheinen.So kannesvermiedenwerden,daßhalbfertige,nochnichtgetesteteProgrammeStörungenim „li ve-Bereich”verursachen.

Stagingwird in derPraxisdurchdieReplikationvonInhaltenunddievollständigeTrennungderEntwicklungs-bzw. Live-Bereicherealisiert.In einemWCMSbedeutetdiesdenEinsatzmehrerer- meistenszweier- Web-Server, diealleauf ihreeigenen,separiertenDatenbestän-dezugreifen.Der Entwicklungs-Server, dersichmeistensim IntranetderEntwicklerbefindet,verwaltetdie in BearbeitungbefindlichenInhalte. Jegliche VeränderungenoderNeuentwicklungen,diedieEntwicklerderWeb-Sitevornehmen,sindzunächstnuraufdemEntwicklungs-Serverzusehen.Der Live Web-Serverist dagegenextern,d.h. für dasganzeInterneterreichbar. Er verwaltetnurgetestete,genehmigteWeb-SeitenundInhalte,dietheoretischkeineFehlerenthaltenunddurchentsprechendeSicherheitsmechanismengeschütztsind.Die VeröffentlichungneuerInhalteundDienstekannerstdannerfolgen,wennsiegenehmigtwurden. Die fertigen Inhalte werdenvom Entwicklungs-Serverauf den Live Web-Serverkopiertundfür alle Internet-Nutzerfreigegeben.

2.2.8 Caching

Die Trennungvon InhaltundLayout- siehe2.2.1- erfordertdieVerwendungdynamischer-stellterWeb-Seiten.Dasbedeutet,daßdiezumBrowsergesendetenWWW-Seitenbei jedemAbruf (Request) neugeneriertwerdenmüssen.Der Web-Server ruft denTemplateProces-sor jedesMal auf, der die geradegewünschteSeiteanhandder Layout-Vorgabenund deraktuellenInhaltezurLaufzeitzusammenstellt.Ein bedeutenderNachteildiesesMechanismusist, daßdieGenerierungderSeitenje nachih-rerKomplexität unterschiedlichzeitaufwendigseinkann.Die für diedynamischeErstellungeinerSeitebenötigteZeit erhöhtnatürlichdie AntwortzeitdesWeb-Servers. Bei Web-Sitesmit einerVielzahlvon Besuchernkanneszu einerÜberbelastungdesServersunddadurchzusehrhohendurchschnittlichenAntwortzeitenkommen.Caching in einemCMSbedeutetdievorübergehendestatischeSpeicherungbestimmterWeb-SeitenaufdemWeb-Server. DieseSeitenwerdennachihrerErstellungalsstatischeSeitenimCacheabgelegt. Bei demAbruf einer„gecachten”SeitesendetderServer die schonfertigeSeiteandenBrowserzurück,ohnedenTemplateProcessorwiederaufrufenzumüssen.Da durchCaching die DynamikderWeb-Seitenwesentlicheingeschränktwird, ist die Ver-öffentlichungvon „gecachten”Seitennatürlichnur begrenztmöglich. Sobalddie Inhalte,

Copyright BME, TU Dresden,FialaZoltán 17

Page 19: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

die hintereiner„gecachten”Seitestehen,verändertwerden,mußdie Seiteaktualisiertundwiederzusammengestelltwerden. Es gibt jedocheinigetypischeSituationen,wo die Ver-wendungvon „gecachten”Seitendurchaussinnvoll ist:

� Seiten,die ausschließlich statischeInformationenenthaltenunddadurchnicht zeitva-riant sind,sollenauf jedenFall „gecacht”werden.

� VieleSeitenveröffentlichenInformationen,dienur in bestimmtenZeitabständen- ein-malpro Tag,einmalpro Stunde,etc.- verändertwerden.Esist empfehlenswert,diesefür dieseZeitperiodenzu „cachen”und nur in dengegebenenZeitabständenzu ak-tualisieren.So kanndie BelastungdesWeb-Serversreduziertwerden,ohnedaßdieAktualitätderveröffentlichtenInhaltefraglichwird.

� Es ist auchmöglich, nur bestimmteAssetsauf einerWeb-Seitezu „cachen”,anderedagegenimmerneuzugenerieren.In diesemFall wird diegesamteSeitein sog.Frag-menteaufgeteilt,die alle unterschiedlichbehandeltwerden.Bei demAbruf derSeitewerdenihre „gecachten”FragmenteausdemstatischenSpeichergeholt,die anderenwerdendagegenwiederdynamischzusammengestellt.DiesesVerfahrensetztnatür-lich die Definition von Fragmentenbzw. ihre entsprechendelogischeBeschreibungmittelsMeta-Datenvoraus.

2.2.9 Zusammenfassung

In diesemAbschnittwurdendie wichtigstenMerkmaleeinesWCMSzusammengefaßt. EswurdeaufwesentlicheCM-Funktionenkurzeingegangen,umeinenEinblick in dieallgemei-ne Problematikvon ContentManagementzu gewähren. In denfolgendenwerdenaktuelleForschungsaktivitäten,Standardsund Trendsauf demGebietContentManagementdarge-legt.

2.3 Forschungen,Standards, Trends im Content Manage-ment

ContentManagementist einederneuestenDisziplinenin der Informatik. Dasbedeutetei-nerseits,daßessichsehrrasantentwickelt, andererseitsfehlt esnochanStandardsundall-gemeinentheoretischenAnsätzen,die in der Welt der CM-Systemeals Wegweiserdienenkönnten.ContentManagementist außerdemsehrengverbundenmit anderenTeilgebietender Infor-matik und der Mathematik,seienesdie Kryptographie,die Netzwerk-bzw. Informations-theorieoder die Multimediatechnik. CM stützt sich auf die ForschungsergebnissedieserWissenschaften,desweiterenstellt esauchneueFragenandie ForscherdieserFachgebiete.In diesemAbschnitt wird versucht,anhandausgewählter Beispielein die aktuellenFor-schungsrichtungenEinblick zugewähren.Zunächstwird ausführlicheraufdasWorkflowma-nagementunddieUnterstützungvonTeamarbeiteingegangen.AnschließendwerdeneinigeandereinteressanteErgebnissekurzerwähnt.

Copyright BME, TU Dresden,FialaZoltán 18

Page 20: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

2.3.1 Workflow-Managementin CM-Systemen

Die Workflow-KomponenteeinesCMS ist für die Koordinationund die Synchronisationder Tätigkeitender einzelnenArbeitsgruppenzuständig. In diesemAbschnittwerdendieWorkflowmechanismenin CM-Systemendiskutiert.

Workflowmanagement- Definitionen

Definition 2.3.1 Ein Workflow stellt einentechnisch umfassendunterstütztenArbeitsab-lauf dar, der ausgehendvoneinemauslösendenEreignisentlangeinerdefiniertenKettevonTeilschrittenbiszueinemdefiniertenArbeistergebnisführt, wobeiderGradderVervollstän-digungdesArbeitsergebnissesmit jedemeinzelnenArbeitsschritt zunimmt.[Gie98]

Definition 2.3.2 Workflow-Managementist für die Definition,VerwaltungundAusführungvonWorkflowszuständig.[Hol95]

Definition 2.3.3 Unter Content-Workflow verstehtmandie Automatisierungder Vorgängeder Aufbereitung, Erstellung, PublikationundVerwaltungder Inhaltein einemCMS.

Aufgabenvon Workflowmanagement

1. Definition und Managementvon Rollen:

DasCMSordnetdenMitarbeiternverschiedeneRollenzu,d.h.siehabenunterschied-liche Aufgabenund Verantwortungen. Die Mitarbeiterhabennur zu denfür sie re-levantenAssetsundWerkzeugenZugang,siesehenverschiedeneViewsder Inhalte-sieheAbbildung2.5.DasSystemüberprüftdieZugangsrechtederangemeldetenNut-zer und läßt diesenur auf die für sie erreichbarenInhaltsbestandteilezugreifen. Sohat z.B. ein Nachrichten-Redakteurnicht die Möglichkeit, dasLayout einerSeitezuverändernoderdie im HintergrundderWeb-SitelaufendendynamischenProgrammezueditieren.

CMSInhalte,

Assets

Arbeitsgruppe 1

Arbeitsgruppe n

View 1

View n

. . .

.

. .

Abbildung2.5: VerschiedeneViewsderAssets

Copyright BME, TU Dresden,FialaZoltán 19

Page 21: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

2. Synchronisation der Arbeitsabläufe:

Dadie veröffentlichtenInhaltepraktischvonallenMitgliederndeArbeitsgruppenbe-arbeitetwerdenmüssen,ist einefestgelegteSynchronisationihrer Arbeit notwendig.Die einzelnenArbeitsbereichesind voneinanderstark abhängig,erst wennder eineseineArbeit ausgeführthat,kannderanderemit seinenTätigkeitenanfangen.

Ein CMSermöglichtdie Definition von Arbeitsabläufen,von sogenanntenWorkflows.EsdefinierteineAnzahlvonRollenmit denentsprechendenZugangsrechtenundVer-antwortungen. Die Mitarbeiter der einzelnenArbeitsbereicheerhaltendie zu bear-beitendenUnterlagenund die Instruktionenvom System. Erst wennsie ihre Arbeitausgeführthaben,werdendieMitgliederderweiterenGruppenvomCMSautomatischbenachrichtigtundmit denentsprechenden,zubearbeitendenInhaltenversehen.

3. Benachrichtigungsmechanismen:Die Synchronisationder Arbeitsschrittebenötigtdie ImplementationeinesBenachrichtigungssystems,die die Kommuniaktionzwi-schendenMitarbeiterndereinzelnenRollenermöglicht.

DasCMSstellt eineAnzahl vordefinierterNachrichtenzur Verfügung,die die Mit-arbeiterversendenkönnen,um einanderüber den jeweiligen Standihrer Arbeit zubenachrichtigen,um Rückkoppelungzu bitten,etc. Außerdembestehtmeistensauchdie Möglichkeit, selbstdefinierteNachrichtenuntereinanderzuversenden.

DieseNachrichtenkönnenmit verschiedenenMethodenverwirklicht werden.EinigeSystemeverwendensysteminterneMeldungen,anderedagegenbasierenauf externenLösungen,z.B. auf demMail-System.EineandereKlassifizierungist die Unterschei-dungzwischensynchronen(z.B. Pop-Up-Fenster, Tonsignale)undasynchronenMel-dungen(z.B. E-Mail).

4. Freigabemechanismen:EinederwichtigstenAufgabenvom Workflowmanagementist die ImplementationvonverschiedenenFreigabemechanismen.

Ziel jedesCM-Systemsist dieVeröffentlichungvon formatiertenInhalten.Diesewer-dennachihrerErstellungüberprüft,undwennsiedenAnforderungenderProjektleiterentsprechen,könnensie freigeschaltetund publiziert werden. Die Freischaltungistmeistensdie Verantwortungvon ChefredakteurenundkannnachverschiedenenPrin-zipienerfolgen.MöglicheFreigabemechanismensind:

Freigabemechanismenin CM-Systemen

� DasVier-Augen-Prinzip ist eineeinfach implementierbareund deshalboft einge-setzteMethodefür die Genehmigungund Freischaltungvon Inhalten. Es geht umdie Kommunikationvon zwei Personen- vier Augen -, z.B. demRedakteurunddemChefredakteur.

FolgendeListeundAbbildung2.6aufSeite21veranschaulichendieTheoriedesVier-Augen-Prinzips.

1. DerRedaktuererstelltdiezupublizierendePräsentationundbittetumGenehmi-gungdesChefredakteursper„Knopfdruck”.

Copyright BME, TU Dresden,FialaZoltán 20

Page 22: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

2. DerChefredakteurüberprüftdie zupublizierendenInhalte

(a) Ist die Präsentationzufriedenstellend,sokannsie freigeschaltetund im In-ternetveröffentlichtwerden.Dieserfolgt wiederper„Knopfdruck”.

(b) Ist sie nicht zufriedenstellend,so wird sie demRedakteurzurückgeschicktundvon diesemrevidiert.

3. DerRedakteurbekommteineRückmeldungüberdieFreischaltungoderwird zurWiederbearbeitungderPräsentationaufgefordert.

Redakteur

RevisionNeue Inhalte

Vorlage

Chef-

redakteur

genehmigt

nicht genehmigt

Internet

Web-Server

Abbildung2.6: DasVier-Augen-Prinzip

� Erweiterungen vom Vier-Augen-Prinzip:

DasVier-Augen-Prinzipist in derPraxishäufigzu einfach. Bei derZusammenarbeitvieler Gruppenund Entwickler sind kompliziertereMechanismenerforderlich. AusdiesemGrundeexistiereneinigeErweiterungendiesesPrinzips.

DasX-Augen-Prinzip Hier wird diePräsentationnichtvoneinemChefredakteur, son-dernvon einerGruppevon Personengenehmigt. Im strengstenFalle kanneinInhalt erstdannveröffentlichtwerden,wennalle ihr Einverständnisgegebenha-ben. Eine andereMöglichkeit ist Voting, wobei die FreischaltungnacheinembestimmtenProzentsatzanpositivenBestätigungenerfolgenkann.

Verschachteltes4-Augen-Prinzip DieseErweiterungbedeutetdie mehrmalige,re-kursive AnwendungdesVier-Augen-Prinzips. Wie schonerwähnt,werdendiezuveröffentlichendenSeitenmeistensin verschiedenenArbeitsphasen- vonver-schiedenenArbeitsgruppen- erstellt. Es kannam EndejederErstellungsphase

Copyright BME, TU Dresden,FialaZoltán 21

Page 23: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

eine Genehmigungnachdem Vier-Augen-Prinziperfolgen. So kann ein „Ar -beitsergebnis”einegegebenePhaseerstdannverlassen,falls esin demStadiumfür funktionstüchtigerklärtwird.

Hybrides Verfahren Die beidenErweiterungenkönnennatürlich auch kombiniertangewandtwerden– verschachteltesX-Augen-Prinzip.

VerschiedeneWorkflow-Modelle in CM-Systemen

Die veschiedenenCM-Systemebietenje nachihrerKomplexitätunterschiedlicheWorkflow-modelle.Diesekönnengrundsätzlichin drei Gruppenaufgeteiltwerden.

� Die einfachstensinddie sog. manuellen Workflow-Modelle. Hier findetkein Auto-matismusstatt,die Definition von Rollen,sowie die SynchronisationderArbeitspro-zesseliegt vollständigin derVerantwortungderMitarbeiter.

� Viele CMS verfügenüber vordefinierte,statischeWorkflow Mechanismen. Hierwird für die Erstellungunddie Genehmigungvon InhaltenentwederdasVier-Augen-Prinzip odereineseinerWeiterentwicklungenimplementiert.DieseMethodeist zwareinwesentlicherFortschrittgegenüberdemmanuellenVerfahren,dieNutzerdesCMShabenjedochnicht die Möglichkeit eigeneProzessezu definieren,die an die indivi-duellenAufgabenangepaßtsind. Der Vorteil der statischenMethodenliegt in ihrerÜbersichtlichkeit, unddaßsiein vielenFällenwirklich ausreichendsind.

� ModerneCM-Systemebietendie Definition selbstdefinierter Workflows. Sieerlau-bendieModellierung,dieImplementierungunddieÜberwachungkomplexerArbeits-abläufe. In diesenFällen enthältdasCMS ein eingebautesWorkflow ManagementSystem(WMS).

PhasendesWorkflowmanagements

Die wichtigstenPhasenderImplementierungvonWorkflowssind:

1. Analyse, Modellierung und Definition: In dieserPhasewerdendie Arbeitsabläufeund -strukturenidentifiziert, die Teilnehmerder einzelnenArbeitsschrittefestgelegtunddieVorgängemodelliert.DieeinzelnenProzessewerdenmit einemsog.Workflow-Definiton-Tool definiert.

Workflow-Definition-ToolswerdenvondenverschiedenenSoftware-Herstellernunter-schiedlichimplementiert.Die WorkflowManagementCoalition [Hol95] hatdeswegenein Meta-Modellzur Definition von Prozessenin Workflowsvorgestellt,dasdie In-teroperabilitätder verschiedenenSystemeerleichternkann. Dassog.BasicProcessDefinitionMeta-Modelwird in derAbbildung2.7auf Seite23dargestellt.

Die DefinitionvoneinemWorkflow (Workflow TypeDefinition) bestehtauseinerbe-stimmtenAnzahlvonAktivitäten(Activity), dievondenTeilnehmernmit unterschied-lichenRollen(Role)ausgeführtwerden.Bei derAusführungvon Aktivitätenwerden

Copyright BME, TU Dresden,FialaZoltán 22

Page 24: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

WorkflowType Definition

ActivityRole Workflow Relevant Data

TransitionConditions

InvokedApplication

consists of

mayrefer to

has

uses

uses

mayhave

mayrefer to

Abbildung2.7: BasicProcessDefinitionMeta-Model[Hol95]

Anwendungen (Invoked Application)aufgerufen.Die ÜbergängezwischenAktivitä-tensindmit Übergangskriterien(TransitionCondition)verbunden,desweiterenwirdderganzeWorkflowvon relevantenWorkflow-Informationen(Workflow RelatedData)gesteuert(,siehe[Hol95]).

2. Implementierung: HierwerdendiedefiniertenVorgängemit deneingebautenWorkflow-Werkzeugenin die Praxisübersetzt.Für die Implementierunggibt eszwei wichtigeModelle,dasPush-bzw. dasPull-Modell.

Definition 2.3.4 Bei demPush-Modell werdendie zu bearbeitendenInhaltskompo-nentenimmervondemjeweiligenSenderan denEmpfänger weitergereicht. Der mo-mentaneBearbeiterleitet die Assetsan den nächstenBearbeiterin der definiertenReihenfolgeweiter.

a

b

Abbildung2.8: DasPush-Modell

Bei dieserLösungkanneszu Versionsproblemenkommen,wennbei parallellerBe-arbeitungdie Arbeitsschritteund InformationenunterschiedlicheWege durchlaufen.DasBeispiel in der Abbildung 2.8 zeigt, daßdie Inhaltevom Punkt � auf zwei ver-schiedenenRoutenzumPunkt � weitergeleitetwerden,d.h.die Assetssollenverdop-pelt werden.ZwischendenPunkten� und � ist esalsonicht möglich,denaktuellenStandderInhalteeindeutigzubestimmen.

Definition 2.3.5 BeimPull-Modell müssendiejeweiligenEmpfängerdieInhalteselbstauseinergemeinsamenDatenbankabrufen.Die Arbeitwird voneinemzentralenVer-waltungssystemsynchrongesteuert,dasdie betroffenenArbeitsgruppenimmerrecht-zeitiginformiert unddie zubearbeitendenAssetsfür diesezur Verfügungstellt (,sieheAbbildung2.9auf Seite24).

Copyright BME, TU Dresden,FialaZoltán 23

Page 25: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

Abbildung2.9: DasPull-Modell

Ein wesentlicherVorteil dieserMethodeist, daßdie Assetszentralverwaltetwerden.Die HandhabungeventuellerVersions-bzw. Konsistenzproblemeist damiteinfacher.

3. Monitoring : In dieserPhasewerdendie Workflows kontrolliert und auf geeigneteWeisevisuell dargestellt. Die gewonnenenInformationnwerdenin der Redesign-Phasebenutzt.

4. Die letztePhaseist dasRedesign. BestehendeWorkflow-Modelle werdenoptimali-siertbzw. ansichänderndeAbläufeangepaßt.

Werkzeugezur Realisierungvon WM-Funktionen in Content Management Systemen

Ein WMSmußverschiedeneWerkzeugebzw. Funktionenfür die Automatisierungder Ar-beitsabläufebereitstellen.Die heutein ContentManagementSystemenverwendetensind[BZTZ00]:

� Benachrichtigungen: DasCMSkannNachrichtengenerieren,wenneineÄnderungeintritt odereineAktion ausgelöstwurde. DieseNachrichtensind meistensE-MailsodersysteminterneAnzeigen,z.B. Texte in Pop-Up-Fenstern. Da E-Mail von allenSystemenunterstütztwird, ist die ImplementierungdiesesToolseinfach.

� Statusanzeigenund Filter werdengenutzt,um Zuständezu überprüfen.Diesekön-nenauchdannverwendetwerden,wennkeineAktionenausgelöstwurdenundberuhenauf denmit deneinzelnenObjektenverknüpftenMeta-Informationen.Mit Statusan-zeigen kann man z.B. feststellen,wann ein Inhalt dasletzte Mal bearbeitetwurde.Filter erweiterndie Statusanzeigenum intelligenteVerknüpfungen.Sieermöglichen,daßdieObjekteanhandderStatusinformationengefiltertwerdenkönnen.

� Aufgabenlisten:Mit demEinsatzsogenannterTo-Do-Listenist esmöglich,die benö-tigtenArbeitsschritteim vorhineinzuerfassen.Aufgabenlistensindpersonalisiertundzeigenfür jedenMitarbeiterdienächstenzuerfüllendenAufgabenan.

� Die Protokollierung derArbeitsschrittedientdazu,daßdie AktivitätendereinzelnenRollen nachvollgezogenwerdenkönnen. DasCMS „schreibt” die Nutzeraktivitätenin sog. Log-Dateien, die späterverarbeitetwerden,um z.B. Statistiken erstellenzukönnen.

Copyright BME, TU Dresden,FialaZoltán 24

Page 26: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

� Previewsdienendazu,daßVeränderungenanObjektensofortbetrachtetwerdenkön-nen.Sieermöglichen,daßEntwickler, die neueWeb-Seitenprogrammieren,ihre Pro-grammetestenund auf Korrektheitüberprüfenkönnen,ohnediesefreigeschaltetzuhaben.

� Vertreterregeln: Eskannvorkommen,daßMitarbeiterwegenAbwesenheitihreAuf-gabennicht erfüllenkönnen.EinigemodeneCMSermöglichenes,daßfür alle betei-ligten NutzerStellvertreterdefiniertwerden,die im Notfall benachrichtigtundeinge-setztwerdenkönnen.

2.3.2 Groupwareund Group Awareness

Die AufgabedesWorkflowmanagementsist dieDefinitionunddie zeitlicheSynchronisationder Arbeitsvorgängebei der ErstellungundPflege von Inhalten. Es beschreibtdenAblaufderverschiedenendenInhalt nutzendenbzw. veränderndenArbeitsschritte.Esist auchsehroft derFall, daßgewisseInhaltevon verschiedenenTeilnehmernmit unter-schiedlichenRollen gleichzeitigbenutztund bearbeitetwerden. DasCMSmußin diesemFall dafürsorgen,daßdiegemeinsameBearbeitungderInhaltenichtzu Inkonsistenzenführtbzw. daßdie Mitarbeiterüberdie Aktionen der anderenbenachrichtigtwerden. D.h. dasCMSmußauchsog.Groupware-Funktionenerfüllen.

Definition 2.3.6 Groupware ist Mehrbenutzer-Software, die zur Unterstützungvonkoope-rativer Arbeit entworfenundgenutztwird unddie eserlaubt,Informationenund(sonstiges)Material auf elektronischemWege zwischendenMitgliederneinerGruppekoordiniert aus-zutauschenodergemeinsameMaterialienin gemeinsamenSpeichernkoordiniert zubearbei-ten. [Obe91]

Definition 2.3.7 Unter GroupAwareness(Gruppenbewußtsein)verstehtmandasWissendarüber, was in der Gruppegerade los ist bzw. was in der Vergangenheitin der Gruppegemacht wurde.

(In [GGR96] werdenvier Aspektevon Group Awarenessbehandelt:Social-, Informal-,Group-Structural- andWorkspace-Awareness.)Eine der Aufgabenvon CM-Systemenist die Untersüztungvom GruppenbewußtseinderTeilnehmer. Diesemüssenerfahren,welcheTätigketenvon ihrenKollegenausgeführtwer-den. Zu diesemZweck werdenebenfalls Statusanzeigen, Pop-Up-Fenster, Tonsignale, E-Mail-Nachrichtenetc. verwendet.WeitereInformationenzu Workspacesund Group Awa-renesssindzufindenin [GGR96]und[Lor97].

2.3.3 Personalisierungmit dem Universal Content Service

Im Abschnitt 2.2.4 wurde ein wichtiger Aspekt der Personalisierungvorgestellt: Der In-haltsanbietersoll die veröffentlichtenInhaltein einem,an denjeweiligen Nutzerangepaß-ten,Formatdarstellen.Die BesuchereinerWeb-SitebenutzenverschiedeneParadigmenundTechnologienumaufdie Inhaltezuzugreifen,abhängigdavonobsiezuHause,im Bürooder

Copyright BME, TU Dresden,FialaZoltán 25

Page 27: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

unterwegssind. Nutzermit einemmobilenTelefonbrauchenanderePräsentationenalsan-dere,die vor einemFarbbildschirmsitzen. DieseVielfalt an Schnittstellenist ein Problemfür die Content-Provider, sie müssenveschiedeneVersionender Inhalte in verschiedenenFormatenherstellen.KatherineCurtis und Oliver Draperdefinierenin ihrer Arbeit [CD99] densog. UniversalContentService(UCS)zur Personalisierungvon Content. DasUCSversiehtdie InhaltemitMeta-Datenund implementiertdie Universal ContentEngine, die die Inhalte anhandderMeta-Datenin einemfür denNutzergeeignetenFormatpräsentiert.In ihremArtikel stellensie aucheine möglicheImplementationdesUCS vor. Diesewird in der Abbildung 2.10gezeigt.

Client

ServerProxy

ContentUniversal

WebServer

Original

HTTP-Request

Original

HTTP-Request

Modified

Content

Modified

Content

Abbildung2.10:UniversalContentService[CD99]

Die Universal ContentEnginewird in Form einesProxy-Servers zwischendem Browserund dem Web-Server realisiert. Dieseschickt die Anfragenvom Browser modifiziert andenWeb-Server weiter. Der Web-Server sendetdie gefragtenInhaltemit denMeta-DatenzunächstzumProxy-Server zurück.Dieserkonvertiertdie Inhaltein eineForm,die für denNutzergeeignetist undleitet sieanihn weiter.Die Autorenspeicherndie Inhalteauf dem Web-Server in XML-Format. Nebendenher-kömmlichenHTML-TagskönnensiedreiweitereTagsverwenden:<content>,<alternative>and<original>.<original>enthältdasursprüngliche(default)FormatderInhalte,<alternati-ve>beschreibtseineweiterenVersionen.DasfolgendeBeispielbeschreibteineBedienungs-Anleitung,die abhängigvon derdemNutzerzur VerfügungstehendenBandbreiteentwederalsVideo-SequenzoderalsText mit Bild präsentiertwird.

<content priority=1>

<original bandwidthRating=4>

For assembly, follow <a href="demo.mpg">video</a>

</original>

<alternative bandwidthRating=2>

1. Assemble frame from 4 flat pieces

2. Screw shelves together

Final product should resemble <img src="chair.gif">

</alternative>

</content>

Copyright BME, TU Dresden,FialaZoltán 26

Page 28: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

2.3.4 iWebDB

iWebDB - The IntegratedWeb DatabaseFramework- ist ein integriertesWeb-Datenbank-bzw. ContentManagementSystem, dasauf einemORDBMS(object-orientedrelationalda-tabasesystem)basiertund an der UniversitätKaiserslauternentwickelt wurde. Eine Be-schreibung ist zu findenin [Loe] und[LN99], hier werdenderAufbauunddie wichtigstenKomponentendiskutiert.iWebDB ist ein CMS, dasein objektorientiertesDatenbanksystemverwendet.Objektorien-tierteDatenbanksystemehabendengroßenVorteil, daßsiealle Funktionalitätenvon Rela-tionalenDatenbanksystemen(RDBMS)besitzen,danebenaberaucherweiterbarsind.UnterdieserErweiterungsfähigkeit verstehtmandiebenutzerdefiniziertenDatentypen(UDT) , diebenutzerdefiniertenFunktionen(UDF) unddiebenutzerdefiniertenIndexstrukturen. In CM-Systemen,die dieverschiedenstenInhalteverwaltenundindizierensollen,ist dieDefinitionzusammengesetzter, eigenerDatentypensehrvorteilhaft.

Komponentenvon iWebDB

Die Komponentenvon iWebDBwerdenin derAbbildung2.11dargestellt.

DB SERVER

DOC

ED

EXTRACT

MP DG

EXTENSION BUS

SM

MP

WEBSERVER

WebServerExtension

HTML Documentsand Templates

Abbildung2.11: iWebDB-Komponenten[LN99]

� DasModul iWebDB/Docstellt dieGrundfunktionalitätzurDB-internenDokumenten-verwaltungzur Verfügung. Hier werdenUDTs und Analysefunktionenin Form vonUDFs bereitgestellt.

� iWebDB/ED(externaldata)ermöglichtdenZugriff aufexterneDaten-bzw. Dateiquel-len überdieSQL-Schnittstelle.

� iWebDB/ExtractorergänztiWebDB/DocundiWebDB/EDumAnalyse-undSuchfunk-tionen.Desweiterenermöglichtesdie IndizierungderInhaltefür Suchmaschinen.

Copyright BME, TU Dresden,FialaZoltán 27

Page 29: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

� iWebDB/MP(MacroProcessor)ist eineSchnittstelle,die denZugriff aufDatenbankenausWeb-Seitenermöglicht.DiesesModul bieteteinenMacroProcessor, derspezielleTags in Web-Dokumenteeinfügenkann.

� iWebDB/DG(DocumentGenerator)dient zumautomatisiertenErstellenundUpdatenvon Web-Dokumenten.Esverwendetsog.Trigger, die weiteruntenbeschriebenwer-den.

� iWebDB/SM(Site Manager)ist dasgrafischeWerkzeugzur AdministrationdesSy-stems.

DocumentGeneration mit iWebDB/DG

ContentManagementSystemeverwendenin ersterLinie dynamischgenerierteSeiten,dienachjedemAbruf „on-the-fly” erzeugtwerden- siehe2.2. Da dieseMethodelangeAnt-wortzeitenverursachenkann,arbeitenviele Web-SitesnacheinemanderenPrinzip: sieak-tualisierenihre Inhalte in gegebenenZeitabständen.DieseszweiteVerfahrenist wenigerressourcenintensiv, die Aktualität derInhalteist abernicht immergarantiert.iWebDB/DGverwendeteinedritte Methode,esarbeitetmit DB-Triggers. Diesebewirken,daßbei der Modifizierung von Datenbanktabellen- (INSERT-, DELETE- bzw. UPDATE-Kommandos) - alle betroffenenWeb-SeitenohneNutzerinteraktionautomatischneugene-riert werden.Triggerwerdenfür die einzelnenDatenbanktabellendefiniertundkönnenbe-nutzerdefinierteFunktionenaufrufen,diedieGenerierungderSeitendurchführen.FolgenderQuell-CodezeigteinenTrigger, derbeimEinfügenneuerDatenin dieTabellenewsaktiviertwird[Loe].

CREATE TRIGGER docGenerate

AFTER INSERT ON news REFERENCING NEW AS n

(EXECUTE PROCEDURE DocumentGenerator

(’INSERT’,’AFTER’,’news’,n.id));

Nachdemder DocumentGenerator aufgerufenwird, sucher die zu generierendenSeiten,erstelltsiewiederundspeichertdasErgebnis.DasDG-Modul wurdeals einebenutzerdefinierteFunktion in dasDBMS integriert. Dieserfordert,daßdasverwendeteDatenbanksystemerweiterbarist. iWebDBwurdemit HilfedesInformixDynamicsServers implementiert.

2.3.5 Content Managementin verteilten Umgebungen

DasschnelleWachstumdesInternetund der in ihm veröffentlichtenInhalteführt zu einerimmergrößerenBelastungvonWeb-Servern.Content-Anbieter, die ihreSystemeskalierbar,sicherundeffektiv machenmöchten,denkenverstärktanverteilteArchitekturen.Anbieterwie Alta Vista, Yahoo, Netscape, etc. verwendensog.Cluster-Architekturen.IhreDienstelaufennicht mehrauf einemeinzigenRechner, sondernauf einerGruppeverteilterServer, die eineheterogeneUmgebungbilden. DieseSystemesinddeshalbskalierbar, weil

Copyright BME, TU Dresden,FialaZoltán 28

Page 30: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

manin einemClusterje nachBedarfweitereServer hinzufügenkann;desweiterensindsieauchwenigerstöranfällig,dabeimAusfall einesServersdieanderennochimmerfunktions-tüchtigbleibenunddie AufgabendesausgefallenenServersübernehmenkönnen.Die VerwendungverteilterSystemehataberauchwesentlicheNachteile.Um die in einemClusterveröffentlichtenInhalteeffektiv zumanagen,brauchtmankompliziertereVerfahren.Einigevon ihnenwerdenin diesemAbschnittbehandelt.

NFS

EineeinfacheMethodederVerwaltungvon Inhaltenist ihre Speicherungin einemzentrali-siertenNetzwerk-Datei-System(NFS- NetworkFile System). DieeinzelnenServererreichendie AssetsüberdasKommunikationsnetzwerkdesClusters.Der großeVorteil diesesVer-fahrensist, daßdieInhalteeinheitlichverwaltetwerdenkönnen.DasSystembleibtabersehrverletzlich,Störungenim NFSblockierendenganzenCluster.

Replikation

Viele Web-SitesverwendeneineandereMethodeundreplizierenihre Inhalte,sodaßdieseaufallenServerngespeichertwerden.DieseLösunghatwesentlicheNachteile:

� Die einzelnenServer brauchengroßeSpeicherkapazitäten

� Die Serverim Clustersollenmöglichsthomogensein,daalleDiensteaufallenServernlaufensollen.

� Die AdministrationderSeitenwird wesentlicherschwert,weil bei derAktualisierungvon Inhaltenalle Exemplareauf allen Servern aktualisiertwerdenmüssen.Es kannraschzuKonsistenzproblemenkommen.

Semantischpartitionierte Systeme

Chu-SinYangundMon-YenLou präsentierenin ihrerArbeit [CSY00] eineLösung,die aufdersemantischenPartitionierungvon InhaltenundDienstenberuht.DerAdministratordesverteiltenCMSkanndieverschiedenenInhalteaufveschiedenenSer-vern ablegen. Die Partitionierungder Inhalte erfolgt entwedernachihrem Typ (statischeHTML-Seiten,CGI-Skripte, multimedialeDokumente,etc.) odernachanderenAspektenwie z.B. ihrerPriorität.Sokanndie heterogeneStrukturderzur VerfügungstehendenTech-nik ausgenutztwerden:dynamischgenerierteSeitenwerdenauf leistungsfähigenRechnernplaziert,multimedialeAssetssollendagegenauf Systemenabgelegt werden,die für „real-time” Anwendungenoptimiert sind. 1 Auch die verschiedenenTechnologien(MicrosoftASP, PHP, JavaServlets, etc.)setzenverschiedeneArchitekturenundPlattformenvoraus.Die AutorenstellenzudemeineeffizienteManagement-Umgebungvor, die in folgenderAb-bildungskizziertwird.

1DiesesemantischePartitionierunghat statistischeGründe. [CSY00] erwähnt,daßgroßeDateien(bis zu64KB) nur 0.3% vom Contentausmachen,jedoch53.9%der Speicherkapazitätbenötigen. Der Anteil derZugriffe auf dieseDateienbeträgtnur0.1%allerAbrufe.

Copyright BME, TU Dresden,FialaZoltán 29

Page 31: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

WWWServer

Broker

WWWServer

WWWServer

Broker

Broker

Remote Console

Controller

Agents

Monitoring

Controlling

Abbildung2.12:PartitioniertesSystem[CSY00]

Die KomponentenderUmgebungsind:

� Der Broker ist eineJava-Applikation, die die Schnittstellezu deneinzelnenServernimplementiert.JederBroker administrierteinenServer undliefert Informationendar-überandenController.

� Die Agents verwirklichenadministrativeFunktionenin Form von Java-Klassen.DieBroker könnendieAgentsvon demController herunterladen.

� Der Controller verarbeitetdie AbfragendesAdministratorsundruft die Broker auf,die dieentsprechendenAufgabenmit derHilfe derAgentsausführen.

� Die RemoteConsoleist die graphischeBenutzerschnittstellefür denAdministrator,die alsJava-Applet verwirklicht wurde.

DieseStrukturhatmehrereVorteile:

� Die ImplementationderBroker unddesControllers in Javaunterstütztdie Anwend-barkeit heterogenerSysteme.

� Da Javadie Anwendungvon herunterladbaren,ausführbarenProgrammen(downloa-dedexecutablecontent)unterstützt,ist die Erweiterungvon Broker-Programmensehreinfach.

2.3.6 Protokolle im CM

In diesemAbschnittwerdenzwei in ContentManagementSystemenoft eingesetzteProto-kolle vorgestellt,diestandardisierteIm- bzw. Exportschnittstellenfür digitaleInformationenbieten.

Copyright BME, TU Dresden,FialaZoltán 30

Page 32: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

Das ����� ��� Protokoll ist älter und hat seinenUrsprungin der Verbindungzu bibliotheka-rischenDatenbankanwendungen.Mit derEntwicklungvon ContentManagementfindet esauchaufdiesemGebietimmermehrAnwendung.Das ICE-Protokoll ist in den letztenJahrenentstandenund zielt in ersterLinie auf WebContentManagementSystemeab.

Z39.50Protokoll

Z39.50 ist ein Standardzur Verbindungvon Datenbankanwendungen.Er entstand1984und wird vom ZIG (Z39.50ImplementorsGroup)betreut. 1992wurdeer so überarbeitet,daßer mit demISO-StandardISO10162/1163SRkompatibelist. Obwohl derStandardalsein OSI-Protokoll definiert wurde, werdenall seineAnwendungenfast ausschließlichalsAnwendungsprotokoll überTCP/IPverwendet.

Z39.50erlaubtdieweltweiteSuchein heterogenenDatenbanken,unabhängigvonihremTypundihrerStruktur.Die mit dem Protokoll kommunizierendenDatenbanken implementiereneinensogenann-ten Z-Server. Der Z-Server übersetztdie Inhalte der Datenbanken in ein standardisiertesFormat,dasvon denZ-Clientsverstandenwird. Zu denmeistenZ-Servern wird aucheinHTTP/Z39.50-Gatewaygeschrieben,damitsieausdemWWWerreichbarwerden.Abbildung2.13zeigtdenAblauf derKommunikation.

Z39.50 Z39.50Abfrage Antwort

2.1.

3.4.

Klient-Anwendung Z-Client Z-Server Datenbank-Anwendung

Abbildung2.13:Kommunikationvia Z39.50

1. Der Z-Client übersetztdie AnfragedesNutzersin Z39.50und leitet sie an die Ziel-adresseweiter.

2. Der Z-Server verarbeitetdie Abfrageso, daßsie auchfür die Datenbankanwendung„verständlich”wird

3. Die Datenbankanwendungverarbeitetdie Abfrageund liefert die Ergebnissean denZ-Server zurück

4. Der Z-Server liefert die Ergebnissein Z39.50-FormatandenZ-Client, derNutzerbe-kommtdie InformationenvomZ-Client.

DasProtokoll bietetu.a.die folgendenDienste:

Copyright BME, TU Dresden,FialaZoltán 31

Page 33: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

� Initial Service: Die Initialisierungder Verbindung,Voraussetzungfür nachfolgendeDienste.

� Search Service: Suchanfragevom Klient andenServer, derenErgebniseineErgeb-nismenge(ResultSet) ist

� PresentService: SetzteineerfolgreicheSuchanfragevorausunderhältausdenSuch-ergebnissengezielteInformationen

� DeleteResultSetService: ErmöglichtdasLöschenvon ElementenausderErgebnis-menge

� AccessControl Service: DienstzurAuthentifizierungdesKlients

� Sort Service: ErmöglichtdasSortierenderErgebnismengenachbestimmtenKriterien

� Concurrent OperationsService: DieserDiensterlaubtdasAbschickenvonmehrerenSuchanfragen,bevor diezugehörigeSuchantwort (Search Response) eingegangenist.

� Termination Service: Wird vom Client initiiert undbeendetsofortalle aktivenOpe-rationen

Die weiterenDienstewerdenausführlicherin [Age00] beschrieben.Z39.50findetheuteimBereichContentManagementimmermehrVerwendung.Ein gutesBeispieldafürist derSIMContentManegementServervon RMITMultimediaDatabaseSystems- siehe[AMKF � 00].

ICE - Inf ormation and Content Exchange

Ein wichtigesZiel von Content-Anbieternist es,ihre Inhaltein einerstandardisiertenFormihren Kundenim Internetzur Verfügungzu stellen. Bis vor einigenJahrenwarenfür denExportvonDatenzuGeschäftspartnernkundenspezifischeAustauschschnittstellenerforder-lich. DaderBedarfanautomatisiertemAustauschvonInhaltenzwischenUnternehmenstarkgewachsenist, war esnötig, einenallgemeinenStandardfür diesenZweck zu entwickeln.Mit diesemZiel habeneinigenamhafteUnternehmen,zusammengeschlossenzur ICE Au-thoring Group [ICE00], im Jahr1998dasICE-Protokoll entwickelt. Die Standardisierungerfolgteim Oktober1998durchdasW3C.

ICE ist ein Protokoll zumkontrollierten, automatisiertenAustausch von Online-InhaltenzwischenGeschäftspartnern. Es ist ein bidirektionalesProtokoll, welchesXML-basierendeNachrichtenzwischenSystemenversendet,um dieÜbertragungzusteuern.DasFormatderDatenspieltdabeikeineRolle,vonnormalemText, HTML bisXML ist allesdenkbar.

Überblick: Das ICE-Protokoll ermöglichtdenAustauschvon InhaltenzwischenServern,wobeiXML zurRepräsentationderNachrichtenverwendetwird. Zur ÜbertragungderDatenwerdenetablierteProtokolle wie HTTP/SSLund TCP/IP benutzt. Die beidenkommunizierendenSeitenkonvertierenihre Dokumente- unabhängigvon ihremFor-mat- in ICE-Nachrichten,die auf einestandardisierteWeisetransportiertundauf derEmpfängerseitedekodiertwerdenkönnen.

Copyright BME, TU Dresden,FialaZoltán 32

Page 34: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungen,Standards,Trendsim ContentManagement

ICE folgt demRequest- Response-Modell. DasProtokoll definiertzwei Rollen: esgibt einenSyndicator(Inhalt-Anbieter)- und einenSubscriber(Inhalt-Abonnent)-sieheAbbildung2.14. Der Syndicatorgreift auf ein ContentManagementSystemzu,extrahiertInhaltefür die Verbreitungund integriert ankommendenContent.Ein Syn-dicator kannseineInhaltemehrerenSubscribern anbieten,und ein SubscriberkannInhaltevonmehrerenSyndicatorserhalten.

CMSSubscriber Syndicator

Eigene Dokumente

ICE

Abbildung2.14:ÜbertragungvonDokumentenmit ICE

DerDatenaustauschzwischendenbeteiligtenSystemenerfolgtauf zweiEbenen:

1. Zunächstwird eineSubscription eingerichtet.AllgemeineInformationen,wieBeginn- und Enddatum,Zeitpunkteund Frequenzender Übertragungsowie al-ternativeLieferadressenwerdenabgestimmt.

2. ErstdannkommteszurDatenlieferung, wobeiInhaltein Formvon ICE-Paketenausgetauschtwerden.

Einrichtung von Subscriptions Der ersteSchritt ist die AnfragedesSubscribers nachei-nemKatalog,in demderSyndicatorseineAngebotespezifiziert(ice-get-catalog).

Der Subscriberwählt Informationenausdemvom SyndicatorgeliefertenKatalogausundnenntseineAuswahl mit ice-offer. Ist derSyndicatorweiterhindamiteinverstan-den,antwortetermit einerSubscription. Er kanndenAntragnatürlichauchablehnen.In diesemFall müssengenaueParameter-Verhandlungenerfolgen,um die Subscripti-on zuermöglichen.

SyndicatorSubscriber

REQUEST: ice−get−catalog

RESPONSE: ice−catalog

REQUEST: ice−offer

RESPONSE: ice−subscription

Abbildung2.15:EinrichtungeinerSubscription

Datenlieferung NachderEinrichtungderSubscriptionkommteszur tatsächlichnÜbertra-gungderDaten.Abhängigdavon,obdieTransaktionvomSyndicatorodervomSubs-criber initiiert wird, sprichtmanvoneinemPush- bzw. einemPull-Mechanismus.BeijederÜbertragungwerdendie Datenin Paketegefaßt,wobei in einemPaket mehrere

Copyright BME, TU Dresden,FialaZoltán 33

Page 35: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Kriterien zurBewertungvon ContentManagementSystemen

Lieferungeneingebettetseinkönnen. Es sind auchUpdate-Vorgängemöglich, wo-bei ein Paket nur die seit der letztenPaketlieferunggeändertenInhalteenthält. DerSyndicatorkannsichdenErhalteinesPaketsvomSubscriberbestätigenlassen.

BezüglichderGrößederin einemPaket übertragenenDatenmengengibt eskeineBe-schränkungen.Die Inhaltewerdendurchice-items räpresentiert,die sowohl textuelleals auchbinäreDatenenthaltenkönnen. Der CONTENT-TRANSFER-ENCODING-TageinesItemsgibt AuskunftüberseineKodierung,derITEM-ID-Tag identifiziertdenInhalt eindeutig.BinäreInhaltewerdenmeistmit dembase64-Verfahrenkodiert.

SyndicatorSubscriber

GET−PACKAGE

PACKAGE

CONFIRMATION

CONF. OF CONFIRMATION

Abbildung2.16: ICE-Pull-Mechanismus

WeitereMerkmale von ICE NebendenbeschriebenenFunktionenbietetICE weitereFunk-tionalitäten.

� WenneinSubscriberkeinenständigenNetzzuganghatoderdieÜbertragungun-terbrochenwird, könnendie Paketeauf derSyndicator-Seitein Warteschlangeneingereihtwerden.

� DerSubscriberkannbeimSyndicatorvoneinzelnenItemseineKopieanfordern,fallsdiesezerstörtwurden.

� Zur UnterstützungderFehlersuchekannderSyndicatoralle ICE-Aktionenpro-tokollieren.

2.3.7 Zusammenfassung

Im Abschnitt 2.3 wurdeneinige Forschungsarbeitenund Trendsauf dem GebietContentManagementvorgestellt.Ziel wareszuzeigen,daßCM mit einerVielzahlvon interessantenDisziplinenderInformatikverknüpftist.

Nachder theoretischenAnalysevon ContentManagementSystemewerdennuneinigeKri-teriengenannt,anhandderenvorhandeneCM-Werkzeugeklassifiziertwerdenkönnen.

2.4 Kriterien zur Bewertung von Content Management Sy-stemen

In diesemAbschnittwerdendie Kriterien zur Evaluationvon ContentManagementSyste-mengenannt.Die im Kapitel 3 vorgestelltenCM-Werkzeugewerdendannim Abschnitt3.4anhanddieserGesichtspunktemiteinanderverglichen.

Copyright BME, TU Dresden,FialaZoltán 34

Page 36: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Kriterien zurBewertungvon ContentManagementSystemen

In denfolgendenUnterpunktenwird je ein Kriterium genannt,bzw. eswerdenRichtlinienzurKlassifizierungderSystemeangegeben.

Systemanforderungenan denCM-Server� Plattformen: Auf welchenBetriebssystemenläuft derServer? Bestehtdie Möglich-

keit derPortierungzuanderenPlattformen?

� Hardwareanforderungen: Wie hoheAnforderungenandie Hardwarestellt dasSy-stem?FordertesbestimmteherstellerspezifischeHardware-Bauteile(z.B.Prozessor)?EmpfohleneMindestkonfiguration?

� Datenhaltung: WelcheArt derDatenverwaltungwird verwirklicht?WelcheVerzeich-nisdiensteund/oderDatenbankschnittstellenwerdenunterstützt?

� Web-Server: Ist dasSysteman einenbestimmtenWeb-Server gebunden? WelcheMöglichkeitenderPortierungzuanderenHTTP-Servernbestehen?

Systemanforderungenan denCM-Client� Web-basierteSchnittstelle: Ist der Client web-basiert?Wennnicht, welcheWerk-

zeugesindnötig?

� Plug-ins: WelcheBrowser-Plug-inssetztderClient voraus?

� Plattform: WelchePlattformenunterstütztderClient?

Installationsaufwand� Aufwände: Wie aufwendigist die KonfigurationdesCMS? Gibt es automatisierte

Installationsroutinen?Wie ausführlichwerdendie Installationsschrittedokumentiert?

� Erforderliche Kenntnisse,Schulungsaufwand: WelcheKenntnissesind zur Ver-wendungdesCMSerforderlich? Wie schnellkannmandasSystemerlernen?SindspezialisierteFachleutenötig?

User-Interface� Eingabeschnittstelle:Wasfür eineEingabeschnittstelleverwendetdasCMS?

� Views,Voransichten: SindverschiedeneViewsund/oderVoransichtenunterstützt?

Copyright BME, TU Dresden,FialaZoltán 35

Page 37: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Kriterien zurBewertungvon ContentManagementSystemen

Werkzeugezur Seitenerstellung� DynamischeSeiten:UnterstütztdasCMSdieErstellungdynamischerSeiten?

� Caching: KannmanInhalte„cachen”?Wennja, welcheCaching-Strategienwerdenermöglicht?

� APIs, Sprachen: WelcheProgrammierschnittstellenundWerkzeugekönnengenutztwerden?

Importschnittstellen� Formate: WelcheDokumentenformatekannmaninsCMSimportieren?Wie wird die

Konversionder Inhalte verwirklicht? WelcheStandardsund Standardanwendungenwerdenunterstützt?

Versionierung� Versionierung, Ar chivierung: Wird Archivierungunterstützt?WelcheInhaltekann

manversionieren?KannmanarchivierteInhalteex- bzw. importieren?

Workflow� Rollen: KannmanRollendefinieren?WelchesRollen-bzw. Rechtesystemwird im-

plementiert?

� Multiple Access,Locking: WerdenmehrfacheZugriffe geregelt? Wird Locking un-terstützt?Auf welcheWeise?Wie werdenDeadlocksvvermieden,erkannt?

� Benachrichtigungsmechanismen:WelchesysteminterneBenachrichtigungsmecha-nismengibt es?Sinddiesesynchronoderasynchron?Wie werdensieverwirklicht?

� Genehmigungsinstanzen,Freigabe: Wie werdenInhaltegenehmigt?WelcheFrei-gabemechanismenwerdenunterstützt?KannmaneigeneWorkflowsdefinieren?

TechnischeUnterstützung� Dokumentation: Wie gut ist dasSystemdokumentiert?In welchemFormatliegt die

Dokumentationvor? Online-Help?

� Support Wie ist die technischeUnterstützung?WelchezusätzlichenKostenentste-hen?

Kostenmodell� Kosten:Wieviel kostetdasCMS?Wie sehendieKosten-bzw. Lizenzmodelleaus?

� LaufendeKosten:WelchelaufendenKostenentstehenbei derVerwaltungdesCMS?

Copyright BME, TU Dresden,FialaZoltán 36

Page 38: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Kriterien zurBewertungvon ContentManagementSystemen

Referenzen� Referenzen: Wo wird dasCMSeingesetzt?Beispieleausdemakademischenbzw.

kommerziellenBereich?

Copyright BME, TU Dresden,FialaZoltán 37

Page 39: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 3

Content ManagementSystemeimVergleich

3.1 KommerzielleLösungen

In diesemAbschnittwerdenkommerzielleSystemevorgestellt,derenZielgruppediegroßenWeb-Sitessindunddie auf demamerikanischenbzw. europäischemMarkt immeröfter ein-gesetztwerden.

3.1.1 VignetteContent Manager Server

Der ContentManager Serverder Firma Vignetteist einesder am längstenauf demMarkterhältlichenCMS. Es verwirklicht die meistender zuvor genanntenCMS-Funktionen,sowie Trennungvon Inhalt und Layout, Caching, Staging, Workflowmanagement, etc. DieEntwickler arbeitenauf der Client-Seitemit einer Java-basiertenBenutzeroberfläche,dieauchmit demBrowserintensiv kommuniziertundnebendenSuchefunktionenauchSeiten-Previewsgewährt.Als besonderesMerkmal enthältder ContentManager ServerweitgehendePersonalisie-rungsmöglichkeiten, auch für anonyme Benutzer. Es arbeitetmit Templates,die nebenHTML-CodeauchTcl-Skripte - siehe[Wel00] -, ASP- oder JSP-ElementeenthaltenunddieSeitendynamischgenerieren,außerdemstehteinWYSIWYGSeiteneditorzurVerfügung.Der Server läuft auf WindowsNT bzw. SolarisPlattformen,unterstütztdie Web-Server IIS,NetscapeundApacheunddie DatenbankenOracle, SybaseundMSSQLServer.VignetteContentManagementServerunterstütztweitgehenddie Definition von WorkflowsundRollen, sowie von Tasks, d.h.Arbeitsabläufen,die zeitlich synchronisiertwerdenkön-nen.

Komponentenvom V-CMS

Abbildung3.1aufSeite39zeigtdie KomponentenstrukturvomV-CMS.

Content ManagementServer DerCMSbildetdenMittelpunktdesSystemsundverwaltetjegliche Objekte,wie Templates,Projekte,Nutzer, Inhalte, Workflows etc. Er ver-

38

Page 40: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KommerzielleLösungen

wendetdie Systemdatenbankzur Speicherungaller relevantenInformationen. JedesSystementhältgenaueinenContentManager Server.

Content Delivery Server (CDS) Der CDSist für die Kommunikationmit demWeb-Serversowie für die Veröffentlichungder Inhaltezuständig.Er generiertdie Seitenanhandder Templatesdynamisch.In denmeistenSzenarienwerdenzwei CDSeingerichtet,dereinefür die Entwickler, deranderefür den„Li ve-Bereich”.Der CDSenthältzweiweiter Module: denDocRootManager für dasCachingund die ApplicationEngine,die für diedynamischeSeitengenerierungverantwortlich ist.

WebServer Module DasWebServerModulekommuniziertmit demPage Generator undsendetdiefertigenSeitenandieeigentlichenWeb-Server(Netscape, IIS oderApache).

Observation ManagementServer (OMS) Der OMSsammeltInformationenüberdie Be-sucherder Web-Site. Er erfüllt die meistenAufgabender Personalisierung- siehe2.2.4- unddientauchderAnfertigungvon Statistiken. EineWeb-Sitekannnatürlichnur einenOMSenthalten

Multi-Channel Server (MCS) Der MCS ist ein optionalerTeil vom V-CMSund verwirk-licht Content-DeliverydurchPush-Mechanismen. Er implementiertsog.ChannelsfürdenExportder InhalteanPager, mobileTelefone,E-Mail ClientsundrealisiertaucheinenICE-Syndicator.

CMS

System DB

DevelopmentCDS

ServerWeb

WebServer

Live CDS

APE ManagerDocRoot

MCSOMS

WebServer

Abbildung3.1: KomponentenvomV-CMS[Sto00]

Ein wesentlicherNachteildesVignetteCMS ist die komplizierte,manchmalunübersichtli-cheRechtesystem,bzw. daßkeinekomplettenProjekteversioniertwerdenkönnen.Weite-re ProblemebereitetauchdersysteminterneTcl-InterpreterwegendesMangelsanDebug-Funktionen.Die einfachhandhabbareBenutzeroberflächeunddie VielzahlderFunktionenmachendasSystemdennochsehrattraktiv, obwohl seineKostenziemlich hochsind. (Die

Copyright BME, TU Dresden,FialaZoltán 39

Page 41: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KommerzielleLösungen

Version�� � vomVignetteCMSenthältdreiApplicationProgrammingEnvironmentsfür ASP,Tcl, JavaBeans/JSP.)

3.1.2 GaussVIP Content Manager

Der VIP ContentManager [Gau00]ist ein professionellesManagementsystemfür denAuf-bauund die Pflege von Web-Sites.Es ist eineder Kernkomponentenvon GaussVIP, derVersatileInternetPlatform.Da der GaussContentManager auf Java basiert,ist er plattformübergreifendeinsetzbarund kann mit allen gängigenWeb-Servern kommunizieren. Er unterstütztden Qualitäts-management-StandardISO 9000 bei den wichtigstenCM-Aktivitäten, wie Assetmanage-ment, Zugriffsverwaltung, Protokollierung, Versionierung, etc.DasSystembasiertauf demsog.Drei-Server-Konzept, d.h. esbestehtausdrei getrenntenServerprozessenfür Pflege, Qualitätssicherungund Produktionsbetrieb- sieheAbbildung3.2.

Web

Browser

Web

Browser

Web

Browser

BrowserSystem

Administrations-

Pflegesystem QS-System Produktionssystemfreigebenvorlegen

wiedervorlegen

Objekte erstellenund bearbeiten (wenn OK) freigeben

Objekte prüfen und HTML-Seiten und andere Inhalte lesen

Abbildung3.2: DasDrei-Server-Konzept[Gau00]

� Das Pflegesystemstellt die redaktionelleSchnittstelledar, hier werdendie Inhalteerstelltundbearbeitet.DesweiterenermöglichtesdenImport dergängigstenDoku-mentenformate.

� Im QS-Systemwerdendie Inhalteinhaltlich undformal geprüft. Hier wird entschie-den, ob dasObjekt an dasPflegesystemzurückgegebenoder im Produktonssystemfreigegebenwird.

� DasProduktionssystemstellt die freigegebenenSeitenderWeb-Sitefür dieNutzungdurchEndbenutzerbereit.

Nebendiesendrei Systemengibt esauchein sog.Administrationssystem, dasdie admini-strativenAufgabenerfüllt.

Copyright BME, TU Dresden,FialaZoltán 40

Page 42: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme KommerzielleLösungen

Die Inhaltewerdenmit Objektenmodelliert. Die wichtigstenObjektesinddie sog.Thema-Objekte, die als Kombinationenvon HTML-Seitenund Verzeichnissenvorgestelltwerdenkönnen,und in ersterLinie zur Stukturierungder Assetsdienen. Die Zugriffsverwaltungerfolgtmit derDefinitionenvonNutzernundGruppen,überdiederZugangzudenObjektengeregeltwird.Die dynamischenTemplateswerdenmit derHilfe von JSP(JavaServerPages)erstellt.DieJava-Technologieermöglichtauchdie IntegrationexternerAnwendungeninsVIP-System.Die ErstellungundBearbeitungvon Objektenmit demVIP’ContentManager sowie derenVeröffentlichungim Produktionssystemunterliegeneinemfest definiertenWorkflow. DieDefinitionvoneigenenWorkflowsundArbeitsabläufenist im GaussVIP’ ContentManagerleidernichtgestattet.Um dynamische,personalisierteSeitenaufderVersatileInternetPlatformherzustellen,kannderVIP Portal Manager eingesetztwerden.

3.1.3 NPS- Network Productivity System

Das NetworkProductivity Systemder deutschenFirma Infopark ist ein leistungsfähiges,preiswertesRedaktionssystemmit vielen ContentManagementFunktionen.Es bieteteineautomatisierte,leicht handhabbareSoftware-Oberflächefür die Verwaltung und denAus-tauschderInhaltein einemWeb-Auftritt.EinesderwichtigstenMerkmalevon NPSist die flexible Organisationvon Content- siehe[Inf01]. Der NPS-CMS-Kernel - sieheAbbildung3.3auf Seite42 - bieteteineobjektorien-tierteOberflächefür die AdressierungderInhalte,die physikalischin einerDatenbankoderim Dateisystemabgelegt werden. Er implementierteineeigeneXML-DTD zur Strukturie-rungvon Contentundermöglichtsomitdie plattformunabhängigeKommunikationmit denWWW-Servern und denRedaktionsklienten.Die Nutzerhabendesweiterendie Möglich-keit, die Inhalte mit beliebigenMeta-Attributenzu versehen,bzw. sowohl die gängigstenDokumentenformate- MS Office, AdobePDF -, als auchbereitsexistierendeWeb-SeitenohnejeglicheHTML-KenntnisseinsSystemzu importieren.EinerderweiterenVorteilevonNPSist die Verwaltungund Verfolgungvon Hyperlinks,wodurchfalscheodernicht mehrexistierendeVerknüpfungenvermiedenwerdenkönnen.Als ExportmechanismenwerdenXML, XML/EDI- undICE-Schnittstellenimplementiert.Die BenutzerführenihreTätigkeitenstandardmäßigübereinenWeb-Browseraus,dieXML-basierteSchnittstelleermöglichtdanebendieErweiterungdesSystemsmit anderenKlienten.Ein sehrnützlichesWerkzeugfür dasManagementderInhalteist dieTcl-basierteKomman-dozeilenoberfläche,die mittelseingebauterTcl-Funktionendie Automatisierungvieler Auf-gabengestattet.Die Benutzerverwaltungerfolgt entwederinternodermit demEinsatzdesLDAP-Dienstes.NPS implementiertein gruppenorientiertesRechtekonzeptmit frei definierbarenBenutze-rattibuten,diesekönnenauchbei derDefinition von WorkflowsundRollengenutztwerden.NPSerlaubtdie ErstellungselbstdefinierterArbeitsabläufebzw. sogenannterTo-Do-Listenundimplementiertu.a.auchdasMehr-Augen-Prinzip.

NPSermöglichtin ersterLinie die PublikationunddenAustauschderverschiedenstenDo-

Copyright BME, TU Dresden,FialaZoltán 41

Page 43: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Open-SourceLösungen

HTML TCL JAVA

FileSystem

WWWTP

WWWTP

XML

XML

NPSKernel

Abbildung3.3: Network Productivity System

kumententypen.Die Programmierungvon dynamischen,personalisiertenWeb-Seitenwirddagegennicht sogut unterstützt,wie z.B. bei VignetteCMSoderOpenCMS. Der Autor istderMeinung,daßNPSeherein RedaktionssystemalseinePlattformfür die Erstellungdy-namischerWeb-Auftrittemit viel Programmierlogikist. (Für die ErstellungpersonalisierterWeb-AuftrittebietetInfoparkdasProduktNPS-Portal-Manager an.)

3.2 Open-SourceLösungen

Mit der Entwicklung des Internetund der Kommunikationsgesellschaftgewinnen Open-SourceSoftware-LösungenimmermehranBedeutung.Viele Forschungs-undEntwickler-gruppenbietenPlattformenund Entwicklungswerkzeuge,die auchals Quell-Codefrei er-hältlich und nicht lizenzabhängigsind. Mit dem Wachstumdes InternetwerdensolcheWerkzeugevor allem in der Welt desWWWauchim kommerziellenBereichimmer öfterverwendet.Mit der rasantenEntwicklung von Web ContentManagementsind auchdie erstenCM-Systemeerschienen,die gegenüberdengenanntenkostspieligenLösungenauf OpenSour-ce-Softwarebasierenund zum Teil auchselbstals Quell-Codefrei verfügbarsind. DiesebietenfolgendeVorteile:

Niedrige Kosten: Da die meistenKomponentendieserSystemefrei zur Verfügungstehen,bedeutetihre InstallationkeineKostenfür denAnwender. Es ist jedochnicht zu ver-gessen,daßnebendenfixenInstallationskostenauchmit laufendenWartungskostenzurechnenist, die natürlichauchbei Open-SourceLösungensehrhochwerdenkönnen.

Anpassungs-bzw. Erweiterungsmöglichkeit Ein riesigerVorteil von Open-Source Soft-wareist die Möglichkeit der Erweiterung.Da die Programmein Quell-Codevorlie-gen,ist ihre Weiterentwicklungbzw. AnpassunganvorhandeneSystemkomponentenfür deninteressiertenEntwicklermöglich.

Die Arbeit mit Open-SourceLösungenhatdanebenaucheinigeNachteile:

Copyright BME, TU Dresden,FialaZoltán 42

Page 44: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Open-SourceLösungen

Mangel an technischerUnterstützung DerVertriebvonOpen-Source-Software ist vonderVermarktungkommerziellerProduktesehrunterschiedlich.Open-Source-Werkzeugekönnenkostenlosangeschafft werden,gleichzeitigfehlt esauchanGarantienundantechnischerUnterstützung,die bei denkommerziellenProduktenauchzusätzlichbe-zahltwerdensollen.

Komplizierte Konfiguration Der MangelantechnischerUnterstützungbzw. die Tatsache,daßOpen-Source-Lösungenheuteoft auf nochwenigerverbreiteten,ebenfalls freienPlattformen- z.B. Linux - laufen,bedeutenauchmehrInstallations-undKonfigurati-onsaufwandundsetzendenEinsatzbesondersqualifizierterFachkräftevoraus.

In diesemAbschnittwerdeneinigeCM- bzw. Redaktionssystemevorgestellt,dieausschließ-lich auf OpenSourceSoftwarekomponentenbasieren.

3.2.1 OpenCMS

OpenCMSist ein frei auchalsQuell-CodeverfügbaresCMS, dasausdemInternetherunter-geladenwerdenkann.Ursprünglichwurdeesvonder„mindfaktinteraktivemedienag” undderFirma„Glo BEtechnology” entwickelt, heutewird esvon einerGruppevon freiwilligenEntwicklernnamensOpenCMSGroupgepflegt.OpenCMSbasiert100%-igauf Java, d.h. es ist plattformunabhängig.Um dasSystemzuverwenden,mußmanzuvor eineJava Virtual Machine, einenWeb-Server mit einerJava-Servlet-Engine, denXML-ParserXercesund die DatenbankMySQLinstallieren. All dieseKomponentensindfrei verfügbar.Abbildung3.4zeigtdenlogischenAufbauvon OpenCMS[Pro01].

HTTP

Presentation Logic Data

WWW-Client Web-Server Database-System

Application-Logic

Java-Servlet

Abbildung3.4: Aufbauvon OpenCMS[KGRH00]

Die Präsentationsschichtvon OpenCMSist die OberflächeeinesWeb-Browsers. DieseBenutzerschnittstellenützt umfassendJavaScriptund verwendetein Active-X-Control alsWYSIWYGHTML-Editor. Die logischeSchichtwird vomWeb-Serverdargestellt,derJava-Servletsverwendet.DieseServletsimplementierendie Schnittstellensowohl zur Präsenta-tions- alsauchzurDatenschicht.

Copyright BME, TU Dresden,FialaZoltán 43

Page 45: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Open-SourceLösungen

OpenCMSverwaltet die Arbeiten in Projekten. Die Projektmitgliederkönnenverschiede-nenRollenzugeordnetwerden,gesteuertvon Projektleitern. Die Projektleitersindauchfürdie Freigabeder Inhaltezuständig.OpenCMSbieteteineleicht übersichtlicheundgut ver-wendbareOberflächefür dieDefinitionvoneinfachenWorkflowsundimplementierteinaufE-Mail basierendesBenachrichtigungssystem.Die Erstellungvon Templates,die die Web-Seitendynamischgenerieren,erfolgt in Open-CMSmit demEinsatzvon XML und Java-Servlets. Die Entwickler könnendie Seitenne-bendemWYSIWYG-Editor auchtextuell bearbeitenund die Ausführungvon ServletsmitOpenCMS-spezifischenXML-Tagskontrollieren. DasSystembieteteineVielzahl von gutdokumentiertenFunktionenundXML-Elementen,diediePogrammierungderSeitenermög-lichen.Zur ErstellungvonTemplatessiehe[Pro01].

Ein wesentlicherNachteilvonOpenCMSist derMangelanFunktionenfür dieVersionierungundErstellung„gecachter”Inhalte.DaderWYSIWYG-EditorActive-X-Controllsverwendet,kanndiesernur mit MSInternetExplorer benutztwerden,wasauchdie Plattformunabhän-gigkeit desSystemseinschränkt.

3.2.2 Midgard

Midgard ist einwenigbekanntes,dennochsehrleistungsfähigesContentManagementWerk-zeug,dasauf derSkriptsprachePHP, derDatenbankMySQLunddemWeb-Server Apachebasiert.Esstehtunterder LGPL-Lizenz, ist alsoauchalsQuell-Codefrei verfügbar1. DieWeiterentwicklungvonMidgard wird von derOrganisationMidgard ProjectRybetreut.

Midgard unterstütztdie koordinierteZusammenarbeitan einer Web-Seite,in dem es diedrei BereicheLogik, LayoutundContenttrennt. Es implementiertBaumstrukturenfür diesog.Page-, Style- und Topic-Elemente,die von denProgrammierern, denDesignernunddenInhalts-Editorenbearbeitetwerden.Die einzelnenElementekönnenüberdie MidgardAPI programmiertwerden.DasZugriffs- bzw. RechtesystemverwalteteinzelneNutzerundNutzergruppenundist derBenutzervewaltungvonUNIX-Systemensehrähnlich.

Die meistverwendeteCM-Funktionvon Midgard ist die Verwaltungvon Themen(Topics)undArtikeln(Article). DieseformeneinehierarchischeBaumstrukturmit einemHauptthemaundverschiedenen,verschachteltenUnterthemen,wobeidie„Blätter” derBäumedieArtikelsind,die textuelleInhalteenthalten.

Midgard bestehtaus4 wichtigenKomponenten:

� midgard-lib implementiertdie grundsätzlichenFunktionen,die die InterpretierungderMidgard-API, die Verwaltungvon Datenbankanbindungen,die ManipulationvonZeichenkettenunddasSpeichermanagementermöglichen.

� mod_midgard stellt ein Modul desApache-Web-Serversdar. Esbearbeitetdie Auf-rufeundfiltert bzw. verarbeitetjene,die aufeineMidgard-Seitezugreifenwollen.

� midgard-php ist einPHP-PatchundrealisiertzusätzlicheFunktionalitätin PHP.1Einekompilierte,binäreVersionvonMidgard befindetsichin denneuenVersionenvon MandrakeLinux.

Copyright BME, TU Dresden,FialaZoltán 44

Page 46: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Open-SourceLösungen

� midgard-data enthältdieAdministrationsschnittstelleAsgard unddieMidgard-Datenbank.

Die GenerierungeinerSeitemit Midgard erfolgt wie in derAbbildung3.5dargestellt:

User

Agent

APACHE

mod_midgard

PHP

midgard_php

MySQL

midgard-lib

1.

2. 3.

4.

5. 8.

2. 3.

2. 3. 6.

6. 7.

7.

9.

10.

Abbildung3.5: MidgardDataFlow[MID01]

� 1. DerAufruf vomBrowserwird vomModul mod_midgard entgegengenommen

� 2. mod_midgard findetheraus,ob derAbruf aufeinMidgard-Objektgezieltist

� 3. eswerdendie entsprechendenPage- undStyle-Elementeübermidgard-lib ausderDatenbankgelesen

� 4. PHP fängtmit derGenerierungderSeitean

� 5,8.PHP verarbeitetdie Midgard-spezifischenFunktionen

� 6-7. DiesewerdenvomModul midgard-lib interpretiert

� 9-10.DasfertigeDokumentwird andenWeb-Server zurückgegeben

3.2.3 Zope

Zope(Z ObjectPublishingEnvironment)ist ein OpenSource-Werkzeugfür die Erstellungund die Verwaltungvon Web-Seiten.Es ist eigentlichkein richtigesContentManagement

Copyright BME, TU Dresden,FialaZoltán 45

Page 47: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme AndereAspekte

System, esimplementiertjedocheinigewesentlichenCM-Funktionen.Die Betreuungerfolgtdurchdie FirmaDigital Creationsunddurchviele freiwilligen Programmierern.Zopewurdein der SkriptsprachePythonimplementiert,d.h. es ist auf vielen Plattformennutzbar. Von der Web-Seiteder Zope-Communitysind binäreDistributionenfür Windows,SolarisundLinux, sowie alleZope-Quellcodeserhältlich.

ZopebestehtausfolgendenTeilen:

Zope WebServer: Zopeenthält eineneigenenWeb-Server, kann aberauchmit anderenHTTP-Servernzusammenarbeiten,dieCGI unterstützen.

Web-basierteSchnittstelle: Die Nutzervon Zopearbeitenmit demZopeManagementIn-terfaceübereinenWeb-Browser. So wird die Plattformunabhängigkeit desSystemsweitgehendunterstützt.

Objektendatenbank: ZopeimplementierteineeigenerelationaleDatenbanknamensGad-fly, die derVerwaltungder Inhaltedient. Siewurdevon Aaron Winters in derSkript-sprachePythongeschrieben.DasSystembietetdesweiterenauchSchnittstellenzuanderenrelationalenDatenbankenan,z.B.wie Oracle, SyBase, MySQL,PostgreSQL.

Scripting LanguageSupport: ZopebietetdieIntegrationverschiedenerServer-SkriptsprachenzurErstellungdynamischerSeitenan.

ZopeimplementierteineeigeneServer-SideSkriptsprachefür die Erstellungvon dynami-schenSeiten.DieseSpracheheißtDTML (DocumentTemplateMarkupLanguage)unddientin ersterLinie zumErstellenkleinerSkriptefür die GestaltungdesLayoutderSeiten.UmkomplexereServer-Skriptezuschreiben,kannmanin ZopeandereSprachenwie z.B.PythonoderPerl einbinden.Die Inhaltein Zopewerdenin sog.Foldern strukturiert,welcheauchverschachteltwerdenkönnen. Die einzelnenAssetssind als Zope-Objektein denFoldernabgelegt. NebendenvordefiniertenObjektenkannmanaucheigeneObjektedefinieren.Die NutzerdesSystemskönnenzu Rollen zugeordnetwerden. Unter einer Rolle in Zopewird eine GruppevonBenutzernmit ähnlichenAufgabenundBerechtigungenverstanden.Ein NutzerkannauchMitglied mehrererGruppensein.Wie schonerwähnt,ist Zopekein richtigesContentManagementSystemsondernehereinRedaktionssystem,esverwirklicht jedochwichtigeFunktionenfür dieVerwaltungvonWeb-Inhalten.Da ZopeauchalsQuell-Codeverfügbarist, kannmanesnacheigenenBedürfnis-senerweiternbzw. anseinerWeiterentwicklungteilnehmen.Zopewird wegenseinereinfa-chenHandhabbarkeit in ersterLinie bei der Pflege der Web-SeitenkleinererUnternehmeneingesetzt.

3.3 AndereAspekte

3.3.1 KnowledgeManagementmit Mindaccess

Die bisherbetrachtetenWerkzeugewarenin ersterLinie sog.WebContentManagementSy-steme, die die Bereitstellungund die Pflege von Web-Inhaltenermöglichen.Da aberWeb

Copyright BME, TU Dresden,FialaZoltán 46

Page 48: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung- BewertungderSysteme

ContentManagementnur ein Teilgebietvon ContentManagementist, wird hier ein Werk-zeugbetrachtet,daseinenanderenwichtigenAspektvon CM vertritt.Mindaccessist ein Produkt der deutschenFirma Insiders Information Management, dasin Zusammenarbeitmit Forschungseinrichtungen,insbesonderemit dem Deutschen For-schungszentrumfür Künstliche Intelligenzentwickelt wurde. Es ist im GrundegenommeneinKnowledgeManagementProdukt,dasdiesemantischeBearbeitungvon Inhaltenermög-licht.MindaccessbietetDienstezurErschließung,Organisation,BereitstellungundKlassifikationvon InformationenaustextbasiertenDokumenten.Esermöglichtdie inhaltsbezogeneVerar-beitungvonAssetsunderfüllt solcheAufgaben,wie:

� ImplementierungvonSuch-Funktionen

� Index- undTerm-Generierung

� Dokumenten-Rechercheund-Klassifikation

� Feature-Extraktion

� Termsuche

� Clustering

MindaccesskanntextuelleInhaltesemantischverknüpfen,mit seinerHilfe werdenTenden-zenundvesteckteKorrelationenzwischenDokumentenoffenbar. Eswird möglich,komple-xe Recherchen,ÄhnlichkeitenzwischenTexten bzw. Textsammlungenzu erfassen,die oftdie Voraussetzungfür Trendanalysenin einemUnternehmendarstellen.Mindaccessist ein gutesBeispieldafür, daßContentManagementmit einerVielzahl voninformatischenTeilgebietenwie Knowledge Management, KünstlicheIntelligenzoderDataMining engverknüpftist. Für weitereInformationenüberMindaccesssiehe[Ins00].

3.4 Zusammenfassung- Bewertungder Systeme

Es wurde in denvorherigenAbschnittenversucht,einigeheuteverwendetenContentMa-nagementSystemekurz vorzustellen. Nebenden kommerziellen,kostspieligenSystemenwurdenauchfrei zurVerfügungstehendeOpen-SourceWerkzeugediskutiert.Es ist festzustellen,daßdie vorgestelltenProdukteverschiedeneFunktionenin denMittel-punktstellen.NPSundGausszielenz.B. in ersterLinie auf die Verwaltungunddie Einbin-dungvon Dokumenten,Midgard oderV-CMSbietendagegeneineVielzahl von Program-mierfunktionenzur Erstellungvon dynamischen,personalisiertenWeb-Sites.EinendrittenAspektvertritt Mindaccess, dasdie semantischeVerarbeitungderzur VerfügungstehendenDatenunterstützt.Es ist auchnicht zu bezweifeln,daßdie meistenOpen-Source-Lösungennochnicht so lei-stungsfähigsind,wie ihre „kommerziellenRivalen”. Sievertretenzwar auchviele fundier-te Ideen,es ist jedochkeinesdieserSystemeein richtigesCMS, dasalle wichtigen CM-Funktionenverwirklicht. Aus diesemGrundewird im Kapitel 4 eineweiterepreisgünsige

Copyright BME, TU Dresden,FialaZoltán 47

Page 49: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung- BewertungderSysteme

Lösungvorgestellt,die in dieserArbeit entstandenist undvieleweitereCM-Funktionenrea-lisiert.Eine wichtige Anforderungan ein heutigesCM-Systemist die Plattformunabhängigkeit.Diesewird heuteaufderClient-Seitefastimmerverwirklicht, dieServersstützensichdage-gennochoft auf plattformspezifischenSoftware-Bauelementen.Eineklar erkennbareTen-denzist auch,daßnebendenauf JavabasierendenTechnologienauchgewisseSkriptspra-chen,wie PHP, JSP, Perl, PythonoderTcl immermehranBedeutungin derplattformunab-hängigenProgrammierunggewinnen,die Javavor allemausderSichtderGeschwindigkeitübertreffen.Ein wichtiger Gesichtspunktbeim EinsatzeinesCMS sind die entstehendenKosten. DiemeistenkommerziellenLösungensindheutenur für großeUnternehmenmit entsprechendgroßemKapital undPersonalerreichbar, auf deranderenSeitebereitenauchOpen-Source-LösungennochimmervieleSchwierigkeitenbezüglichderKonfigurationundderPflegederWerkzeuge.Die Marktuntersuchungenzeigeneindeutig,daßderBedarf,Inhaltewirtschaft-lich managenzukönnen,auchbei mittelgroßenundkleinenUnternehmenimmergrößerist.Geradein diesemBereichist alsoeinewesentlicheEntwicklungin derZukunft zuerwarten.

In denfolgendenTabellenwerdendie wichtigstenEigenschaftender besprochenenWerk-zeugesystematischaufgelistet.(Für InformationenüberweitereCM-Werkzeugesiehedie DeutscheContentManager Site[CON00]oderdie Studie[BSW00].)

Copyright BME, TU Dresden,FialaZoltán 48

Page 50: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung- BewertungderSysteme

Content Management Systeme im Vergleich I.

Vignette CMS NPS4.0 OpenCMS

Anbieter VignetteCorp.,Austin InfoparkAG OpenCMSGroup

Systemanforderungen-

Server

Plattform Solaris,Windows NT Solaris,Linux, WinNT/2000 Alle mit Java-VM/Servlets

Hardware hoch moderat hoch

Datenhaltung Sybase,Oracle,Informix Sybase,Oracle,Informix MySQL

MS SQL MS SQL

Web-Server Netscape,Apache,IIS alle mit CGI Apache,IIS

Systemanforderungen-

Client

Schnittstelle Java-Applikation Web-Browser, Kommandozeile Web-Browser

Plug-Ins Java Java Java

Plattform alle mit JVM alle alle

Benutzerschnittstelle

Eingabeschnittstelle Java-Applikation,Web-Browser Web-Browser Web-Browser

Voransicht ja ja Browser

Werkzeugezur

Seitenerstellung

DynamischeSeiten ja nein,nur mit PortalManager ja

Caching ja nein nein

APIs,Sprachen Tcl, ASP, JSP Tcl Java

Importschnittstellen

Formate kannimplementiertwerden Text, XML, Formatemit Konverter, exportierteInhalte

Batch-Upload

Workflow

Versionierung ja ja nein

Rollen ja ja ja

Freigabe mehrstufig,Mehr-Augen-Prinzip selbstdefinierteWorkflows FreigaberechtanGruppen

Locking ja ja ja

Kosten

Preismodell nachCPU-Leistungsklasse nachServerCPUsundBenutzer frei

abca.320000DM ab50 000DM

Referenzen

DeutscheTelekom,ZDNet Siemens,DresdnerBank

Copyright BME, TU Dresden,FialaZoltán 49

Page 51: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung- BewertungderSysteme

Content Management Systeme im Vergleich II.

GaussVIP Zope Midgard

Anbieter GaussInterpriseAG Zope.org MidgardProjectRy

Systemanforderungen-

Server

Plattform alle mit Java-VM/Servlets Windows,Linux, Solaris Unix, Linux

Hardware hoch moderat moderat

Datenhaltung Dateisystembzw. eigeneDatenbank

O/JDBC externerelationale MySQL

Web-Server IIS, Netscape alle mit CGI Apache

Apache,LotusDomino

Systemanforderungen-

Client

Schnittstelle Java-Applikation Web-Browser Web-Browser

Plug-Ins Java

Plattform alle mit Java-VM alle alle

Benutzerschnittstelle

Eingabeschnittstelle Java-Applikation Web-Browser Web-Browser

Voransicht ja ja nein

Werkzeugezur

Seitenerstellung

DynamischeSeiten mit PortalManager ja ja

Caching nein nein nein

APIs,Sprachen SSJS,PHP, DTML, Perl, PHP-APImit vielen

JSP Python eigenenFunktionen

Importschnittstellen

Formate diverseFormate,Import

ganzerWeb-Sites

Workflow

Versionierung ja ja ja, mit Repligard

Rollen ja ja ja

Freigabe frei definierbar einfach

Locking ja

Kosten

Preismodell perServer, Clientsund frei frei

Datenbanklizenzextra

Referenzen

BayerischeLandesbank ZopeZen, EuropeanTelecomBusinessPortal,

Luftfahrtbundesamt Digital Garage Linux Germany

Copyright BME, TU Dresden,FialaZoltán 50

Page 52: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 4

KonzeptioneinespreiswertenCMS

In denvorangegangenenKapitelnwurdendiewichtigstenEigenschaftenundMerkmalevonContentManagementSystemenzusammengefaßt.DabeiwurdeauchdieFragederAnwend-barkeit vonsogenannten„low-cost“Lösungendiskutiert.Als praktischerTeil dieserDiplomaufgabesoll ein ContentManagementSystem(EasyCon-tent) entworfen und zum Teil implementiertwerden,dasdie wichtigstenFunktionalitäteneinesCMS in einerpreiswertenUmgebung darstellt. In diesemAbschnittwird die Archi-tekturund funktionelleStrukturkonzipiert. Kapitel 5 befaßtsichdannmit denFragenderImplementation,d.h.derUmsetzungderKonzeptein diePraxis.

4.1 EasyContent – Der Name

Der NameEasyContentweistdaraufhin, daßesum ein einfachzu handhabendes,dennochsehrnützlichesWerkzeuggeht.WährendderKonzeptionwurdeversucht,diewichtigenCM-Funktionenauf eineübersichtliche,leicht verständlicheWeisein dasSystemzu integrieren.

4.2 EasyContent – Zielsetzungen

EasyContentist ein WebContentManagementSystem, dasausschließlichauf Open-SourceSoftware-Lösungenbasiert.Esstellt eineOberflächefür die Verwaltungvon Web-AuftrittenundWeb-Inhaltendar.

� EasyContentist einePlattform zur Verwaltung von Inhalten einerWeb-Site. EsimplementiertFunktionenzur Speicherung,Strukturierung,Einbindung,Veröffentli-chungundArchivierungdigitalerAssets.

� EasyContentbietet desweitereneine Programmieroberfläche für die Erstellungstatischerund dynamischerWeb-Seiten. Mit derHilfe vonEasyContent-Templateswird esmöglich,datenbankgestützte,personalisierte„up-to-date”Web-DokumentezuerstellenundaufeineeffektiveWeiseim Intra-bzw. Internetzupublizieren.

51

Page 53: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme EasyContent– Zielsetzungen

� EasyContentist außerdemein Entwicklungswerkzeug,dasdie koordinierte Zusam-menarbeite mehrerer Entwickler an einemWeb-Auftritt erlaubt. Es bietetgrund-sätzliche Workflow-Mechanismen für die Automatisierungder ArbeitsabläufeimBereichContentManagement.

Die wesentlichstenin EasyContentimplementiertenCM-Funktionensind:

� die projektorientierteEntwicklungvonWeb-Auftritten

� die TrennungvonInhalt undLayout

� dasManagementdigitaler Assets

� dieAutomatisierungvonFreigabemechanismendurchdieImplementierungvonContent-WorkflowsundStaging

� die zentraleBenutzer- bzw. Zugriffsverwaltungunddie Personalisierungder Inhalte

� die effektivePublikationder InhaltemittelsCaching

Bei derKonzeptiondieserFunktionenwurdenfolgendeGesichtspunkteberücksichtigt:

� Anwendungfr eier Softwarekomponenten:Bei derKonzeptionvonEasyContentistdie ausschließlicheAnwendungfreier Software-Komponenteneinesder wichtigstenGesichtspunkte.

Im Abschnitt3 hatessichbeimVergleichverschiedenerContentManagementSystemeherausgestellt,daßdie heutigen„low-cost” CMSmeistensnochnicht so leistungsfä-hig sind,wie ihre kommerziellenRivalen. Ein wichtigesZiel dieserArbeit ist eszuzeigen,daßwichtige CM-Funktionenauchin einerpreiswertenUmgebung verwirk-licht werdenkönnen. Aus diesemGrundewerdenbereitsbei der KonzeptionauchtechnologischeFragenbehandelt- siehe4.3.

� Skalierbarkeit und allgemeineEinsetzbarkeit: EasyContentorganisiertundverwal-tet die Arbeitenin sog.Projekten.Dieseunddie internenNutzer- bzw. Gruppenver-waltungsfunktionenermöglichendieDefinitionvonseparatenArbeitsschrittenunddiesynchronisierte,parallelleZusammenarbeitmehrererEntwickler. So ist EasyContentauchbeiderPflegegroßerInhaltsmengenundkomplexerWeb-Anwendungeneinsetz-bar.

� WeitgehendePlattformunabhängigkeit: EasyContentist ein Werkzeug,dassowohlaufderClient-alsauchaufderServer-Seiteplattformunabhängigist, esnutztaufallenPlattformenverfügbareSoftware-Komponenten.Die BedienungdesSystemserfolgtmittels einer web-basiertenOberfläche,die die Anwendungauf einer Vielzahl vonPlattformenermöglicht. DieseOberflächebenutztFunktionen,die von denmeistenheuteverwendetenWeb-Browsernunterstütztwerden.FürdiegenauerenAnforderun-genandieClient-AnwendungensieheAbschnitt5.2.2.

Copyright BME, TU Dresden,FialaZoltán 52

Page 54: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme TechnologischeFragen

� Einfache, übersichtliche Bedienung: EasyContentbieteteineübersichtlicheOber-flächeund eine einfach verständlichesowie handhabbareArbeitsumgebung für alleNutzersowohl im Entwicklungs-,alsauchim Redaktions-undVerwaltungsbereich.

� Unterstützung von gängigenProgrammierstandards: DasSystembasiertauf be-kannten,verbreitetenProgrammierstandards,die bei der Entwicklungder EasyCon-tent-Web-Seiteneingesetztwerdenkönnen.So ist esfür Einsteigernicht nötig, neueMarkup-bzw. Programmiersprachenzuerlernen.DesweiterenbietetdasSystemaucheigeneEasyContent-spezifischeFunktionen,diebei derArbeit sehrnützlichsind.

4.3 TechnologischeFragen

Da EasyContentin einer preiswertenSoftware-Umgebung implementiertwerdensoll, istesbereitsbei der KonzeptiondesSystemswichtig, dasFür und Wider der zur VerfügungstehendenTechnologienabzuwägen,umeineleistungsfähigeArbeitsumgebungzuschaffen.In diesemAbschnittwerdenalsotechnologischeEntscheidungengetroffen.

4.3.1 Betriebssystem

Im Abschnitt 4.2 wurde schonerwähnt,daßEasyContentauf der Server-Seitemöglichstplattformunabhängigwerdensoll. Außerdemist eswichtig, daßesauchin einerOpenSour-ce-Umgebungläuft.Aus diesemGrundewird der EasyContent-PrototypunterLinux verwirklicht. (Für die ge-nauereBeschreibungderDistribution sieheAbschnitt5.) Da Linuxeigentlich„dasUnix fürdenPC” ist, kannmandenPrototypenauchunteranderen„Unix-like” Systemenwie z.B.SunSolarisverwenden.In derheutigenZeit kannmanin derPC-Welt auchaufdie 32bit BetriebssystemederFirmaMicrosoftnicht verzichten.Aus diesemGrundewerdenspäterdieSchritteeinereventuellenPortierungzuWindowsangegeben.

4.3.2 Web-Server

Da der Web-Server eineder wichtigstenKomponenteneinesCMS ist, ist seineWahl vonentscheidenderWichtigkeit. Der Web-Server in EasyContentmußdie folgendenAnforde-rungenerfüllen:

� Er soll niedrigeKostenhaben

� Er soll schnellundleistungsfähigsein

� Er soll einfacherweiterbarundkonfigurierbarsein

In EasyContentwird deshalbder weltweit führendeApache-Webserver eingesetzt.Dieserist frei auchalsQuell-Codeauf allenPlattformenverfügbarundbietetsehrfundierteKon-figurationsmöglichkeiten. (Am �� April ������ war ApachenachdemWebServerSurvey derFirmaE-SoftInc. auf ���������� derdeutschenDomäneneingesetzt[ESO01].)

Copyright BME, TU Dresden,FialaZoltán 53

Page 55: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme TechnologischeFragen

4.3.3 Programmierschnittstelle

Die WahlderProgrammierschnittstelleist vielleichtdiewichtigsteFragebeiderKonzeptioneinesCMS. Ein wichtigesKennzeicheneinesWebContentManagementSystemsist nämlichdie Generierungdynamischer, datenbankgestützterSeiten,hinter deneneineProgrammier-logik steht.Esgibt heuteeineVielzahlanServer-Programmierschnittstellen,diebeiderKonzeptionvonEasyContentverglichenwurden.

� Eineoft verwendeteUmgebungfür dieErstellungvondynamischenWeb-Sitesist ASP(ActiveServerPages)derFirmaMicrosoft. DiesesWerkzeughatdenNachteil,daßeseineWindows-Plattformvoraussetzt,von PortabilitätundniedrigenKostenkannalsonichtdie Redesein.

� Die plattformunabhängigeProgrammierungbedeutetheutein ersterLinie denEinsatzvon Werkzeugen,die auf der SpracheJava basieren. Für serverseitigeProgrammebietetJava zwei Möglichkeiten: Java Servletsbzw. JSP(Java ServerPages). Serv-lets sind kompilierteJava-Programme,die auf demWeb-Server laufen,Java ServerPagessinddagegendynamischeTemplate-Skripte,dienebenHTML-CodeauchJava-Befehlebeinhaltenundbei jedemAbruf interpretiertwerden.

In EasyContentwurdeaufdenEinsatzvonJava-basiertenTechnologienvor allemausGeschwindigkeits-undLeistungsgründenverzichtet.

� EinenächsteMöglichkeit ist derserverseitigeEinsatzvon bekanntenSkriptsprachen,wie Perl, bashoderTcl. DieseSprachenentstandenin einerZeit, alsderBegriff Webnochunbekanntwar. Da sie sehrschnelle,leistungsfähigeWerkzeugefür die Verar-beitungvon textuellenZeichenkettensind,werdensieaufWeb-Servernoft eingesetzt.Leiderist die Lesbarkeit dieserSkripteoft nicht einfachunddie Programmierungvorallemfür Anfängerkompliziert.

� In EasyContentwird alsProgrammierwerkzeugdie SkriptsprachePHP (PHP Hyper-Text Preprocessor)eingestzt. Sie wurde � ���� von RasmusLerdorf entwickelt undzielt direkt auf die Programmierungvon Server-seitigenProgrammenab. PHP bie-tet ein leistungsstarke C-ähnlicheSyntaxundeinenbreitenFunktionsumfangfür dieveschiedenstenProgrammierfunktionen- siehe[Kra00].

4.3.4 Datenhaltung

Die letzteFragebeiderKonzeptionvonEasyContentist dieDatenhaltung.Esist eineDaten-bankzuwählen,dieebenfalls frei zurVerfügungsteht,Schnittstellenfür Server-Programmebietetundbesondersleistungsfähigist.In EasyContentwird MySQLalsSystemdatenbankeingesetzt.MySQList ein OpenSourceRDBMS(RelationalDatabaseManagementSystem), dasunterder GPL-Lizenz(GNU Ge-neric Public License)steht. Um in kommerziellenAnwendungenbenutztzu werden,mußeslizenziertwerden,dieKostensindabermit denPreisenderkommerziellenProduktenicht

Copyright BME, TU Dresden,FialaZoltán 54

Page 56: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme EasyContent– Systemkomponenten

zu vergleichen.MySQLwurdefür schnelleSQL-Abfragenoptimiert,auf deranderenSeitewurdenbishernoch keineTransaktions-bzw. Rollback-Mechanismenunterstützt. Erst inletzterZeit kannmanin MySQLsogenannteBDB-Tabellen(Berkeley DB) erstellen,dieauchTransaktionenunterstützen.

Die Kombination von PHP, Apache und MySQL ist heute eine der leistungstärkstenWeb-Programmierumgebungen. DieseKonfiguration ist in allen Inter net-Plattformeneinsetzbar.

4.4 EasyContent – Ar chitektur

EasyContentbasiertaufdemClient-Server-Ansatz- sieheAbbildung4.1.Im MittelpunktdesSystemsstehtderEasyContent-Server, derfür dieVerwaltungderInhal-te bzw. derNutzerunddie KoordinationderArbeitsabläufezuständigist. Die BenutzerdesSystemskommunizierenmit demServer überdie im Intra- bzw. InternetverteiltenKlient-anwendungen.Die KommunikationzwischendemServer unddenKlientprogrammenerfolgt überHTTP,d.h.die Benutzerarbeitenmit ihrenWeb-Browsern. Auf dieseWeisewird die Plattformun-abhängigkeit derKlientenweitestgehendgarantiert.

Client

Client

Client

Client

Client

Client

SERVER

Abbildung4.1: Client-Server-Ansatz

4.5 EasyContent – Systemkomponenten

Die wichtigstenKomponentenvon EasyContentwerdenin derAbbildung4.2 auf Seite56dargestellt. Der Abbildung folgt einekurzeZusammenfassungder Funktionen,die in dennächstenAbschnittenausführlicherbesprochenwerden.

Die System-Datenbank verwaltetalle InformationenbezüglichderProjekte,derTempla-tes,der Versionen,der Nutzer, etc. Die weiterenKomponentendesSystemsermittelnalleInformationenausdieserDatenbank.

Copyright BME, TU Dresden,FialaZoltán 55

Page 57: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme EasyContent– Systemkomponenten

Cache−Manager

Web−BrowserInternet

System − Datenbank

Version−Manager

TemplateProcessor

Projekt

Explorer

AdminInterface

Entwicklungs−

Live

PoolTemplate

Datenfluß

Verwaltung

Web−Server

Web−Server

Abbildung4.2: Die Systemkomponenten

Der Projekt-Explorer ermöglichtdie Verwaltungvon Projekten,Templatesund Assets- siehe4.6. Die Entwickler bzw. die Redakteurehabendie Möglichkeit, Projekte,AssetsunddieTemplateszubearbeiten,Inhaltezueditieren,neueInhaltebzw. VersionenvonaltenInhaltenzuerstellen.

Im Template-Pool befindensichdie bereitsaktuellenVersionenderWeb-Seiten.Die bei-denWeb-Server greifenauf denTemplate-Pool zu, um die Web-Seitenan die Browserzuliefern.

DasAdmin-Interface ermöglichtdemAdministratorneueProjektezuerstellen,neueUseranzulegen,die ZugriffsrechtederBenutzerauf die einzelnenProjektezu regeln,Versionenvon Projektenund Unterprojektenzu speichern,die innerenDatenbanken zu manipulierenbzw. Statistiken zu evaluieren. Hier findet auchdie Genehmigung,die Freigabeund dieeventuelleSperrungderTemplatesstatt.

Der Version-Manager ist für die VerwaltungderVersionenzuständig.EskönnensowohlVersionenvon einzelnenTemplatesundAssetsals auchwelchevon ganzenProjektenundUnterprojektenangelegt werden.

Copyright BME, TU Dresden,FialaZoltán 56

Page 58: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Projekte,TemplatesundAssets

Der TemplateProcessor bedientdie beidenWeb-Server. Er generiertdie zu veröffentli-chendenWeb-SeitenanhandderTemplatesbzw. derInhaltein derDatenbankundsteuertdieArbeit desCache-Managers.

Der Cache-Manager ist für die Erstellungund die Regenerierungvon statischen,„ge-cachten”Seitenzuständig.

Der Entwicklungs-Server veröffentlichtdiebereitsvondenNutzernerstelltenTemplates,auf ihn könnennurdieEntwicklerzugreifen.Alle neuerstelltenoderaktualisiertenTempla-teserscheinensofortaufdemEntwicklungs-Server.

Der Li ve Web-Server ist dagegenderöffentlicheWeb-Server. Hier dürfennur nochdiefertigen,genehmigtenInhalteerscheinen.

4.6 Projekte, Templatesund Assets

Die Arbeit in EasyContenterfolgt in Projekten. UntereinemProjekt verstehtmaneinezu-sammengesetzteAufgabe,die von einerGruppevon EasyContent-Nutzernausgeführtwird.SoeineAufgabekannsowohl die EntwicklungeinerkomplexenWeb-Site,alsauchdie Er-stellungeinereinfachenHTML-Seitesein.Um Projekteübersichtlichund strukturiertverwaltenzu können,kannmandieseineinan-derverschachteln.JedesProjektkannbeliebigviele Unterprojekteenthalten,die wiederinweitereUnterprojekteunterteiltwerdenkönnen,d.h.die ProjektebildeneinehierarchischeBaumstruktur. DieseDarstellungsweiseunterstütztdie hierarchischeProjektarbeit,die beiderErstellungvon Web-Seitenerforderlichist. Die EntwicklungeinerkomplexenWeb-Sitekannnämlichoft in getrennteArbeitsschritteaufgeteiltwerden,die von verschiedenenEnt-wicklern ausgeführtwerden.Die ProjekteundUnterprojekteenthaltenTemplatesunddigitale Assets.

Definition 4.6.1 Templatessind Layout-Vorgaben- siehe2.2.1- die die Web-Seitendyna-misch generieren. Sieermöglichen,daßdie veröffentlichtenHTML -Seitenzur Laufzeiter-stellt werdenunddenaktuellenStandder Inhaltepräsentieren.

Definition 4.6.2 UnterAssetsverstehtmanin EasyContentbeliebigedigitaleInhalte. DiesekönneneinfacheTexte, HTML -Codes,strukturierteTexte, sowiebeliebigemutimedialeEle-mente(Grafiken, Images,Sound,Video,Animation)sein,undwerdenmit Meta-Daten, wiez.B.ihremMIME -Typklassifiziert.

Die Projekte, TemplatesundAssetskönnenin EasyContentmit logischenPfadnamenange-sprochenwerden.Ihre Strukturist demAufbaueineshierarchischenDateisystemsähnlich,wo die ProjektedenVerzeichnissenunddieTemplatesbzw. die AssetsdenDateienentspre-chen. Die Abbildung 4.3 auf Seite58 zeigt die Hierarchievon Projekten,TemplatesundAssets.

Copyright BME, TU Dresden,FialaZoltán 57

Page 59: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Benutzer- undZugriffsverwaltung

Projekt#1

Projekt#2

Template#1/1Template#1/2

Template#2/1Template#2/2Template#2/3

Template#2/1/2Template#2/1/1

Projekt#2/1

Projekt#2/1/1

Asset#1/1

Asset#2/1

Asset#2/1/1

Abbildung4.3: Projekte,TemplatesundAssets

4.7 Benutzer- und Zugriffsv erwaltung

4.7.1 EasyContent – Benutzer

DieBenutzerdesSystemskönnengrundsätzlichin dreiGruppeneingeordnetwerden:EasyContent-Entwickler, EasyContent-RedakteureundAdministratoren.

� Die EasyContent-Entwickler desCMSarbeitenausschließlich auf der Web-basiertenOberfläche.Dieseermöglichtihnen,neueTemplatesanzulegen,bestehendeTemplateszu editieren,die erstelltenSeitenzu testenundversionieren,etc. Die Nutzerarbeitenin sogenanntenProjektgruppen- siehe4.6.

� Die EasyContent-Redakteuresind für die Bereitstellungund die Bearbeitungder di-gitalenAssetsverantwortlich. Sie verfügenüberkeineProgrammierkenntnisseundkümmernsichnur um die ErstellungderdigitalenInhalte,nicht aberum ihre Einbin-dungin dieWeb-Site.SiearbeitenauchanderWeb-basiertenOberfläche.

� Die Administratoren verfügenüberalle Funktionen,die Entwickler und Redakteurebesitzen,desweiterenhabensiezusätzlicheVerantwortungen,die sichvor allemaufdieVerwaltungvonNutzernundGruppen- 4.7.2-, aufdasManagementvonProjekten- siehe4.6 -, bzw. auf die Pflege der Inhalte, der Datenbanken und der Versionenbeziehen.

Abbildung4.4 auf Seite59 zeigtdie StrukturderNutzergruppen.Die Administratorenver-waltendieProjekte,in denenEntwickler undRedakteure tätigsind.

4.7.2 Zugriffsv erwaltung über Projektgruppen

Wie schonerwähnt,wird in EasyContentin sog. Projektgruppengearbeitet.Die BenutzerdesSystemskönnenzu Projektgruppenzusammengefaßtwerden,die je an einemProjekt

Copyright BME, TU Dresden,FialaZoltán 58

Page 60: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Benutzer- undZugriffsverwaltung

verwaltet verwaltet

Entwickler

Redakteure

Projektgruppe

Projektgruppe Projektgruppe

Administratoren

Projektgruppe

Abbildung4.4: Entwickler, RedakteureundAdministratoren

tätig sind. Dasbedeutet,daßdie Teilnehmerder Projektgruppeauf die Unterprojekte,aufdie Templatesbzw. auf die AssetsdesbetroffenenProjekteszugreifen,diesebearbeitenundmodifizierenkönnen.Die ZugriffsverwaltungderEasyContent-Entwickler erfolgtüberdieseProjektgruppen.Dasheißt,daßdieRechtenichtperNutzer, sondernperProjektgruppevergebenwerden.Um die-senMechanismuszu verstehen,mußzunächstder Begriff Top-Level-Projekt definiertwer-den.

Definition 4.7.1 Unter einemTop-Level-Projekt verstehtmanein Projekt,daßsich in derhierarchischenProjektstrukturaufdemoberstenLevelbefindet.D.h. dieProjekt-HierarchiebestehtausdisjunktenBäumen,wobeidieWurzeleinesjedenBaumeseinTop-Level-Projektist. Der Inhalt einesTop-Level-Projektesist die Gesamtheitaller Unterprojekte, Templa-tesund Assets,die sich in der Baumstrukturunter demTop-Level-Projektbefinden- sieheAbbildung4.5aufSeite60.

Die EasyContent-Projektgruppenwerdenzu denTop-Level-Projektenzugeordnet.D.h. einNutzereinerbestimmtenProjektgruppehatZugangzu allenUnterprojekten,TemplatesundAssets,diesichin derhierarchischenProjektstrukturunterdemgegebenenTop-Level-Projektbefinden. Es ist die AufgabedesAdministrators,die Nutzerzu deneinzelnenTop-Level-Projektenzuzuordnenbzw. sieausdiesenzuentfernen.SobaldjemandMitglied einerProjektgruppeist, darf er unterdembetroffenenTop-Level-Projekt neueUnterprojekte,Templatesund Assetserstellen,dieseeditierenbzw. VersionendereinzelnenInhalteverwalten.DasLöschenvonProjekten,UnterprojektenundTemplatesist eineVerantwortungdesAdministrators.

DasRechtesystemvonEasyContentmagaufdenerstenBlick etwaseinfachscheinen.VieleSysteme,die ebenfalls mit hierarchischenProjektstrukturenarbeiten- z.B. VignetteCon-tent ManagementServer- implementierennämlich kompliziertereRechtesysteme,wobeidie Rechteder Nutzerauchfür die einzelnenUnterprojektevergebenwerdenkönnen. DaaberdieseLösungenbei einerhohenAnzahl von Nutzernund Unterprojektenkompliziert

Copyright BME, TU Dresden,FialaZoltán 59

Page 61: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Assetmanagementin EasyContent

E R

Template

Projekt

Asset

Inhalt von einem Top-Level-Projekt

Top-Level-Projekte

bearbeitet

RedaktuereEntwickler

Projektgruppe

Abbildung4.5: Die Zugriffsrechtebeziehensichaufdie Top-Level-Projekte

undin derPraxisschwerhandhabbarsind,verwendetEasyContentdieseeinfachere,jedochübersichtlichereMethode.

4.8 Assetmanagementin EasyContent

Die wichtigstenAufgabenderAssetmanagementkomponentevon EasyContentsind:

1. die strukturierteDarstellungderInhalte

2. die VerwaltungderZugriffe aufdie Inhalte

3. die VersionierungderInhalte

4. Datenbankverwaltung

4.8.1 Strukturierte Darstellung der Inhalte

Wie schonim Abschnitt 4.6 erwähnt,werdendie Inhalte in EasyContentin einerBaum-hierarchieverwaltet. Es könnenProjekteund Unterprojektedefiniertwerden,die Seiten-Vorlagen(Templates) unddigitaleAssetsenthaltenkönnen.UnterdigitalenAssetskannmandie verschiedenstenMedientypenverstehen:von einfachenASCII- bzw. HTML-Texten biszukomplexenmultimedialenObjektenist hier allesdenkbar.Die Aufgabevon EasyContentist die AdressierungdieserInhalte. Die Projekte,TemplatesundAssetswerdenmit logischenNamenversehen,um eindeutigidentifiziertundangespro-chenwerdenzu können. Als logischeNamenfür die Templatesund Assetswerdenihre

Copyright BME, TU Dresden,FialaZoltán 60

Page 62: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Assetmanagementin EasyContent

Pfadnamenin der Baumhierarchieverwendet.DasausgewählteProjekt in der Abbildung4.6 hat so z.B. denlogischenNamena-b-c. DieseBezeichnungkannüberallverwendetwerden,umdiesesProjektansprechenzukönnen.

a

b

c

a−b−c

Abbildung4.6: AdressierungderInhalte

DieBenutzervonEasyContentkönnenin derBaumhierarchemit Hilfe desProjekt-Explorersnavigieren- sieheAbbildung4.7auf Seite62. DiesegrafischeBenutzeroberflächezeigtdieProjekte,TemplatesundAssetsmit ihrenEigenschaftenunderlaubtdemNutzer, sichin derBaumhierarchiezubewegen.Die ImplementierungderTrennungder logischenundderphysikalischenAdressierungderInhalte war eine der schwierigstenAufgabenbei der Programmierungvon EasyContent.Diesewird im Abschnitt5.3.2ausführlicherklärt.

4.8.2 Die Verwaltung der Zugriffe auf die Inhalte

EasyContentverwaltetdieZugriffsrechtederNutzeraufdieeinzelnenTemplatesundAssets.BeimZugriff aufeinAssetwird bestimmt,obderNutzerberechtigtist, im zugehörigenTop-Level-Projektzu arbeiten.Im Projekt-Explorer siehtderNutzernur die für ihn erreichbarenInhalte. Die Rechteder Nutzerund der Administratorenwerdenin der folgendenTabelledargestellt:

Bearbeitung Bearbeitung Unterprojekte Top-Level-Projekte GanzeProjekte

von Templates von Assets erstellen erstellen Versionieren

Entwickler ! !Redakteur ! !

Administrator ! !� Die Zugriffsrechteder Entwickler in einerProjektgruppebeziehensich auf die Pro-

grammierungderTemplates.EntwicklerkönnenUnterprojekteerstellen,statischeunddynamischeWeb-Seitenprogrammieren,in die siedie vondenRedakteurenerstelltenundverwaltetenAssetseinbindenkönnen.DasAnlegenvonVersioneneinzelnerTem-platesist ebenfalls die VerantwortungderEntwickler.

� Die Redakteure kümmernsich um die digitalenAssets,siekönnendiesehinzufügenundmodifizieren.Siekönnensichdie von denEntwicklern erstelltenWeb-Seitenan-schauen,diedynamischenSkriptedürfensiejedochnicht verändern.

Copyright BME, TU Dresden,FialaZoltán 61

Page 63: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Assetmanagementin EasyContent

� Die Administratoren sind an der Programmierungder Templatesund der ErstellungderAssetsnicht beteiligt. SiekönnenneueProjektgruppenerstellen,in demsieTop-Level-Projektedefinierenund zu diesenEntwickler und Redakteure zuordnen. Desweiterenkümmernsiesichauchum die Versionierungvon ganzenProjektenunddieFreigabederInhalte.

Die Abbildung4.7 illustriert, wie ein Bild-Assetmit seinenAttributenfür einenEasyCon-tent-Redakteurim Projekt-Explorer angezeigtwird.

Abbildung4.7: DarstellungeinesBild-Assetsim Projekt-Explorer

4.8.3 Versionierungder Inhalte

Abschnitt2.2.2stelltebereitsdie Wichtigkeit derVersionierungheraus.Esist einewesent-licheAnforderunganeinCMS, dieGesamtheitaller InhaltezueinembestimmtenZeitpunktarchivierenzu können.Um dasKonzeptdesEasyContent-Versionsmanagers zu verstehen,werdenhier die wichtigstenAspektederVersionierungin einemCMSbehandelt.

Die Trennungvon Inhalt und Layout - siehe2.2.1- bedeutet,daßeineWeb-Seiteausver-schiedenenKomponentenbesteht. Die Templatesund die verschiedenenAssetsbefindensichmeistensin einerDatenbankbzw. im Dateisystemundwerdenerstzur Laufzeitzusam-mengebaut.Um zu wissen,wie einePräsentationzu einemgegebenenZeitpunktaussah,müssenalsoalle ihrerKomponentenin ihremdamaligenZustandaufbewahrtwerden.EineandereHerausforderungandieVersionierungist dieArchivierungganzerProjekte.DieInhalte müssenin ihrer ehemaligenHierarchiegespeichertund wiederhergestelltwerden.

Copyright BME, TU Dresden,FialaZoltán 62

Page 64: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Assetmanagementin EasyContent

Dabei sollen sowohl absoluteals auchrelative Referenzenund Verknüpfungenzwischenden einzelnenElementenerhaltenbleiben. Die Versionierungin einemCMS ist also einkomplizierterVorgang.

Die heutegängigenCMS- sieheKapitel 3 - verwirklichenverschiedeneVersionierungsstra-tegien, einige unterstützendie Versionierunggar nicht. Andereermöglichenes, einzelneTemplatesoderAssetsalsVersionabzulegenbzw. Backupsvon ganzenDatenbankenzu er-stellen.Esist jedochfastnirgendwo möglich,daßganzeProjekteundUnterprojektezusam-menarchiviert werden.Bei derKonzeptionderVersionierungin EasyContentwird deshalbdieserAspektin denMittelpunkt gestellt.

EasyContentbietetdie Möglichkeit, alte Versionenvon Templates,Assetsbzw. Projektenspeichernund wiederherstellenzu können. DieseAufgabenwurdenin der Systemkompo-nenteVersion-Manager implementiert.Die Versionierungin EasyContenterfolgt auf zweiEbenen.

1. Auf der einenSeitekönnendie Entwickler und Redakteure in einer ProjektgruppeVersionenvoneinzelnenTemplatesundAssetsspeichern.

2. Auf deranderenSeitehabendie AdministratorendesSystemsdie Möglichkeit, ganzeProjektebzw. UnterprojektealsProjekt-Versionenzu speichernbzw. diesewiederher-zustellen.

VersionierungeinzelnerInhalte

Wennein Nutzerein beliebigesTemplateoderAssetbearbeitet,hater die Möglichkeit, die-sesals Versionzu speichern. Dazu brauchter einfach auf die Schaltfläche„Als Versionspeichern” zu klicken.SoentstehteineVersiondesInhaltes,die nur vom Administratorge-löschtwerdenkann. Der Nutzerhatdesweiterendie Möglichkeit, beliebigealteVersionendesbearbeitetenInhalteswiederherzustellen.Die Versionenvon deneinzelnenTemplatesbzw. Assetsexistierennur so lange,wie dieInhalteselbst!WennderAdministratordasgegebeneAsset- oderdasUnterprojekt,in demes sich befindet- löscht, so verschwindenauchseineVersionen. Um Versionen„für dieEwigkeit” aufbewahrenzukönnen,soll derAdministratorganzeProjektebzw. Unterprojektearchivieren.Die Versionenvon TemplatesundAssetswerdenin Datenbanktabellenmit entsprechendenMeta-Informartionengespeichert.

Versionierungvon (Unter)projekten

EinekomplexereMethodefür die Archivierungvon mehrerenTemplatesundAssetsist dasErstellenvon VersionenganzerProjektebzw. UnterprojektedurchdenAdministrator.

Wie schonerwähnt,habendieProjekteundUnterprojektein EasyContenteinehierarchischeBaumstruktur. Um ein (Unter)projektzuarchivieren,mußderAdministratordiesesauswäh-len unddie Option „absichern” aktivieren. Sowerdenalle (Unter)Projekte,Templatesund

Copyright BME, TU Dresden,FialaZoltán 63

Page 65: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Assetmanagementin EasyContent

Assets,die sichunterhalbdesausgewähltenUnterprojektesbefindenarchiviert - sieheAb-bildung 4.8. Eine gesicherteProjekt-Versionist alsopraktischauchein kleiner Baumgraf,eventuellmit vielenUnterprojektenundInhalten.Die WiederherstellungeinerProjekt-Versionbedeutet,daßdiesewiederin die globalePro-jektstrukturvon EasyContenteingefügtwird. Der Administratorhat hier die Möglichkeit,ein (Unter)Projektzu bestimmen,unterdemdie Projekt-Versionwiederhergestelltwird. SokanneineVersion- d.h. ein Teilbaum- aneinerbeliebigenStellederBaumstrukturwiedereingefügtundverwendetwerden.

gesicherte Projekte,Templates und Assets

1

11 12 13

111 121

12111111

131

1311

xxx Projekt

Template

Asset

Abbildung4.8: SicherungvomProjekt„131”

4.8.4 Datenbankverwaltung

Eine der Zielsetzungender Konzeptionvon EasyContentwar es, eine allgemeineWeb-Programmieroberflächezu schaffen. DasSystemsoll die Programmierungvon komplexen,datenbankgestütztenWeb-Auftrittenunterstützen.AusdiesemGrundekönnendieEntwicklerin ihredynamischenSeitennichtnurdiegenann-ten internenEasyContent-Assetseinbinden,sie habenauchdie Möglichkeit, auf externeDatenbankenzuzugreifen.

Die Administratorenvon EasyContenthabendie Möglichkeit, übereineweb-basierteOber-flächebeliebigerelationaleDatenbanktabellenzu erstellen,bzw. diesezu verwalten. DieseTabellenhabenmit denenin der EasyContent-Systemdatenbanknichtszu tun, sie könnenbeliebigbearbeitet,modifiziert odersogargelöschtwerden. Die Entwickler könnendieseTabellenausihrenTemplateserreichen,ihre Inhaltein einem„web-gerechten”Formatdar-stellen.Die Möglichkeit, eigeneDatenbankenim CMSzudefinierenundzuverwalten,machtEasy-ContentzueinemallgemeinenProgrammierwerkzeug.

Copyright BME, TU Dresden,FialaZoltán 64

Page 66: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Personalisierungin EasyContent

4.9 Personalisierungin EasyContent

In EasyContentwurdenverschiedeneAspektederPersonalisierungkonzipiert.

Inter ne Personalisierung

Die internePersonalisierungbedeutet,daßdie EntwicklerundRedakteureauf einerperso-nalisiertenOberflächearbeiten.Siekönnennur jeneInhaltesehenundbearbeiten,zu denensiewirklich Zuganghaben.Abbildung4.9 zeigtdie web-basierteOberflächedesProjekt-Explorers. Die VerzeichnissekennzeichendieProjekte,dieweiterenZeichnungendieTemplatesunddieAssets.Ein Nut-zerhatim Projekt-Explorer nurzudenProjektenundUnterprojektenZugang,derenMitglieder ist. Eswird auchangezeigt,wennein AssetoderTemplatevon einemanderenBenutzerbearbeitetwird. In diesemFall kanner dengegebenenInhalt natürlichnicht editieren.DerProjekt-Explorer versuchtalso auchGroupware Awarenesszu unterstützen,indem er dieAttributederInhalteauf eineleicht verständlicheWeisedarstellt.

Abbildung4.9: DerProjekt-Explorer

Externe Personalisierung

Die externePersonalisierungin EasyContentbedeutetdie Möglichkeit der ErstellungvonWeb-Seiten,die andie EigenschaftenderBesucherausdemInternetangepaßtsind.

Copyright BME, TU Dresden,FialaZoltán 65

Page 67: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Workflows in EasyContent

Die ErstellungpersonalisierterSeitenist mit demEinsatzvon Templatesmöglich. Die Ent-wickler könnenSkriptefür denServer erstellen,die gegebenfalls Datenbankabfrageniniti-ieren,um personalisierteInhaltezu publizieren.Da EasyContentu.a.auchein allgemeinesProgrammierwerkzeugist, könnendie EasyContent-SeitenbeliebigedynamischeProgram-meaufderServer-Seitelaufenlassen.Um mehrüberdenEinsatzderTemplateszuerfahren,sieheAbschnitt5.3.1.

4.10 Workflows in EasyContent

Wie schonerwähnt,bietetEasyContentgrundsätzlicheMechanismenfür die KoordinationderZusammenarbeitderMitarbeiter. Diesewerdenin diesemAbschnittbeschrieben.

4.10.1 Die Verwaltung mehrfacher Zugriffe

Die Projektein EasyContententhaltenTemplatesundAssets,die gleichzeitigvonmehrerenBenutzernbearbeitetwerden. Es erfolgenparalleleZugriffe auf die gleichenInhalte, so-wohl Lese-alsauchSchreib-Zugriffe. Um die KonsistenzderInhaltesicherzustellen,sollengleichzeitigeSchreibzugriffe aufdie gleichenDatenvermiedenwerden.

Dieswird in EasyContentdurchdieRealisierungvonsog.Check-In- bzw. Check-Out-Mecha-nismenverwirklicht. Wennein Nutzerauf ein TemplateoderAssetzugreifenmöchte,umdieseszubearbeiten,überprüftdasSystem,obdie zubearbeitendeInhaltskomponentenichtan jemandenausgeliehenist. Falls die gewünschteKomponentevon einemanderenNutzerbearbeitetwird, sindweitereZugriffe nicht gestattet.Daswird in dergrafischenBenutzero-berflächedurcheineWarnungangezeigt.Wennder gewünschteInhalt geradefrei ist, kanner bearbeitetwerden. DasSystemleihtihn an denNutzeraus,für andereMitarbeiterwird er gesperrt- eserfolgt ein Check-Out.Nachder Bearbeitungsoll der Nutzerdasbearbeitete„Arbeitsstück” an die Gemeinschaftzurückgeben(Check-In).

4.10.2 Freigabenach dem 4-Augen-Prinzip

Einesder Ziele bei der Konzeptionvon EasyContentwar, die Verwaltungder NutzerundderenZugriffsrechteauf die einzelnenProjekteund Inhalte möglichsteinfach zu halten.Entsprechendsindauchdie Freigabemachanismengestaltet.DasSystemrealisiertdas4-Augen-Prinzip- siehe2.3.1. Dabeiübernimmtdie Rolle desChefredakteursder EasyContent-Administrator. Die GenehmigungeinesneuenTemplatesbzw. Inhalteserfolgt folgendermaßen:

1. Die EasyContent-Entwicklerbzw. RedakteurefertigenTemplatesbzw. Assetsan,diesieperKnopfdruckzurKontrollevorlegenkönnen.

2. Darübererhältder EasyContent-AdministratoreineSystem-Meldung- siehe4.10.3.Er kann sich eineVorschauder erstelltenWeb-Seiteanschauenund danneineEnt-scheidungübereineeventuelleFreischaltungtreffen.

Copyright BME, TU Dresden,FialaZoltán 66

Page 68: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Workflows in EasyContent

3. DerAdministratorkanndie Web-SeiteebenfallsperKnopfdruckfreischaltenoderzurBearbeitungzurückgeben.Die entsprechendenNachrichtenwerdenan denbetroffe-nenEntwicklerbzw. Redakteurgesendet.

Im Systemwird derZustanddesTemplatesmit seinemStatusangegeben.DasModell in derAbbildung 4.10 zeigt die möglichenZustände,bzw. die definiertenÜbergänge. MöglicheZuständesind:

1. OfflineundunterBearbeitung

2. OfflineundzurKontrolle vorgelegt

3. Online undkonsistent(Der Inhalt ist freigeschaltetundwurdeseit der Freischaltungnichtbearbeitet.)

4. Onlineundverändert(Die Web-Seiteist online,im Hintergrundwurdesieaberverän-dert.)

5. Online und zur Kontrolle vorgelegt (Die Web-Seiteist online, wurdeaberverändertundwiederzurKontrollevorgelegt.)

akzeptiert akzeptiertabgelehnt

abgelehnt

bearbeitet

gesperrt

Unter Bearbeitung

Verändert

Konsistent

Zur Kontrolle vorgelegt

Zur Kontrolle vorgelegt

ONLINEOFFLINE

Abbildung4.10:Zustandsänderungenvon Templates

4.10.3 System-Meldungenin EasyContent

Die Kommunikationder Mitarbeiter wird in EasyContentmit systeminternenMeldungenrealisiert.Diesesindasynchrone,textuelleNachrichten,die zwischendenMitarbeiternver-schicktwerdenkönnen.

Die EasyContent-Meldungenfunktionierenähnlichwie E-Mail. SiehabeneinenAbsender,einenbzw. mehrereEmpfänger, einenBetreff, einentextuellenInhalt undein Datum. Auf

Copyright BME, TU Dresden,FialaZoltán 67

Page 69: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Stagingin EasyContent

dergrafischenOberflächegibt eseineinfaches,integriertesWerkzeugfür dieErstellungvonNachrichten,mit dessenHilfe die NutzerbeliebigeInhalteeinanderzusendenkönnen.DieErfassungvon MeldungenanganzeProjektgruppenist auchperKnopfdruckmöglich.

NebendenfreidefiniertenMeldungenzwischenMitarbeiternwerdenauchMeldungenvomSystemgeneriert.Z.B. wennein Administratordie FreischaltungeinesInhaltesgenehmigt,wird eineRückmeldungandenbetroffenenNutzerautomatischgeneriert.EasyContentnütztdie MöglichkeitendesimplementiertenMeldungsystemsalsoweitestgehendaus. Über diepraktischeImplementierungderMeldungenwird im Abschnitt5.3.6geschrieben.

4.11 Stagingin EasyContent

In diesemAbschnittwird die KonzeptionvonStaging in EasyContentbesprochen.

Wie schonerwähnt,erfolgt die Entwicklungin EasyContentin sog.Projektgruppen.Die-sebestehenausEntwicklern und Redakteuren, die für die Erstellungder Skriptebzw. derdigitalenAssetszuständigsind.Die Entwickler und Redakteurearbeitenim geschütztenBereich,d.h. sie habenerstnacheiner entsprechendenAuthentifizierungZugriff auf die Inhalte. Ihre Entwicklungensindzunächstauchnur in diesemgeschütztenBereichsichtbar, erstnacheinerFreigabewerdensieauchim Live-Bereicherscheinen.Um die Entwicklungs-und die Live-Bereichein einemCMSzu trennen,ist esnötig, dieGesamtheitallerDatenzureplizieren.DerTransportderInhaltezwischendenbeidenBerei-chenist die AufgabederAdministration.

In denmeistenkommerziellenLösungenwerdenzweiWeb-Serververwendet,dieaufihreei-genenDatenbeständezugreifen.DerEntwicklungs-Serverbefindetsichim IntranetderNut-zer, derLive-Serverdagegenim Internet- sieheAbbildung4.11aufSeite69. DerAustauschderDatenerfolgt meistensüberHTTP oderFTP undsetztdie Implementierungsehrkom-plexerTransaktionsvorgängevoraus.DiesesVerfahrenhabenwir z.B.bei V-CMSgenützt.Im Kapitel 3 wurdenauchSystemebehandelt- z.B. OpenCMS-, die Staging viel einfacherimplementieren.Bei diesenwird dasCMSvon einemWeb-Server bedient,sowohl die in-ternenalsauchdie externenDatenbefindensichin einereinzigenSystemdatenbankbzw. ineinemeinzigenDateisystem.DieZugriffeausdemEntwicklungs-bzw. Live-Bereichwerdenvoneiner„Programmierlogik”gesteuert- sieheAbbildung4.12aufSeite69. DieseMethodeist ausderSichtderImplementierungwesentlicheinfacher, eshataberauchNachteile:

� Die DatenbeständedesEntwicklungs-bzw. desLive-Serverssind physikalischnichtsepariert.Die zentraleVerwaltungderDatenmachtdasSystemstörungsanfälliger

� Da auf den Web-Server auchalle ausdem Internetzugreifenkönnen,sind für denSchutzderinnerenDatenstrengeMaßnahmennötig.

In EasyContentwird einedritte Alternativeverwirklicht, die die VorteiledergenanntenLö-sungenkombiniertundin derAbbildung4.13aufSeite70dargestelltwird.

Copyright BME, TU Dresden,FialaZoltán 68

Page 70: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Stagingin EasyContent

DB FILES

Web−Server I Web−Server II

FILESDB

Entwicklungs−Bereich Live−Bereich

FTP

HTTP

Transaktion

Abbildung4.11:Stagingmit Replikation

FILESDB

Staging Logic

Web-Server

InternetEntwickler

Abbildung4.12:Stagingmit einemWeb-Server

EasyContentverwendetzwei separateWeb-Server. Dieselaufenauf einemeinzigenRech-ner, wobei der Entwicklungs-Server auf einemfür die Außenweltnicht zugänglichenPortarbeitet.Die Server greifenauf dynamischeSeitenzu, die in ihreneigenenDatenverzeich-nissenabgelegt sind,d.h.esgibt vonallenTemplateszweiexistierendeExemplare.Die gemeinsameSystemdatenbankverwaltet alle Inhalte und die mit ihnen verbundenenMeta-Daten.Die ursprünglichenExemplarederauf denbeidenServernbefindlichenTem-platesundAssetssindhier gespeichert.DieseImplementierungvonStaginghatgewisseVorteile:

� Die beidenArbeitsumgebungenkönnendurchdenEinsatzzweierServer auchphy-sikalischvollständiggetrenntwerden. Die Konfigurationder Zugriffsrechteauf dieServerkannausdemCMSgesteuertwerden.

� Die gemeinsameSystemdatenbankermöglicht,daßalle Datenzentralverwaltetwer-denkönnen.Der eventuelleAusfall derDatenbankblockiertzwar dasganzeSystem,die VerwaltungundderTransportderDatenist abereinfachhandzuhaben.

Copyright BME, TU Dresden,FialaZoltán 69

Page 71: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Cachingin EasyContent

� Die Möglichkeit, die beidenServer auf einemRechnerzu installieren,bietetsich fürkleinereSitesan.

DB

Staging Logic FILESFILES

Web-Server IIWeb-Server I

Abbildung4.13:Stagingin EasyContent

4.12 Caching in EasyContent

EinesderwichtigestenKennzeicheneinesWCMSist Caching, d.h.die vorübergehendesta-tischeSpeicherunggewisserInhalte- siehe2.2.8. Dies ist nötig, um die BelastungderDa-tenbankzu reduzieren.Bei derKonzeptioneinesCaching-SystemssindfolgendeFragenzuklären:

" WelcheInhaltesollen„gecacht”werden?

" Wie werden„gecachte”Inhaltegespeichert?

" Wie langesind„gecachte”Inhaltegültig?

Die wichtigsteFragevon Cachingist, welcheInhalte„gecacht”werdensollen. Es dürfennämlichtheoretischnur jeneSeiten„gecacht”werden,derenInhaltenochaktuellsind. Ein„ideales”WCMSsolltedie Seitenalsonur solangestatischspeichern,bis sieverändertundwiedergeneriertwerdensollen.

Ein interessanterAnsatzfür dieAutomatisierungvonCachingwurdeim Abschnitt2.3.4mitiWebDBdargestellt.Hier werdendieWeb-Seitenerstdannaktualisiert,wenndiehinterihnenstehendenDatenbanktabellenmodifiziertwerden.DieserMechanismusberuhtauf derVer-wendungvon Datenbank-Triggers undbenötigtdeshalbspezielleDatenbanken. Außerdemist seinEinsatzin vielenpraktischenFällenkompliziert:

" Bei einerhohenAnzahl von dynamischen,datenbankgestütztenSeitenist esschwerzu wissen,welcheSeitenvon welchenDatenbanktabellenabhängigsind. Mit derZu-nahmeder Zahl der Seitenund der Datenbanktabellenwird die Administrationsehraufwendig.

Copyright BME, TU Dresden,FialaZoltán 70

Page 72: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung

" DynamischeSeitenberuhenin praktischenFällennichtnuraufDatenbanken,sondernauf Inhaltenim Dateisystembzw. auf anderenWeb-Servern im Intra- bzw. Intranet.Esist fastunmöglich,die VeränderungdieserQuellenautomatischnachvollziehenzukönnen.

In den meistenheuteverwendetenCM-Systemenmüssendie Entwickler entscheiden,obeineSeite„gecacht”werdensoll. Diesgilt auchfür EasyContent.

Template

BrowserCACHE

CONTENT Template

Processor

DB

Abbildung4.14:Cachingin EasyContent

Die EasyContent-Templateskönnenmit demAttribut „gecacht”versehenwerden.Die aufdynamischenTemplatesbasierendenWeb-Seitenwerdendannfolgendermaßenerstellt:

" Bei demerstenZugriff auf die Seitewird diesewie üblich vom TemplateProcessorgeneriert.Gleichzeitigwird die fertigeSeitesofortstatischim WCMSgespeichert.

" Bei den folgendenZugriffen auf die Seitewird der TemplateProcessornicht mehraufgerufen.Die zuvor zusammengebaute,statischeSeitewird sofortandenBrowserzurückgeschickt.

" NachdemdiestatischeSeiteihreAktualitätverliert,kanndiesevomAdministratorneugeneriert- regeneriert- werden.Dabeiwird derTemplateProcessorerneutaufgerufenundderstatischeSpeicher- sieheAbbildung4.14- mit neuemInhalt geladen.

Die Regenerierungeiner„gecachten”Seiteist alsodie AufgabedesAdmnistrators.DieseAufgabekannin EasyContentsowohl manuellalsauchautomatischerfolgen.Der Admini-stratorhatdie Möglichkeit, die TerminederAktualisierungendesCachefestzulegen,wobeier sowohl periodischeals auchaperiodischeFolgenvon Zeitpunktendefinierenkann. (Erkannz.B. festlegen,daßdie Seitemit denaktuellenLotto-ZahlenjedeWocheamSamstagAbendneugeneriertwerdensoll.)

4.13 Zusammenfassung

In diesemAbschnitt wurdendie wichtigstenin EasyContentrealisiertenKonzeptedarge-stellt. Nun wird esdarumgehen,wie diesein einerpreiswertenUmgebung in die Praxisumgesetztwerdenkönnen.

Copyright BME, TU Dresden,FialaZoltán 71

Page 73: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 5

Implementation

Im Kapitel4 wurdendiegrundsätzlichnKonzeptevonEasyContentdargelegt. Hier wird be-schrieben,wiedieeinzelnenCM-Funktionenin dergewähltenpreiswertenSoftware-Umgebungrealisiertwurden.

5.1 Beschränkungengegenüberder Konzeption

EswurdeeinPrototyp vonEasyContentimplementiert.SeineRealisierungerfolgtein jederHinsicht anhandder entworfenenKonzepte,esgibt dennocheinigeIdeen,die im jetztigenPrototypennoch nicht umgesetztwurden. Es ist jedochzu betonen,daßdasentstandeneWerkzeugallewichtigenCM-Funktionenverwirklicht,aufwelchebeiderKonzeptiongroßerWertgelegt wurde.Die VereinfachungengegenüberdenKonzeptensindfolgende:

" Im Abschnitt 4.7.1 wurdebeschrieben,daßin EasyContentEntwickler, RedakteureundAdministratoren tätig sind. Im Prototypenwurdendie beidenRollenEntwicklerundRedakteuralseinezusammengesetzteRolle realisiert,diesowohl aufdieTempla-tesalsauchaufdie AssetsZugriff haben.

" Im Abschnitt4.6wurdeerwähnt,daßdie EasyContent-ProjektebeliebigedigitaleAs-setsenthaltenkönnen.DiesesKonzeptwurdeauchnur beschränktrealisiert. Im Ea-syContent-Prototypenwurdenur die Verwaltungvon textuellenbzw. Bild-Assetsver-wirklicht.

5.2 Die Softwareumgebung desPrototypen

Im Abschnitt4.3 wurdentechnologischeEntscheidungenderKonzeptionvon EasyContentbeschrieben.Nun wird die Software-UmgebungdesverwirklichtenPrototypenspezifiziert.DerPrototypbasiertausschließlich aufkostenlosenSoftware-Komponenten.

Die BasisdesSystemsist dasBetriebssystemLinux. Bei der Implementationwurde dieVersion #�$ % vonRedHatLinux - siehe[Red00],[KD00] - gewählt,dochdasSystemfunktio-

72

Page 74: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die SoftwareumgebungdesPrototypen

niert auchmit anderenLinux-Distributionen.Auf eineeventuellePortierungnachMicrosoftWindowswird späterim Kapitel 5.5eingegangen.DerverwendeteWeb-Server ist Apache &$('�$�&�) . Dieserist deraktuellammeistenverwendeteHTTP-Server. Die Umstellungauf andereWeb-Server ist in dieserVersionnicht gestattet,weil dasrealisierteSystemviele innereDiensteund Eigenschaftenvon Apache nützt. DaApache auf denmeistenPlattformen– Linux, Unix, SunSolaris,Windows,etc. – frei zurVerfügungsteht,ist seineAnwendungeinesinnvolle Wahl.Die interneDatenbankvon EasyContentist MySQL- siehe[YRK99]. Auf demPrototypen-systemläuft die Version '�$*)�' .Der Kern desSystemsist die SkriptsprachePHP4 ([Kra00]). Die Programmeverwendenviele PHP4-spezifischeFunktionenund könnendeshalbmit einemaltenPHP3-Interpreternichtgenutztwerden.Als Text-Editor für die ErstellungdesQuellcodesund der Dokumentationwurde Emacs[Cam99]verwendet.Die Abbildungenwurdenxfig undgimp [Neu00] gezeichnet.Die Di-plomarbeitwurdein LATEX [FCG98]geschrieben.

5.2.1 Systemanforderungen- Server

Hier werdendie Software-Werkzeugegenannt,die auf demEasyContent-Server installiertundkonfiguriertwerdensollen.

" ApacheWebServer

" SkriptsprachePHP4

" DasProgrammwget zumDownloadkompletterDatenbäume

" MySQL - Datenbankserver

Die Installationunddie KonfigurationdieserWerkzeugeist denentsprechendenDokumen-tationenzuentnehmen.

5.2.2 Systemanforderungen- Client

Als Klientanwendungfür EasyContentsindalleBrowsereinsetzbar, die" einegraphischeOberflächebieten

" Datei-Uploadsunterstützen

" JavaScript1.1verstehen

Die meistenheuteverwendetenWeb-BrowsererfüllendieseKriterien. Bei derImplementie-rungwurdenfolgendeBrowsergetestet:

" NetscapeNavigatorabVersion+�$ %" MicrosoftInternetExplorer abVersion+�$(%" Konqueror WebBrowser &$ ,�$ -

Copyright BME, TU Dresden,FialaZoltán 73

Page 75: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

5.3 Die Realisationder CMS - Funktionen

In diesemAbschnittwird ausführlicherklärt, wie die einzelnenCMS-Funktionenin Easy-Contentrealisiertwurden. Es wird auf die Verwendungund die Konfigurationder ange-wandten„low-cost”Software-Elementeeingegangen.

5.3.1 Trennungvon Inhalt und Layout mit PHP4

Die TrennungvonInhaltundLayout- sieheAbschnitt2.2- erfolgt in EasyContentmit Tem-plates. Diesesind Layout-Vorgaben,die die Generierungder Seitenanhandder aktuellenWeb-Inhaltesteuern.Die Templateswerdenim EasyContent-Prototypenmit derSkriptspra-che PHP4 erstellt, d.h. der TemplateProcessorentsprichtim Grundegenommendem imSysteminstalliertenPHP-Interpreter.UnterLinuxkannPHP4entwederalsCGI-ProgrammoderalsApache-Modul installiertwer-den.Im Prototypengehtesumdie KonfigurationalsApache-Modul.

Die GenerierungeinerdynamischenWeb-Seitemit demEinsatzvon PHP4 erfolgt - sieheAbbildung5.1- auf folgendeWeise:

1. DerBrowserruft einePHP-Seiteab

2. Der Web-Server ruft deninstalliertenPHP-Interpreterauf, derdenPHP-Codeverar-beitet.DerPHP-Interpreterstellt dieSeiteanhandeventuellerDatenbankeinträgeundandereraktuellenInhaltedynamischzusammen.

3. DerWeb-Server schicktdie AusgabedesPHP-InterpreterszumBrowserzurück

Web-Server PHP-Interpreter

Web-Browser

1.2.a.

2.b.

3.

Abbildung5.1: AusführungeinesPHP-Programms

DasfolgendeProgramm-Beispielzeigtein PHP4-Template,dasdie InhaltederDatenbank-tabelleTestTabelle ausder MySQL-DatenbankTestDBauf eine Web-Seiteschreibt. (DieZeilen,die mit demZeichen. beginnen,sindKommentare.)

<HTML>

<BODY>

Copyright BME, TU Dresden,FialaZoltán 74

Page 76: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

<?

#es wird eine Verbindung zum MySQL-Server aufgebaut

$conn=mysql_pconnect("my_server","my_login","my_password");

#es wird eine Datenbank ausgewaehlt

$db=mysql_select_db("TestDB",$conn);

#Datensaetze werden gelesen

$sql="select * from TestTabelle";

$result=mysql_query($sql,$conn);

#Datensaetze werden verarbeitet

while($row=mysql_fetch_array())

{

echo $row["feld1"] . "&nbsp;" . $row["feld2"] . "<BR>";

}

?>

</BODY>

</HTML>

NebenderFunktionalitätvonPHP4stehendenEntwicklernaucheinigeEasyContent-spezifischeFunktionenzurVerfügung.Diesesind:

" Die Funktion /1032�46587 dient zur Erstellungvon Hyperlinks zwischenden Templates.DiesehatdreiParameter:denlogischeNamendesZieltemplates,denText desHyper-links und die übergebenenParameter. Sie kannfolgendermaßenverwendetwerden:/9032�4:5<; ;>=�?A@ 4CB6@EDGF34IHB6@$ @ =�; ;KJL; ;9MNHODP@Q; ;<JL; ;RF3HO2�HODS&UTWV�HX4<0Y@&Q; ;�7 .

" Die beidenFunktionen?8M[Z @E2\BRB6@Q]^B_587 bzw. ?8M[Z @E2\B<F�?A/�5K7 dienendazu,textuelle Assetsbzw. Bilder in eineWeb-Seiteeinzufügen.DerCode?KM[Z @E2�BRB6@Q]^B_5I; ;`F�2�a9bX@�cdB1&feSB6@Q]^B1&Q; ;g7in einemTemplatebewirkt, daßderInhalt destextuellenAssetsF^2�a_bX@�cdB1&heiB6@Q]^B1& aufdie zuerstellendeWeb-Seitegeschriebenwird.

5.3.2 LogischeAdr essierungder Templates

Wie schonim Abschnitt4.6 erwähnt,werdendie Projekte,die Assetsunddie TemplatesinEasyContentin einerBaumstrukturverwaltet. Theoretischkönnenbeliebigviele Projekteund Unterprojekteerstelltwerden,esgibt keineBeschränkungenbezüglichder Tiefe undderGrößedesProjektenbaumes.Die einzelnenInhaltewerdenmit ihrenNamenadressiert,dieseNamenrepräsentierendenjeweiligenPfadin derBaumstruktur. Soist z.B.derlogischeName des TemplatesMyTemplatein dem Top-Level-ProjektMyProject /MyProject-MyTemplate.ez. (Die Endung.ez bedeutet,daßesumeinEasyContent-Templategeht,die NamenderAssetshabenkeinesolchenEndungen.)

Copyright BME, TU Dresden,FialaZoltán 75

Page 77: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Die physikalischeSpeicherungder Inhalte auf dem Web-Server erfolgt „flach”. Sowohldie aktuellenTemplatesund Assetsals auchihre Versionenbefindensich in der MySQL-Datenbank,wo siemit ihrennumerischenTemplate-IDs- Template-Identifikatoren- eindeu-tig adressiertwerdenkönnen.Desweiterenwerdendie jeweilsaktuellenVersionenderTemplatesauchin einemVerzeich-nis - /temppool - desDateisystemsabgelegt, weil der Apache-Webserver grundsätzlichnur auf Dateienim Verzeichnissystemzugreifenkann. DiesesVerzeichnisentsprichtdemsog.Temppool, dasim Abschnitt4.5definiertwurde.Die Speicherungder Templatesin demVerzeichnis/temppool hat eineflacheStruktur.DasTemplatemit demnumerischenIdentifikatorxxx wird hierunterdemNamen/temp-pool/xxx.php abgelegt. Unabhängigdavon,wie kompliziertdie logischeBaumstrukturderTemplateswird, bleibt ihre physikalischeSpeicherungdennochflachundrechteinfach.

AufgabedesEasyContent-Prototypenist die Abbildung der logischenNamender Inhalteauf die entsprechendenphysikalischenAdressen.Dieswird hier amBeispielderTemplateserklärt.DasCMSsoll dievomBrowsererhaltenelogischeAdresseverarbeitenunddiedazugehörigeDateiausdemVerzeichnis/temppool heraussuchen.DieseDateiwird aufderServerseitevom PHP-Parser verarbeitetund an denBrowserzurückgeschickt.Abbildung 5.2 veran-schaulichtdiesenVorgang.

logischeAdresse

AdressephysikalischeAbbildung auf

Template Processor

1.

2. 3.

Seite wirdgeneriert

4.

generierte Seite

5.

Template Pool

URL-Prozessor

Datenbank

Web-Browser

Abbildung5.2: AbbildungderlogischenNamenaufdie physikalischenAdressen

Die einzelnenSchrittein derAbbildunghabenfolgendeBedeutung:

1. DerBrowserwendetsichmit einerlogischenAdresse,alsoderURLandasCMS

2. Der URL-Processorkommuniziertmit derSystem-Datenbankundbestimmtdie phy-sikalischeAdressedesTemplates

3. Die physikalischeAdressedesTemplateswird demTemplateProcessorübergeben.

Copyright BME, TU Dresden,FialaZoltán 76

Page 78: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

4. DerPHP-Parsernimmt dasTemplateausdemTemplatePool undinterpretiertes

5. Die generierteHTML-Seitewird schließlichandenBrowserzurückgesandt

Um dieseAbbildungzwischenlogischenundphysikalischenAdressenzuermöglichen,bie-tet derApache-WebservermehrereMöglichkeiten.

LogischeNamenabbildung mit dem Modul mod_rewrite

DasModul mod_rewrite desApache-Webserversist ein komplexesWerkzeugfür die Bear-beitungderURLs „on-the-fly”. Esimplementierteineauf regulärenAusdrückenbasierendeRewrite Engine. Mit derHilfe desModuls lassensichdie URLs umschreiben(rewrite) undaufdie physikalischeSichtdesDateisystemsabbilden.Die genaueFunktionsweisedesModulsist in derApache-Referenz[Fou00]oderin [Bow00]ausführlichbesprochen,hier wird nur einpraktischesBeispielgenannt.Nehmenwir an,daßwir alle URLs mit derEndung.ez auf die Templatesin EasyContentabbildenwollen. Die folgendenEinträgein der Konfigurationsdateivon Apache ermögli-chen,daßalle solchenURLs als Eingabe-Parameteran dasPHP4-SkriptprogrammTem-plateProcessor.php weitergegebenwerden.DasProgrammkannanhandderEinga-bedenentsprechendenEintragausderDatenbankholen,denPHP4-Interpreteraufrufen,dieSeitegenerierenunddasErgebnisandenBrowserzurücksenden.

RewriteEngine On

RewriteBase /ez_content/

RewriteRule ^(.+\.ez)/$ /TemplateProcessor.php

LogischeNamenabbildung mit dem Modul mod_mime

Eineweitere,ebenfalls fundierteMethodefür dieAbbildunglogischerNamenist derEinsatzdesModulsmod_mime. Im PrototypenvonEasyContentwird dieseMethodeimplementiert.MIME stehtfür Multipur poseInter net Mail Extensions. Es ist ein MechanismuszumTransportvon Dateienmit verschiedenenDateitypenim Internet. Die zu übertragendenDokumentehabeneinenMIME-Typ, der sowohl beim Senderals auchbeim Empfängerbekanntist. Die beidenkommunizierendenSeitenkönnenmit der Hilfe vom MIME-TypeinesDokumentesherausfinden,wie diesesverarbeitetwerdensoll.Mit demModul mod_mimedesApache-Servers ist esmöglich, neueMIME-Typeneinzu-richtenbzw. Aktionen,diebeimAbruf einesDokumentesmit einembestimmtenMIME-Typausgeführtwerdensollen,zudefinieren.In unseremBeispiel wollen wir die URLs mit der Endung.ez verarbeiten.Aus diesemGrundefügenwir derApache-Konfigurationsdateihttpd.conf folgendeZeilenhinzu:

AddType application/x-ez_content .ez

Action application/x-ez_content /ez_content/TemplateProcessor.php

Copyright BME, TU Dresden,FialaZoltán 77

Page 79: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Die Direktive AddType bewirkt, daßder Apache-Webserver die Dateienmit der Endung.ez zumMIME-Typ application/x-ez_contentzuordnet.WennalsoderBrowserein Doku-mentmit derEndung.ez abruft,soweißderServer, daßessichumeinDokumentmit demTyp application/x-ez_contenthandelt.DerBefehlAction in derzweitenZeilebestimmtnun,wasderServermit einemDokumentmit demMIME-Typ application/x-ez_contentmachensoll. Alle ZugriffeaufDokumentevondiesemTyp werdenandasSkriptprogrammTemplateProcessor.php weitergeleitet.Im Endeffekt wird beimAbruf einerSeitemit derEndung.ez dasSkriptprogrammTem-plateProcessor gestartet.EsbekommtvomApache-Webserveru.a.diefolgendenwich-tigenParameter:

$PATH_INFO DieseVariableenthältdenursprünglichenlogischenNamen,dervomBrow-serabgerufenwurde.

$PATH_TRANSLATED DieseVariablezeigtauf die physikalischeAdresse,die vom Ser-ver tatsächlichaufgerufenwird.

WennalsobeiderobenbeschriebenenKonfigurationderBrowserdieSeite/MyProjekt-Foo.ez abruft,sohatdie Variable$PATH_INFO denWert/MyProjekt-Foo.ez, unddie Variable$PATH_TRANSLATED denWertTemplateProcessor.php. Dasaufge-rufeneSkriptprogrammkannanhanddieserInfomationendasentsprechendeTemplateausderMySQL-Datenbankheraussuchenunddie Seitegenerieren.

5.3.3 Versionierungmit MySQL

Im Abschnitt4.8.3wurdedasKonzeptderVersionierungderInhaltein EasyContentvorge-stellt. Nunwird dieVerwirklichungdieserIdeendiskutiert.

DieSpeicherungderVersionenerfolgtim EasyContent-Prototypenin derMySQL-Datenbank.Hier werdenalle relevantenInformationenüberdie archivierten(Unter-)ProjekteundTem-platesabgelegt.Die Versionenvon ganzenProjektensindaucheinzelneBäume,d.h.essollenganzeBaum-strukturenin denDatenbanktabellendargestelltwerden.Aus diesemGrundewerdenin derSystemdatenbanku.a.die folgendenTabellenverwendet- sieheAbbildung5.3aufSeite79.

" Die DatenbanktabelleEZ_PROJ_VERSION verwaltet InformationenüberdasganzeversionierteUnterprojekt,wie z.B.Erstellungsdatum,kurzeBemerkungdesErstellersetc.

" Ein versioniertes(Unter)Projektbestehtauseiner hierarchischenStruktur von Pro-jekten,die in der TabelleEZ_PPROJ_VERSION beschriebenwerden. Da Projektebeliebig tief ineinandergeschachteltwerdenkönnen,sind die einzelnenEinträgeinderTabellemiteinanderrekursiv verknüpft.

" JedesProjekt enthälteine Vielzahl von Assetsund Templates,die in den TabellenEZ_TEMP_VERSION,EZ_TEXT_VERSION,EZ_BIN_VERSION beschriebenwer-den.

Copyright BME, TU Dresden,FialaZoltán 78

Page 80: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

EZ_PROJ_VERSION

EZ_BIN_VERSION

EZ_TEXT_VERSION

EZ_TEMP_VERSION

EZ_PPROJ_VERSION

ID=PVERS_ID

ID=PROJID

ID=PARENT_ID

Abbildung5.3: SpeicherungderVersionen

Bei derSpeicherungeines(Unter)ProjektesmußEasyContentalleunterdemgegebenenPro-jekt befindlichenUnterprojekte,TemplatesundAssetsrekursiv suchenundarchivieren.Dadie einzelnenEinträgeauchuntereinanderverknüpft sind, ist die Reihenfolgeihrer Spei-cherungsehrwichtig. Ein bestimmtesUnterprojektdarf natürlichnicht archiviert werden,solangesein „Vater” (Ancestor)noch nicht versioniertwurde, d.h. der Algorithmus mußsystematischvorgehen.Der Versionen-Manager besuchtdie zu archivierendenAssetsundTemplatesnachdersog.BreadthFirst Search Strategie, oderBreitensuche. Bei derBreitensuchewird von vornher-ein die Grundstrategie eingesetzt,zunächstalle nächstenKnoteneinesKnotenzu besuchenund dannerst in die Tiefe zu gehen- sieheAbbildung 5.4. Eine genauereErklärungdesAlgorithmusbefindetsichz.B. in [RIS98].

1

2 3

4 5 6 7

8

Abbildung5.4: Breitensuche- BreadthFirst Search

5.3.4 Datenbankverwaltung mit phpMyAdmin

Im Abschnitt4.8.4wurdevorgestellt,daßdieEntwickler in EasyContentdieMöglichkeit ha-ben,ausihrenTemplatesaufeigenerelationaleDatenbankenzuzugreifen.Dadurchwird dieProgrammierungdatenbankgestützter, dynamischerWeb-Seitenweitestgehendunterstützt.

Copyright BME, TU Dresden,FialaZoltán 79

Page 81: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Die Erstellungunddie ManipulierungdieserDatenbankenist die VerantwortungdesAdmi-nistrators, derdieseAufgabeaufeinerweb-basiertenOberflächedurchführt.

Im Prototypenvon EasyContentwird die Verwaltungder Datenbanken mit der Integrationvon phpMyAdminverwirklicht. phpMyAdminist einein PHP implementierteweb-basierteOberflächefür die Bearbeitungvon MySQL-Datenbanken, die von TobiasRatschiller ent-wickelt wurdeundfrei zurVerfügungsteht.Durch eine entsprechendeKonfigurationist phpMyAdminin EasyContentintegriert. DieAdministratorenkönnenphpMyAdminausderweb-basiertenAdminoberflächeaufrufenundsodieDatenbankenmanipulieren.

Die Anwendungvon phpMyAdminist wiederein gutesBeispieldafür, wie einfachundele-gantmanausOpen-Sorce-BauelementenkomplizierteSystemezusammenbauenkann. DieausführlicheErklärungderFunktionenvon phpMyAdminist hier nicht beabsichtigt,für dieDokumentationsiehe[Rat00],[RG00].

5.3.5 Personalisierungmit htaccess

htaccessist eineingebauterDienstdesApache-Webserversfür diePersonalisierungvonNut-zern. Mit der Hilfe von htaccessist esmöglich, bestimmteBereicheder Web-SitedurchAuthentifizierungzu schützen.Dasbedeutet,daßdie Nutzersich mit ihren Login-NamenundKennwortenanmeldensollen,um Zugangzu denSeitenim geschütztenVerzeichniszuerhalten.NacheinererfolgreichenAnmeldungwerdensiewährendihrer ganzenSitzung-Session- mit derUmgebungsvariablen$REMOTE_USER identifiziert.

In diesemAbschnittwird zunächstaufdieArbeitsweisevonhtaccessim allgemeineneinge-gangen.Nehmenwir an, daßwir dasvirtuelle Verzeichnismycontent durch Authentifizierungschützenwollen. Somüssenwir zunächstin die Konfigurationsdateihttpd.conf folgen-deZeileneintragen.

Alias /mycontent/ "/var/www/html/mycontent/"

<Directory "/var/www/html/mycontent">

AllowOverride AuthConfig FileInfo

</Directory>

Dadurchwird dasvirtuelle Verzeichniserstelltund die Verwendungvon htaccessim Ver-zeichnisgenehmigt.Als folgenderSchrittmußim Dateiverzeichnis/var/www/html/mycontenteineDateinamens.htaccess mit folgendemInhalt angelegt werden:

AuthName "Authorization for MyContent"

AuthType Basic

AuthUserFile /usr/local/passwd/.htpasswd

require valid-user

Der EintragAuthName bestimmtnur die Aufschrift desLogin-Fensters,dasbei der Au-thentifizierungerscheint.AuthType bedeutet,daßeineeinfacheAuthentifizierungim sog.

Copyright BME, TU Dresden,FialaZoltán 80

Page 82: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Basic-Modeerfolgt. Der EintragAuthUserFile zeigt auf die Datei, in der die Login-Namenmit denentsprechendenKennwortenabgelegt sind. require valid-user be-deutet,daßzum geschütztenBereichnur jeneNutzerZuganghaben,die sich erfolgreichanmeldenkönnen.Nun müssennur nochdie entsprechendenLogin-Kennwort-Paarein die Datei.htpasswdim Verzeichnis/usr/local/passwd/ eingetragenwerden. DazuverwendetmandasKommandozeilenprogrammhtpasswd, dasein Teil allerApache-Distributionenist.

>htpasswd /usr/local/passwd/.htpasswd username

>New password:

>Re-type new password:

DiesesKommandobewirkt, daszur Datei.htpasswd derLogin-NameusernameunddasentsprechendekodierteKennwort hinzugefügtwerden.

In EasyContentwerdendieNutzermit htaccessauthentifiziert.Außerdemwerdenin derDa-tenbanktabelleEZ_USER - siehe5.4- diewichtigstenInformationenbezüglichdereinzelnenNutzergespeichert.Bei derAnmeldungeinesNutzerswird auf derServer-Seitedie Variable$REMOTE_USERgesetzt.In derTabelleEZ_USER entsprichtderWertdieserVariablendemFeldlogin. WennderAdministratoreinenneuenNutzerhinzufügt,wird automatischsowohl einneuerEintragin derTabelleez_useralsaucheinerin derDatei.htpasswd erzeugt.Sowird ein zweistufigerMechanismusfür die ZugangskontrollederNutzerimplementiert-sieheAbbildung5.5aufSeite82.

1. Die Nutzer, die in EasyContentarbeitenwollen, müssensichzunächstüberhtaccessauthentifizieren.Nach einer erfolgreichenAnmeldungsetztder Apache-Server dieVariable$REMOTE_USER.

2. Ist dieVariable$REMOTE_USER gesetzt,sokannEasyContentdiegenauenZugangs-rechtedesNutzerszudenSystem-RessourcenanhandderDatenbanktabelleEZ_USERermitteln. DasSystembestimmtdennumerischenIdentifikatordesNutzerundspei-chertihn in derSessionvariablenwho_am_i.

5.3.6 Implementierung der Workflowmechanismen

Check-In und Check-Out

UmmehrfacheZugriffezuunterstützen,werdendieInhaltein EasyContentmit Meta-Attributenversehen,die ebenfalls in derSystemdatenbankverwaltetwerden.Diesesind:

" JedesTemplate,Text- bzw. Bild-Assetwird mit demboolschenAttribut LOCKED be-schrieben.Diesesgibt an,obderInhaltvonjemandembearbeitetwird odernicht. (DieTemplates,text- bzw. Bild-Assetswerdenin denMySQL-TabellenEZ_TEMPLATE,EZ_TEXTASSET undEZ_BINASSET gespeichert,siehe5.4)

Copyright BME, TU Dresden,FialaZoltán 81

Page 83: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Primäre Zugangskontrollemittels htaccess

Interne Zugangskontrolleanhand Datenbankeinträge

InterneDatenbank

Abbildung5.5: ZweistufigeZugangskontrollein EasyContent

" Wennder Inhalt an jemandenausgeliehenist, sowird dasAttribut LOCKING_USERgesetztundzeigtdennumerischenIdentifikatordesBearbeitersan.

Die grafischeOberflächedesProjektexplorerswird für jedenNutzerdynamischgeneriert.AnhandderAttributewerdendieeinzelnenTemplatesundAssetsunterschiedlichangezeigt.Es werdenz.B. verschiedeneSchriftarten,Ikone und Farbenverwendet,um dasAttributeinesInhaltesgrafischdarzustellen.

Die Realisierungdes4-Augen-Prinzips

Die Implementierungdes4-Augen-Prinzipserfolgtebenfallsmit Meta-Daten. JedesTempla-tewird mit einemnumerischenStatusversehen,derin derDatenbanktabelleEZ_TEMPLATEunterdemNamenSTATUS gespeichertwird. DiesesFeldkanndie folgendenWertehaben-vgl. 4.10.2:

" % : offline undunterBearbeitung

" & : offline undzurKontrollevorgelegt

" ) : onlineundkonsistent

" ' : onlineundverändert

" + : online,verändertundzurKontrollevorgelegt

Benachrichtigungen

In demEasyContent-Prototypenwurdeein interner, asynchronerBenachrichtigungsmecha-nismusfür denInformationsaustauschzwischendenMitarbeiternverwirklicht.

Die Nachrichtenwerdenin der MySQL-DatenbanktabelleEZ_MESSAGE abgelegt. DieseTabellehatdie folgendenFelder:

" ID: EindeutigernumerischerIdentifikatorderMeldung

Copyright BME, TU Dresden,FialaZoltán 82

Page 84: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

" VON: ID desAbsenders

" AN: ID desEmpfängers

" BETREFF: Betreff derMeldung

" GELESEN: DiesesAttribut zeigtan,ob die Meldungschongelesenist

" WANN: DatumundUhrzeitderVersendungderMeldung

" TEXT: DerText derMeldung

DasSendenundEmpfangenvonMeldungenwird vollständigvonderinternenProgrammier-logik gesteuert:

1. Die ErstellungeinerMeldungbedeutet,daßeinneuerEintragin derDatenbanktabelleEZ_MESSAGE erzeugtwird

2. Die web-basierteOberflächezeigtdie neuenMeldungenfür die einzelnenNutzeran

3. NachdemLeseneinerMeldungwird dasAttributGELESEN desentsprechendenEin-tragesauf % gesetzt.

4. BeimLöscheneineraltenMeldungwird derentsprechendeEintragausderDatenbankentfernt.

Die datenbankgestützteImplementierungderMeldungenhatgegenüberderAnwendungex-ternerE-Mail-LösungeneinigeVorteile:

" Die InstallationexternerMail-Systemeist nichterforderlich.

" Da alle Meldungenin einer einzelnenDatenbankabgelegt werden,kann dasganzeBenachrichtigungssystemzentralverwaltenwerden.

" Die Erstellungvon Mailing-Lists ist einfach.

" Die Versendungvon systeminternenNachrichtenist durch entsprechendeProgram-mierungmöglich.

5.3.7 Stagingmit Apache

Im Abschnitt4.11wurdedasKonzeptvonStaging in EasyContentschonvorgestellt.In demPrototypenwurdeStaging folgendermaßenimplementiert:Der Entwicklungs-und der Live Web-Server befindensich auf demgleichenRechner. ImGrundegenommenlaufenim Systemzwei Exemplarevon Apache, daseineauf demPort80,dasandereaufdemPort -%,�& .Der Live Web-Server verwendetdie Standard-Portnummer-% . Der Zugriff auf die Doku-menteaufdiesemServer ist sofür dasganzeInternetgestattet.

Copyright BME, TU Dresden,FialaZoltán 83

Page 85: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

Die PortnummerdesEntwicklungs-Servers ist -%,�& . Der Zugriff auf die Seitenauf die-semist erstnacheinerentsprechendenAuthentifizierungmit htaccesserlaubt. Außerdemist esmit einerentsprechendenKonfigurationdesNetzwerkesmöglich,Dienstemit dieserPortnummernur für daslokaleLAN erreichbarzumachen.

DieKonfigurationderPortnummererfolgtin denApache-Konfigurationsdateienhttpd.confundhttpd2.conf:

Port 80 #Eintrag in der Datei httpd.conf

Port 8091 #Eintrag in der Datei httpd2.conf

BeimStartenvonEasyContentwerdenzweiExamplarevonApachemit verschiedenenKon-figurationsdateiengestartet.Im Prototypenerfolgt dasmit der Ausführungder folgendenBefehle:

$/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf

$/usr/sbin/httpd -f /etc/httpd/conf/httpd2.conf

5.3.8 Cachingmit wget

Wie schonerklärt, kannmanin EasyContentsowohl „gecachte”alsauch„nicht-gecachte”Templateserstellen.Der TemplateProcessorüberprüftbeim Abruf jederSeite,ob sie „ge-cacht” ist odernicht undhandeltdementsprechend.Nicht „gecachte”Seitenwerdenimmerwiederneugeneriert,„gecachte”Seitendagegennur einmalunddannalsstatischerHTML-Codegespeichert.

Im Abschnitt5.3.2wurdebeschrieben,daßdie fertigenTemplatesstandardmäßigals reinePHP4-Dateienim Verzeichnis/temppool abgelegt werden. Mit demEinsatzvon „ge-cachten”Templateswird dieserMechanismuserweitert.NebendenPHP4-Skriptenwerdenim Verzeichnis/temppool auchschonfertige,statischeHTML-Seitengespeichert,diealsOutputder„gecachten”Templatesentstandensind.DasTemplatemit demIdentifikatoryyywird hier alsozweifachabgelegt: sowohl dynamischals/temppool/yyy.php, alsauchstatischals/temppool/yyy.html.

ja nein

Template gecacht?

Template neu generiertStatische HTML-Seitegeholt

Abbildung5.6: „Gecachte”bzw. „nicht-gecachte”Seiten

Die Generierungvon Templateserfolgt mit wget. Es handeltsich um ein freiesSoftware-Werkzeug,dasdasnicht-interaktiveHerunterladenvonWeb-Sitesermöglicht.Mit wgetkann

Copyright BME, TU Dresden,FialaZoltán 84

Page 86: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Die RealisationderCMS- Funktionen

mangroßeWeb-Seitenmit komplexenVerzeichnisstrukturenohnejeglicheInteraktionrekur-siv besuchenundihre Inhaltein reinemHTML-Formatspeichern.Bei derErstellungderstatischenHTML-Seitenruft alsodasCMSdiezugenerierendePHP-Codemit wget auf. Die Ausgabevon wget wird alsHTML-Datei im Verzeichnis/temp-pool gespeichert.Beim nächstenAbruf einer „gecachten”Seitewird dieseDatei ohneBearbeitungandie Browsergeschickt.DasFlußdiagrammin derAbbildung5.6auf Seite84 zeigtdasVerhaltendesTemplatePro-cessors beimAbruf von „gecachten”und„nicht-gecachten”Seiten.

Copyright BME, TU Dresden,FialaZoltán 85

Page 87: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme DasDatenbankmodelldesSystems

5.4 DasDatenbankmodelldesSystems

In diesemAbschnittwird dasDatenbankmodelldesSystemsvorgestellt.EineausführlicheBesprechungdereinzelnenTabellenundFelderist hiernichtbeabsichtigt,eswerdennurdiewichtigstenStrukturenderEasyContent-Datenhaltungvorgestellt.

Abbildung5.7zeigtdieTabellen,die für diehierarchischeSpeicherungvonProjekten,Tem-platesbzw. von textuellenundbinärenAssetszuständigsind. Die Projektekönnenrekursivineinandergeschachteltwerden,die TemplatesundAssetsreferenzierendie Projektemit ih-remPROJEKT_ID.

EZ_PROJEKT

INT(11)VARCHAR(20)

DATETIME

ID NAMECR_TIMEPARENT_IDBASENAMELEVELROOT_ID

VARCHAR(255)INT(11)

INT(11)INT(11)

IDNAMELOCKING_USERCREATORLOCKEDSTATUS

PROJEKT_IDCR_TIMEMOD_TIME

INT(11)INT(11)INT(11)INT(11)

INT(11)

INT(11)VARCHAR(20)

DATETIMEDATETIME

EZ_BINASSET

LOGICAL VARCHAR(45)

VARCHAR(200)PATHVARCHAR(200)MIME

SIZE INT(11)

IDNAMELOCKING_USERCREATORLOCKEDSTATUS

PROJEKT_IDCR_TIMEMOD_TIMETEXT

INT(11)INT(11)INT(11)INT(11)

INT(11)

INT(11)VARCHAR(20)

DATETIMEDATETIMEMEDIUMTEXT

EZ_TEXTASSET

LOGICAL VARCHAR(45)

EZ_TEMPLATE

IDNAMELOCKING_USERCREATORLOCKEDSTATUSLOGICALPROJEKT_IDCR_TIMEMOD_TIMETEXT

INT(11)VARCHAR(20)INT(11)INT(11)INT(11)INT(11)

INT(11)VARCHAR(45)

DATETIMEDATETIMEMEDIUMTEXT

PR

OJE

KT

_ID

=ID

Abbildung5.7: Projekte,Templates,textuelleundbinäreAssets

Die nächsteAbbildung (Abb. 5.8, Seite87) zeigt die Zuordnungder Nutzerzu denPro-jekten. In der TabelleEZ_USER werdendie Nutzerverwaltet. Zu einemProjektkönnenmehrereBenutzergehören,außerdemkannein NutzerMitglied mehrererProjektesein. Esbestehtalsoeine MWj[M -BeziehungzwischendenbeidenDatenbankrabellenEZ_PROJEKTundEZ_USER, die durcheinedritte Tabelle(EZ_MITGLIEDER) logischmiteinanderver-knüpft sind.

Copyright BME, TU Dresden,FialaZoltán 86

Page 88: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme DasDatenbankmodelldesSystems

EZ_PROJEKT

INT(11)VARCHAR(20)

DATETIME

ID NAMECR_TIMEPARENT_IDBASENAMELEVELROOT_ID

VARCHAR(255)INT(11)

INT(11)INT(11)

EZ_USER

IDNAMEVORNAMEEMAILLOGIN

PASSWORD

INT(11)VARCHAR(20)VARCHAR(20)VARCHAR(50)VARCHAR(10)VARCHAR(10)

USER_ID

EZ_MITGLIEDER

INT(11)INT(11)INT(11)

IDPROJ_ID

ID=PROJ_ID USER_ID=ID

Abbildung5.8: ZuordnungderNutzerzudenProjekten

Die letzteAbbildung(5.9) stellt die Verwaltungvon Versionendar. ÜberdiesenMechanis-muswurdeschonausführlichim Abschnitt5.3.3geschrieben,hier werdendie betroffenenTabellennocheinmaldetailliertdargestellt.

EZ_PROJEKT

INT(11)VARCHAR(20)

DATETIME

ID NAMECR_TIMEPARENT_IDBASENAMELEVELROOT_ID

VARCHAR(255)INT(11)

INT(11)INT(11)

EZ_PPROJ_VERSION

IDLEVELPVERS_IDPROJ_IDPARENT_IDNAME

INT(11)INT(11)INT(11)INT(11)INT(11)

VARCHAR(20)

EZ_TEMP_VERSION

IDPVERS_IDPROJIDTEMPIDTEXTBEMERKUNGLOGICALMOD_DATENAMECACHEDCREATOR

INT(11)INT(11)INT(11)INT(11)

INT(11)INT(11)

VARCHAR(20)DATETIME

VARCHAR(255)VARCHAR(50)MEDIUMTEXT

PROJID

EZ_PROJ_VERSION

IDBASENAME

MOD_DATEBEMERKUNGNAME

VARCHAR(255)

VARCHAR(50)VARCHAR(20)

INT(11)

DATETIME

INT(11)

INT(11)

LEVEL

IDPVERS_IDPROJIDTEMPIDTEXTBEMERKUNGLOGICALMOD_DATENAME

INT(11)INT(11)INT(11)INT(11)

VARCHAR(20)DATETIME

VARCHAR(255)VARCHAR(50)MEDIUMTEXT

EZ_TEXT_VERSION

CREATOR INT(11)

IDPVERS_IDPROJIDTEMPID

BEMERKUNGLOGICALMOD_DATENAME

CREATOR

INT(11)INT(11)INT(11)INT(11)

INT(11)INT(11)

VARCHAR(20)DATETIME

VARCHAR(255)VARCHAR(50)

EZ_BIN_VERSION

PATH VARCHAR(250)

SIZE

MIME VARCHAR(100)

ID=PROJID

ID=

PV

ER

S_ID

Abbildung5.9: Die DatenbanktabellenderVersionierung

Copyright BME, TU Dresden,FialaZoltán 87

Page 89: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Zusammenfassung

5.5 Die Möglichkeit der Portierung zu Windows

Der Prototypvon EasyContentwurdeunterdemBetriebssystemLinux entwickelt. Eswur-de jedochbereitsbei derKonzeptiondesSystemsdie Plattformunabhängigkeit alseinederwesentlichstenZielsetzungengenannt.Da die kOl -bit WindowsUmgebungenheuteeinesehrwichtige Rolle spielen,kannmanaufihre Anwendungnicht verzichten.Aus diesemGrundewerdenhier die MöglichkeiteneinereventuellenPortierungzuWindowsdiskutiert.

5.5.1 Portierung desWeb-Servers

Da der Apache-Webserver auchunterWindowsexistiert, ist seinePortierungmit ziemlichgeringemAufwandmöglich.Essollenlediglichnur die beidenKonfigurationsdateienhttpd.conf bzw. httpd2.conf derbeidenEasyContent-Webserver verändertundandie Windows-Umgebungangepaßtwerden.(Die VeränderungbedeutetmeistenseinfachnurdieModifizierungderentsprechendenPfadnamenderbetroffenenVerzeichnisseundDateienim Dateisystem.)

5.5.2 Portierung der Programmierlogik

Die SkriptsprachePHP4 ist auchweitestgehendplattformunabhängig.PHP-Interpreterste-henfür Windows-UmgebungensowohlalsQuell-CodealsauchvorkompiliertzurVerfügung.Die PortierungderProgrammierlogikbedeutetauchin diesemFall nurdieModifizierungje-nerSkripte,die aufdasDateisystemzugreifen.

5.5.3 Datenhaltungunter Windows

Die letzteFrage,die bei einereventuellenPortierungdiskutiertwerdensoll, ist die Imple-mentierungder Datenhaltungin Windows-Umgebungen. Da MySQLauf kOl -bit Windows-Plattformeneinsetzbarist, ist esauchkein Problem.Ein eventuellerDatentransferzwischenMySQL-DatenbankenaufverscheidenenPlattformenist mit derHilfe vonmysqldump- siehe[YRK99] - auchziemlicheinfach.

5.6 Zusammenfassung

In diesemKapitel wurdendie interessantestenAspekteundIdeenderImplementierungvonEasyContentzusammengefaßt.Ziel war esnicht, ein ausführlichesBenutzer- bzw. Programmierhandbuchanzufertigen.Eswurdeversuchtdarzustellen,wie preiswerteSoftware-Komponentenkonfiguriertund mit-einanderintegriert werdenkönnen,um grundsätzlicheCM-Funktionenzu realisieren.Ei-neausführlichereAnleitung für Benutzerist u.a.auchder in EasyContentimplementiertenOnline-Hilfe-Funktionzuentnehmen.

Copyright BME, TU Dresden,FialaZoltán 88

Page 90: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Kapitel 6

Diskussionund Ausblick

In dieserArbeit wurdeversucht,einenÜberblick in dasThema„ContentManagement” zugeben.

Zunächstwurdendie wichtigstenEigenschaftenvon WebContentManagementzusammen-fassenddiskutiert,danebenwurdeauf einigeForschungsergebnissein diesemUmfeld ein-gegangen.Im zweitenTeil derArbeit wurdenKriterien zur Evaluierungvon ContentManagementSy-stemenaufgestellt,anhandderenheutevorhandeneWerkzeugeuntersuchtundklassifiziertwurden.GroßerWert wurdedabeiauf die AnalysepreiswerterOpen-Source-Lösungenge-legt.Als praktischerTeil derArbeit wurdedasWCMSEasyContentkonzipiertundin einerpreis-wertenUmgebungrealisiert.Anschließend,im Kapitel 5 wurdendie wichtisgtenProblemeundLösungendertechnischenImplementierungdargestellt.

Zum SchlußwerdeneinigeVorschlägezur ErweiterungdesentwickeltenSystemsgenannt.Desweiterenwird ein Ausblick aufmöglichekünftigeForschungsarbeitengegeben.

6.1 Erweiterungsmöglichkeiten für EasyContent

Es wurdeversucht,ein Systemzu implementieren,daseineVielzahl von CM-Funktionenrealisiert.EasyContentbieteteineeinfache,übersichtliche,benutzerfreundlicheArbeitsum-gebung für die Verwaltungdigitaler Web-Inhalte. Die in der AufgabenstellunggenanntenZielsetzungenwurdenbeiderImplementierungdesWerkzeugeserfüllt.

Nun solleneinigeAspektebzw. eventuelleBesserungengenanntwerden,die für Weiterent-wicklung vonEasyContentrelevantsind:

Verwaltung von Streaming-MediaFormaten: MultimedialeAnwendungenspielenin derWelt desWeb einezunehmendeRolle. Immer mehrAnbieterstellenDokumenteinStreaming-Formatenbereit,die von einerWeb-Siteherunterladbarsind. Um diesezuverwalten,istderEinsatzvonStreaming-Servernerforderlich.Eswäreeineinteressan-te Aufgabe,die VerwaltungsolcherzeitvarianterInhalte- z.B. durchdie EinbindungentsprechenderAnwendungen- zukonzipieren.

89

Page 91: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungsmöglichkeitenin ContentManagement

Im- und Exportschnittstellen für gängigeDokumentenformate: DieautomatischeEinbin-dungvongängigenDokumentenformaten- wie MicrosoftWord,PowerPoint oderPDF- ist heuteeinewichtigeAnforderunganein CMS. Im Kapitel 3 wurdeneinigeSyste-megenannt,die dieseFunktionunterstützen.EinewichtigeAufgabewärezu klären,welcheWerkzeugezur Verfügungstehen,die in EasyContentintegriert werdenkönn-ten.

Gleichzeitigwäreesauchnützlich,die im SystemverwaltetenDatenin herkömmli-chenFormatenexportierenzu können.Dieskönntemit denSoftware-Komponenten,die EasyContentverwendet,durchausmöglich sein. Die SkriptsprachePHP4 bieteteineVielzahlvon Funktionenfür die Erstellungvon PDF-Dokumenten,desweiterenauchzur Programmierungder COM- bzw. DCOM-Schnittstellen,die die IntegrationentsprechenderExportobjekteermöglichen.

XML-basierte Schnittstellefür Datenexport: Im Abschnitt 2.3.6wurdekurz dasProto-koll ICE vorgestellt,daseinestandardisierte,XML-basierteSchnittstellefür denDa-tenaustauschzwischenInhalts-Anbieternund Kundenermöglicht. Die Konzeptionbzw. Implementierungvon einemICE-Syndicatorin EasyContentwäreeineinteres-santeAufgabe.

Umstellungauf transaktionssichere Datenbanken mit MySQL Bei der KonzeptionvonEasyContentin 4.3.4wurdeerwähnt,daßMySQLdie Erstellungvon transaktionssi-cherenDatenbanken standardgemäßnicht unterstützt. Seit der letztenVersionvonMySQLkönnenaberauchsog.BDB-Tabellenangelegt werden,die transaktionssichersind. EineUmstellungauf solcheTabellenwürdedie SicherheitdesSystemswesent-lich steigern.

Verbesserungder Editorenoberfläche Bei der Implementierungvon EasyContentwurdederSchwerpunktaufdieRealisierungvondengrundsätzlichenCM-Funktionengelegt.Die browser-basierteSchnittstellefür die Bearbeitungder Templatesbzw. der Text-Inhalteist ziemlicheinfach,nebenderMöglichkeit von Datei-Uploadsstehtzur ZeitnureinTextfeld für dieErstellungtextuellerInhaltezurVerfügung.Esist wichtig, die-seSchnittstellezu verbessern,undzwar durchdie IntegrationeinesText-Editors.DieEinbindungeinesentsprechendenJava-Appletswärenicht kompliziert. Die Swing-KlassenvonJavastellenauchfertige,konfigurierbareWYSIWYG-HTML-Editorenbe-reit, derenIntegrationauchsehrnützlichseinkönnte.

6.2 Forschungsmöglichkeitenin Content Management

ContentManagementist eineneueDisziplin mit vielenForschungsfragen.In diesemletztenAbschnittwerdeneinigegenannt.

Content ManagementaußerhalbdesWebs: Da ContentManagementheutevor alleminder Welt desWorld Wide Web Anwendungfindet, wurdenin dieserArbeit in erster

Copyright BME, TU Dresden,FialaZoltán 90

Page 92: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungsmöglichkeitenin ContentManagement

Linie WebContentManagementSystemenbetrachtet.Esist aberzubetonen,daßWebContentManagementnur ein speziellesTeilgebietvonContentManagementist.

Die effiziente Verwaltungvon Informationenspielt auchin anderenBereicheneinegroßeRolle. VorallemfirmeninterneDocumentManagementSysteme, dieInformations-und Kommunikationsprozesseinnerhalbvon Unternehmenverwalten,gewinnenim-mer mehran Bedeutung.In diesemBereichentstehenauchviele „CM-spezifische”Probleme,derenLösungwichtigeThemenfür künftigeForschungsarbeitenbereitet.

Content Managementund Wissensmanagement:EineebenfallswichtigeProblematikstelltdie kontextbezogeneVerwaltungvon Informationendar. Die zur Verfügungstehen-denInhaltesollenauchsemantischbearbeitetwerden,um ZusammenhängezwischenInformationenzu erkennen,intelligenteSuch-undRecherchefunktionenin Datenbe-ständenzu implementierenoderz.B.TendenzenausDokumentenerfassenzukönnen.ContentManagementsoll alsoimmermehrAnknüpfungpunkteansolcheDisziplinenwie WissensmanagementoderDataMining haben.

AdaptiveBenutzeroberflächen Die im Abschnitt2.2.4vorgestelltePersonalisierung,d.h.dieAnpassungderPräsentationvonInhaltenandieAnforderungenderNutzerist einesderwichtigstenMerkmalevonCM-Systemen.Die Inhaltesollennichtnurgespeichertundverwaltet,sondernauchveröffentlichtwerden,wobeidieverschiedenstenPräsen-tationsformenunterstütztwerdensollen.

DasErstellenvon adaptivenBenutzeroberflächenstellt wichtigeFragen:Wie könnenEigenschaftenundPräferenzenvon Nutzernerfaßtwerden?Wie kanndie Bereitstel-lung der Informationenadaptiv angepaßtwerden?UnterwelchenUmständenist derEinsatz„gecachter”Seitenauf personalisiertenSeitenmöglich?All dieseFragenbe-reiteninteressanteForschungsmöglichkeiten.

Verwaltung komponentbasiertermultimedialer Dokumente Einweiteres,relevantesFor-schungsthemaist die Verwaltungvon komplexen,komponentbasiertenDokumenten.MultimedialeDokumentesindheuteausmehreren,zusammengehörendenTeilobjek-tenzusammengesetzt,diealleeinzelnkonfiguriertwerdenkönnen.Esist einewichtigeFrage,wie dieseInhaltealsGesamtheiterfaßt,klassifiziertundin einemContentMa-nagementSystemechtzeitgeschütztverwaltetwerdenkönnen.

Copyright BME, TU Dresden,FialaZoltán 91

Page 93: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungsmöglichkeitenin ContentManagement

Glossar

Admin-Interface Komponentevon m EasyContent, die die Ausführungvon administrati-venAufgabenübereinewebbasierteOberflächeermöglicht Seite56

Apache Derweltweit führendeOpen-SourceHTTP-Server, deru.a.auchin m EasyContenteingesetztwird Seite73

Assets BeliebigedigitaleInhaltskomponentenin einem m CMS Seite8

AssetmanagementSystematischeSpeicherung,Strukturierung,Verfolgungund Kontrollederin einem m CMSverwaltetenm Assets Seite11

Cache-Manager Komponentevon m EasyContent, die„gecachte”SeitenverwaltetSeite57

Caching Vorübergehende,statischeSpeicherungbestimmterInhalteaufderServer-Seiteineinem m CMS Seite17

Check-In Rückgabeeinesbearbeitetenm Assetsandie Gemeinschaft Seite16

Check-Out DasAusleiheneinesm AssetsaneinenMitarbeiter Seite16

CM siehem ContentManagement Seite7

CMS siehem ContentManagementSystem Seite8

Content Informationgespeichertauf einemDatenträger Seite7

Content-Life-Cycle Lebenszyklusvon Inhaltenauf einerWebseite,dernachdemtheoreti-schenAnsatzin diePhasenAnalyseundPlanung, Erstellung, Kontrolle undFreigabe,Publikation, AktualisierungundArchivierungaufgeteiltwird Seite8

Content Management GesamtheitdergeschäftlichenundtechnischenProzessederAufbe-reitung,Abfrage,VerwaltungundVeröffentlichungvon m Content Seite7

Content ManagementSystem KomplexeSoftwareplattformfür die Unterstützungvonm CM-Funktionen Seite8

Cookie LogischeInformationin Schlüssel/Wert-Paaren,diedieWeb-AnwendungenaufdenKlientenablegen Seite15

EasyContent Ein vonZoltánFiala entwickeltes m WCM-Werkzeug,dasausschließlichaufOpen-SourceSoftwarekomponentenbasiert Seite51

Entwicklungsserver Komponentevon m EasyContent, diedieEntwicklungvonneuenWeb-Inhaltenunterstützt Seite57

GeschütztesEditieren Mechanismusfür die Handhabung mehrfacherSchreibzugriffe ineinem m CMS Seite16

Copyright BME, TU Dresden,FialaZoltán 92

Page 94: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungsmöglichkeitenin ContentManagement

Groupware Mehrbenutzer-Software, die zur Unterstützungvon kooperativer Arbeit ent-worfenundgenutztwird Seite25

Groupware AwarenessDasWissendarüber, wasin derArbeitsgruppegeradelos ist bzw.wasin derVergangenheitin derGruppegemachtwurde Seite25

htaccessDienstdes m Apache-Serverszur ErstellunggeschützterBereicheauf demWeb-Server, die erstnacheinerentsprechenderAuthentifizierungzugänglichsind Seite80

ICE - Inf ormation and Content Exchange Auf XML basierendesProtokoll zum standar-disiertenDatenaustauschzwischenGeschäftspartnern Seite32

Li veWeb-Server Komponentevon m EasyContent, die für die Veröffentlichungvon frei-gegebenen,genehmigtenInhaltenzuständigist Seite57

Meta-Data LogischeInformationfür die Beschreibungvon m Content Seite12

Midgard Open-Sourcem WCM-Werkzeug Seite44

mod_action Modul des m Apache-Servers,dasdie Zuordnungvon verschiedenenInhalts-typenzuserverseitigenAktivitätenerlaubt Seite77

mod_rewrite Modul des m Apache-Servers,dasdie Manipulierungvon URLs ermöglichtSeite77

MySQL Open-SourceDatenbank,die für schnelleSQL-Abfragenoptimiertwurdeundu.a.auchin m EasyContenteingesetztwird Seite73

Network Productivity System Kommerziellesm WCMSderdeutschenFirmaInfoparkSei-te 41

OpenCMS Open-Sourcem WCM-Werkzeug Seite43

PHP Open-SourceserverseitigeProgrammierungebungfür dieErstellungdynamischer, da-tenbankgestützterWebseiten Seite73

Projekt Grundbegriff von m EasyContentfür dieBündelungzusammengehörenderm AssetsSeite57

Projekt-Explorer Komponentevon m EasyContent, die die Erstellungvon m Templatesund m Assetsermöglicht Seite56

Push-Modell Modell zur Implementierungvon m Workflows, beidemdiezubearbeitendenm Assets vom jeweiligenmomentanenBearbeiterandennächstenMitarbeiterweiter-gereichtwerden Seite23

SessionGesamtheitderTätigkeiteneinesNutzersaufeinerWebsite(Sitzung) Seite14

Copyright BME, TU Dresden,FialaZoltán 93

Page 95: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Forschungsmöglichkeitenin ContentManagement

Staging TrennungderveröffentlichtenundderunterEntwicklungstehendenInhaltein ei-nem m CMS Seite17

System-DatenbankKomponentevon m EasyContent, die alle relevantenDatenüberNut-zerundInhaltespeichert Seite55

Template-Pool Komponentevon m EasyContent, die die aktuellenVersionenvon Web-Seitenenthält Seite56

TemplateProcessorKomponentevon m EasyContent, die die Web-Seitenanhandder imm Template-Pool befindlichenm TemplatesundentsprechenderDatenbankeinträgeer-stellt Seite57

Top-Level Projekt Ein m Projekt in m EasyContent, dassich in derhierarchischenBaum-strukturauf demoberstenLevel befindetundin derZugriffsverwaltungeinewichtigeRolle spielt Seite59

Trennungvon Inhalt und Layout WichtigsKennzeichenvon m CM-Systemenfür die Er-stellungaktueller, datenbankgestützterWebseiten Seite9

Vignette Content ManagementServer Kommerziellesm WCMSderFirmaVignette Sei-te 38

Versionierung SystematischeArchivierungvon Inhaltenin einem m CMS Seite13

Version-Manager Komponentevon m EasyContent, diedieErstellung,VerwaltungunddasWiederherstellenvon Versionenrealisiert Seite56

Vier-Augen-Prinzip Einfach implementierbareMethodefür die Genehmigungund Frei-schaltungvon Inhalten Seite20

VIP Content Manager Kommerziellesm WCMSderFirmaGauss Seite40

WCM siehem WebContentManagement Seite8

WebContent GesamtheitderInhalteeinerWeb-Seite Seite7

WebContent Management SystematischeVerwaltungundAdministrationvon m WebCon-tent Seite8

Workflow Ein Workflow stellt einentechnischumfassendunterstütztenArbeitsablaufdar,der ausgehendvon einemauslösendenEreignisentlangeiner definiertenKette vonTeilschrittenbis zu einemdefiniertenArbeistergebnisführt, wobeiderGradderVer-vollständigungdesArbeitsergebnissesmit jedemeinzelnenArbeitsschrittzunimmt.Seite19

Z39.50 Protokoll zur Verbindungvon bibliothekarischenDatenbankanwendungen,die inm CM immermehranBedeutunggewinnt Seite31

Zope Open-SourceRedaktionswerkzeugmit vielen m WCM-Funktionen Seite45

Copyright BME, TU Dresden,FialaZoltán 94

Page 96: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Abbildungsverzeichnis

2.1 Content-Life-Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Trennungvon Inhalt undLayoutmit Templates . . . . . . . . . . . . . . . 112.3 TrennungderlogischenundderphysikalischenAdressierung. . . . . . . . 122.4 Importfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 VerschiedeneViewsderAssets . . . . . . . . . . . . . . . . . . . . . . . . 192.6 DasVier-Augen-Prinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7 BasicProcessDefinitionMeta-Model[Hol95] . . . . . . . . . . . . . . . . 232.8 DasPush-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.9 DasPull-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.10 UniversalContentService[CD99] . . . . . . . . . . . . . . . . . . . . . . 262.11 iWebDB-Komponenten[LN99] . . . . . . . . . . . . . . . . . . . . . . . . 272.12 PartitioniertesSystem[CSY00]. . . . . . . . . . . . . . . . . . . . . . . . 302.13 Kommunikationvia Z39.50. . . . . . . . . . . . . . . . . . . . . . . . . . 312.14 ÜbertragungvonDokumentenmit ICE . . . . . . . . . . . . . . . . . . . . 332.15 EinrichtungeinerSubscription . . . . . . . . . . . . . . . . . . . . . . . . 332.16 ICE-Pull-Mechanismus. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1 KomponentenvomV-CMS[Sto00] . . . . . . . . . . . . . . . . . . . . . . 393.2 DasDrei-Server-Konzept[Gau00] . . . . . . . . . . . . . . . . . . . . . . 403.3 Network Productivity System. . . . . . . . . . . . . . . . . . . . . . . . . 423.4 Aufbauvon OpenCMS[KGRH00] . . . . . . . . . . . . . . . . . . . . . . 433.5 MidgardDataFlow[MID01] . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1 Client-Server-Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2 Die Systemkomponenten. . . . . . . . . . . . . . . . . . . . . . . . . . . 564.3 Projekte,TemplatesundAssets. . . . . . . . . . . . . . . . . . . . . . . . 584.4 Entwickler, RedakteureundAdministratoren . . . . . . . . . . . . . . . . 594.5 Die Zugriffsrechtebeziehensichaufdie Top-Level-Projekte . . . . . . . . 604.6 AdressierungderInhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.7 DarstellungeinesBild-Assetsim Projekt-Explorer . . . . . . . . . . . . . 624.8 SicherungvomProjekt„131” . . . . . . . . . . . . . . . . . . . . . . . . . 644.9 DerProjekt-Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.10 ZustandsänderungenvonTemplates . . . . . . . . . . . . . . . . . . . . . 674.11 Stagingmit Replikation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.12 Stagingmit einemWeb-Server . . . . . . . . . . . . . . . . . . . . . . . . 69

95

Page 97: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Abbildungsverzeichnis

4.13 Stagingin EasyContent. . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.14 Cachingin EasyContent . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1 AusführungeinesPHP-Programms . . . . . . . . . . . . . . . . . . . . . 745.2 AbbildungderlogischenNamenaufdie physikalischenAdressen. . . . . . 765.3 SpeicherungderVersionen . . . . . . . . . . . . . . . . . . . . . . . . . . 795.4 Breitensuche- BreadthFirst Search . . . . . . . . . . . . . . . . . . . . . 795.5 ZweistufigeZugangskontrollein EasyContent. . . . . . . . . . . . . . . . 825.6 „Gecachte”bzw. „nicht-gecachte”Seiten. . . . . . . . . . . . . . . . . . . 845.7 Projekte,Templates,textuelleundbinäreAssets. . . . . . . . . . . . . . . 865.8 ZuordnungderNutzerzudenProjekten . . . . . . . . . . . . . . . . . . . 875.9 Die DatenbanktabellenderVersionierung . . . . . . . . . . . . . . . . . . 87

Copyright BME, TU Dresden,FialaZoltán 96

Page 98: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

Literatur verzeichnis

[Age00] International Standard Maintenance Agency. Z39.50, 2000.http://lcweb.loc.gov/z3950/agency/.

[AMKF n 00] Tim Arnold-Moore,Alan Kent, Michael Fuller, Ron Sacks-Davis, andNeilSharman. Architectureof a contentmanagementserver for xml documentapplications.WebInformationSystemsEngineering(WISE2000),HongKong,China.97-108, 2000.

[Bow00] Rich Bowen. Apache ServerUnleashed. SamsPublishing,2000. ISBN0672318083.

[BSW00] Hans-Jörg Bullinger, Erwin Schuster, andStephanWilhelm. ContentManage-mentSysteme- Auswahlstrategien,ArchitekturenundProdukte. VerlagsgruppeHandelsblattGmbH,Wirtschaftswoche,Düsseldorf,2000.

[BZTZ00] Heino Büchner, Oliver Zschau,DenisTraub,andRik Zahradka. Web Con-tentManagement- Websitesprofessionellbetreiben. GalileoBusinessBücher,2000. ISBN 3934358861.

[Cam99] DebraCameron.Emacskurzundgut. O’Reilly, 1999. ISBN 3897212110.

[CD99] KatherineCurtisandOliverDraper. Multimediacontentmanagement- provi-sionof validationandpersonalisationservices.ICMCS- InternationalConfe-renceon MultimediaComputingandSystems,Florence, Italy, 1999.

[CON00] CONTENTMANAGER. Die Deutsche Content ManagementSite, 2000.http://www.contentmanager.de/.

[CSY00] Mon-YenLuo Chu-SingYang.A contentplacementandmanagementsystemfor distributed web-server systems. Distributed ComputingSystems,2000.Proceedings.20thInternationalConferenceon,2000, 2000.

[ESO01] Web ServerSurvey. SecuritySpace,http://www.securityspace.com/s_survey,2001.

[FCG98] Wettl Ferenc,SudárCsaba,andMayerGyula. LATEX kezdoknek. PanemKft.,Budapest,1998.

97

Page 99: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Literaturverzeichnis

[Fou00] TheApacheSoftwareFoundation.ApacheWebServerDocumentation, 2000.http://www.apache.org/docs/.

[Gau00] Gauss VIP Content Manager User’s Manual, 2000. Gauss Interprise,http://www.gauss-interprise.com.

[GGR96] C. Gutwin, S. Greenberg, andM. Roseman.WorkspaceAwarenessin Real-Time Distributed Groupware: Framework, Widgets and Evaluation, 1996.PeopleandComputersXI HCI’96, Conferenceheldat ImperialCollege.

[Gie98] Olaf Gierhake. IntegriertesGeschäftsprozessmanagement:effektiveOrgani-sationsgestaltungmit Workflow-, Workgroup- und Dokumentenmanagement-Systemen. Vieweg Verl, Braunschweig,Wiesbaden,1998.

[Hol95] David Hollingsworth. TheWorkflowReferenceModel, 1995. Workflow Ma-nagementCoalition, http://www.aiim.org/wfmc/, DocumentNumberTC00-1003.

[ICE00] ICE. InformationandContext Exchange, 2000.http://www.icestandard.org/.

[Inf01] InfoparkAG. NPSDataSheet, 2001.http://www.nps.de.

[Ins00] InsidersInformationManagement.Mindaccess- neueHorizonteerkunden,2000.http://www.im-insiders.de.

[KD00] OlafKirch andTerryDawson.LinuxNetworkAdministrator’sGuide. O’ReillyUK, 2000. ISBN 1565924002.

[KGRH00] AlexanderKandzior, DietmarGalle,Ralf Ruf, andDierk Himstedt.Benutzer-handbuch OpenCMSVersion4.0, 2000.http://www.opencms.com.

[Kra00] Jörg Krause.PHP4. HanserVerlag,München,2000. ISBN 3-446-21546-8.

[LN99] Henrik LoeserandRittner N. iwebdb- integratedweb contentmanagementbasedonobject-relationaldatabasetechnology. Int. DatabaseEngineeringandApplicationsSymposium(IDEAS’99),Montreal,Canada,pp.92-97, 1999.

[Loe] Henrik Loeser. Keepingweb pagesup-to-datewith sql:1999. Int. DatabseEngineeringand Application Symposium(IDEAS 2000), Yokohama,Japan,September2000,pp.219-223.

[Lor97] AlexanderLorz. EntwicklungeinesZusammenarbeitsmodellsfür einmultime-dialesMehrbenutzerautorensystem, 1997.BelegarbeitanderTU-Dresden.

[MID01] Midgard Documentation. Midgard Content Management,http://www.midgard-project.org,2001.

[Neu00] Sven Neumann. Gimp - kurz & gut, 2.Auflage. O’Reilly, 2000. ISBN3897212234.

Copyright BME, TU Dresden,FialaZoltán 98

Page 100: Content Management Systeme - z-fiala · bereitung, Bearbeitung und Veröffentlichung der verschiedensten digitalen Inhalte. Content Management Systeme ermöglichen, daß die richtigen

ContentManagementSysteme Literaturverzeichnis

[Obe91] H. Oberquelle. Kooperative Arbeit und Computerunterstützung:StandundPerspektiven.Verlagfür angewandtePsychologieGöttingen,Stuttgart,1991.

[Pro01] OpenCMS Project. OpenCMS, 2001. OpenCMS Documentation,http://www.opencms.com.

[Rat00] Tobias Ratschiller. phpMyAdmin Documentation, 2000.http://www.phpmyadmin.de.

[Red00] Das Offizielle Red Hat Linux Installationshandbuch, 2000.http://www.redhat.com.

[RG00] Tobias Ratschiller and Till Gerken. Web Application DevelopmentwithPHP4.0. New RidersPublishing,Indianapolis,2000. ISBN 0735709971.

[RIS98] L. Rónyai, G. Ivanyos,andR.Szabó.Algoritmusok. Typotex, Budapest,1998.ISBN 963-9132-16-0.

[Sto00] V/5E-businessPlatform- PlatformInstallationandConfigurationGuide. Vi-gnetteInc., http://www.vignette.com,2000.

[Wel00] Brent B. Welch. Practical Programmingin Tcl and Tk. PrenticeHall PTR,2000. ISBN 0130220280.

[YRK99] RandyJayYarger, GeorgeReese,andTim King. MySQLandmSQL. O’ReillyandAssociatesInc., 1999. ISBN 1565924347.

Copyright BME, TU Dresden,FialaZoltán 99