Post on 18-Oct-2020
transcript
ContentManagementSysteme
DiplomarbeitanderTU BudapestundderTU Dresden
Mai 2001
FialaZoltán
Betreuer:
Prof. Dr. CsopakiGyula,BudapestiMuszakiEgyetemProf. Dr. KlausMeißner, TechnischeUniversitätDresden
Ronny Franke,MultimediaSoftwareGmbH,Dresden
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
Selbständigkeitserklärung
Hiermit versichereich, dievorliegendeDiplomarbeitselbständigundnurunterVerwendungderangegebenenQuellenerstelltzuhaben.
Dresden,den11.05.2001 ZoltánFiala
2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ContentManagementSysteme Kriterien zurBewertungvon ContentManagementSystemen
Referenzen� Referenzen: Wo wird dasCMSeingesetzt?Beispieleausdemakademischenbzw.
kommerziellenBereich?
Copyright BME, TU Dresden,FialaZoltán 37
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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"] . " " . $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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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