ENTERPRISE 8. ContentManager Programmierhandbuch

Ähnliche Dokumente
VIP Notes 10. Default Content

ENTERPRISE 8. WebServices Programmierhandbuch

Wörterbuchmethoden und Lempel-Ziv-Codierung

VIP PortalManager VIP ITF Handbuch. VERSION 5e.05

Zahlungsverkehr Inland & SEPA

1 Randomisierte Bestimmung des Medians

BILANZ. Bilanzbericht

ALE-Szenario in der Personalkostenplanung

VIP Note 01. Dynamische Attribute

KASSENBUCH ONLINE Online-Erfassung von Kassenbüchern

Dependency Injection Facts, Fictions, and Dangers

Wiederkehrende XML-Inhalte in Adobe InDesign importieren

CampusSourceEngine HISLSF

Vorkurs Mathematik für Informatiker Folgen

[ Installation medisign Signaturkarten ]

1 Informationsmodellierung mit dem Entity-Relationship-Modell

Einführung in die Computerlinguistik Merkmalsstrukturen (Feature Structures)

von solchen Abbildungen. Eine solche Folge bestimmt für jedes x M die Folge der Werte f n. Schreibt man dies noch einmal formal hin, so erhält man:

Lehrveranstaltung Grundlagen von Datenbanken WS 2018/19. Gesamtpunktzahl 40 Ausgabe Do Abgabe Fr

VIP ContentManager Administratorhandbuch. VERSION 5e.05

ARBEITSPLATZ. Zentraler Einstieg in das AGENDA-System

Algorithmen und Datenstrukturen

Algorithmen und Programmierung III

Die allgemeinen Daten zur Einrichtung von md cloud Sync auf Ihrem Smartphone lauten:

Joomla. VHS Trittau. Dozent: Arne Wempen

Anwendungen der Wahrscheinlichkeit II. Markovketten

Folgen und Reihen. 23. Mai 2002

AUFGABENSTELLUNG (ZUSAMMENFASSUNG) 2 SPEZIFIKATION 2. Datenfluß und Programmablauf 2. Vorbedingung 3. Nachbedingung 3. Schleifeninvariante 3

AVANTI Neuerungen. Inhalt. I. Neuerungen Version Pin Funktion. 2. Status für Nachtragspositionen. 3. DBD Baupreise EFB

Benutzerhandbuch packetalarm SSL VPN Client. Copyright 2010 Funkwerk Enterprise Communications GmbH Version 1.1x.xx

HONORAR Honorarabrechnung

Kunde. Kontobewegung

BILANZ Bilanzbericht

Musterlösung. Testklausur Vorkurs Informatik, Testklausur Vorkurs Informatik Musterlösung. Seite 1 von 10

Mathematik im Zeilenmodus mit Standard-L A T E X

Kapitel 3: Bedingte Wahrscheinlichkeiten und Unabhängigkeit

Integrationen. Technische Dokumentation Adobe Campaign Standard

So lösen Sie die Gleichung für den Korrelationskoeffizienten

10. Testen von Hypothesen Seite 1 von 6

6. Übung - Differenzengleichungen

1 Einleitung. Prüfen von Eckdaten eines Systems wie das Abfragen der Festplattenauslastung

10 Aussagen mit Quantoren und

1&1 Next Level Hosting

SQL. Grundlagen und Datenbankdesign. Elmar Fuchs. 2. Ausgabe, April 2012 SQL

Info2 Übungsstunde 5. Agenda. Lösungen U4. Java... more insights. Tipps zur Übung 5

DMS Dokumenten- Management-System

Statistik mit Excel Themen-Special. Peter Wies. 1. Ausgabe, Februar 2014 W-EX2013S

Fehlertext/ergaenzende.hinweise

6 Vergleich mehrerer unverbundener Stichproben

cubus EV als Erweiterung für Oracle Business Intelligence

Lösungsvorschläge zu den Aufgaben der Lernsituation 20 (S. 64, 65)

Sichtbar im Web! Websites für Handwerksbetriebe. Damit Sie auch online gefunden werden.

Kombinatorik. Permutationen Permutationen eines Kollektivs

Inhaltsverzeichnis. 1 Leistungsbeschreibung Integration in das AGENDA-System Funktionsübersicht Autor: Markus Maier

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multiple-Choice-Tests Mathematik (Klasse 7/8)

Page-Rank: Markov-Ketten als Grundlage für Suchmaschinen im Internet

Datenbanksysteme 1 Herbst-/Wintersemester Oktober 2014

Das Digitale Archiv des Bundesarchivs

FIBU Kontoauszugs- Manager

Die Forschungsdatenbank zu Inschriften/Scans/Bildern im. Institut für Urchristentum und Antike

4 Schwankungsintervalle Schwankungsintervalle 4.2

Tests statistischer Hypothesen

Basisfall Vergleichsbasiertes Sortieren Programmieraufgabe Algorithm Engineering

Arbeitsplätze in SAP R/3 Modul PP

( ), der genau auf der Geraden ( ) 2 ( ) #( ) 8. Lineare Regression. = f i. Nach der Summe der kleinsten. mx i

Qualitätskennzahlen für IT-Verfahren in der öffentlichen Verwaltung Lösungsansätze zur Beschreibung von Metriken nach V-Modell XT

HP OpenView AssetCenter

Organisatorische Strukturen und Stammdaten in ERP-Systemen

Mathematische Vorgehensweise

3 Grenzwerte. 3.1 Grenzwerte von Folgen

Lösung der Aufgabe 4, Blatt 05

Lösungen 4 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren

Vorkurs Mathematik für Informatiker Folgen

Grenzwert. 1. Der Grenzwert von monotonen, beschränkten Folgen

TECHNISCHE UNIVERSITÄT MÜNCHEN

Elektronisches Handbuch. Elektronisc hes Handbuch OpenLimit SignCubes OpenLimit CC Sign 2.8

3 Arrays, Strings. 3.1 Arrays 3-1. In der Mathematik und Technik tauchen oft Schreibweisen auf wie x i... i = 1, 2, 3,...n ...

6 Grenzwerte von Zahlenfolgen

II Analysis Folgen Konvergenz von Folgen. a 2. a 4. a C " a " a 1. c D lim. R. Plato 27

Einführung: Android Programmierung (Teil 2) UI (Details), Dateien, Services

SUCHPROBLEME UND ALPHABETISCHE CODES

HP OpenView AssetCenter

so spricht man von einer kommutativen Gruppe oder auch abelschen Gruppe.

Die notwendigen Verteilungstabellen finden Sie z.b. hier:

Kompaktheit und gleichgradige Stetigkeit. 1 Einführung in die Kompaktheit in C 0

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (02 Funktionenklassen) Prof. Dr. Susanne Albers

Kapitel 9: Schätzungen

beck-shop.de 2. Online-Marketing

Die 10 größten Irrtümer Worauf Selfservice Designer achten sollten.

3 T (d 1, l 2. ) + (6 + 2) falls d > 0 7 sonst. n 2. 4T ( n 2 ) + log 2 (n), falls n > 1 1, sonst

Grundlagen: Algorithmen und Datenstrukturen

II. Grundlagen der Programmierung. Variable: Literale (Konstanten) Operatoren & Ausdrücke. Variablendeklaration:

Zahlenfolgen und Konvergenzkriterien

Printausgaben. Inhalt. Printausgaben Seite 3 Onlineausgaben Seite 9 Bestellung Seite 16

Verlagsprogramm. Bestellung. Printausgaben. Onlineausgaben. Datum VN/BAG Bestellzeichen. zur Fortsetzung bis auf Widerruf zum einmaligen Bezug

Es gibt verschiedene Möglichkeiten eine Folge zu definieren. Die zwei häufigsten Methoden

Arithmetische und geometrische Folgen. Die wichtigsten Theorieteile. und ganz ausführliches Training. Datei Nr

ZMIV. Zentrale Mandanten- und Institutionsverwaltung

Kapitel 2: Stochastische Prozesse. Copyright M. Gross, ETH Zürich 2006, 2007

Transkript:

ENTERPRISE 8 CotetMaager Programmierhadbuch T H E P O W E R O F C O N T E N T A T W O R K

Copyright 2002 Gauss Iterprise AG Hamburg, Gauss Iterprise, Ic. Irvie, Califoria. Alle Rechte weltweit vorbehalte. Dieses Dokumet sowie die zugehörige Software sid Eigetum der Gauss Iterprise AG oder ihrer Zulieferer ud durch Gesetze zum Schutze des Urheberrechts ud adere Gesetze geschützt. Sie werde uter eier Lizez vertriebe, durch welche die Nutzug, Reproduktio, Vertrieb ud Dekompilierug eigeschräkt wird. Weder der Erhalt och der Besitz dieses Dokumetes ermächtigt Sie, desse Ihalte gaz oder teilweise auf Papier, elektroisch oder eiem adere Medium zu reproduziere, weiterzugebe oder adere de Zugag darauf zu ermögliche. Kei Teil dieses Dokumetes darf i irgedeier Form ud Weise ohe vorherige schriftliche Zustimmug der Gauss Iterprise AG oder Gauss Iterprise, Ic. reproduziert werde. Darüber hiaus gelte für diese Dokumetatio die Bestimmuge des Softwarelizezvertrags. Alle Warezeiche oder Hadelsmarke, die i diesem Dokumet erwäht wurde, sid Eigetum der etsprechede Firme. http://www.gaussvip.com Programmversio: 8.1.1 Dokumeteversio: De-04 Erscheiugsdatum: November 2002

Ihaltsverzeichis Abbildugsverzeichis 7 Tabelleverzeichis 8 Kapitel 1 Eileitug 11 1.1 Hiweise zu dieser Dokumetatio 11 1.2 Neue Fuktioe i der Versio 8.1.1 13 1.3 Typographische Kovetioe 14 Kapitel 2 Kozepte 17 2.1 Objektverwaltug 17 2.2 Zugriffssteuerug 25 2.3 Seitegeerierug (Deploymet) 32 2.4 Authetifizierug ud Kotextverwaltug 34 2.5 Ereigisse 34 2.6 Systemverwaltug 35 Kapitel 3 Eisatz des VIP Java API 37 3.1 Server-Agete 37 3.2 Die Klasse VipRutime 48 3.3 Fehlerbehadlug 51 3.4 Lokalisierte Melduge 59 Kapitel 4 Admiistratiositerface 63 4.1 Pricipals bearbeite 67 4.2 VIP-Attribute i LDAP setze 79 4.3 Rechte vo Pricipals bearbeite 82 4.4 Fuktiosbereiche bearbeite 89 4 VIP CotetMaager Programmierhadbuch

4.5 Zuorduge vo Pricipals bearbeite 94 4.6 Iformatioe zu VIP-CM-Server 96 4.7 Iformatioe zu Websites 99 4.8 Iformatioe zu Deploymetsysteme 101 4.9 Rulevels 102 Kapitel 5 Ereigisverarbeitug 107 5.1 Ereigisse 108 5.2 Vorbereitugsereigisse das Iterface PrepareEvet 121 5.3 Ereigisbeobachter 125 5.4 Ereigisverteiler 128 Kapitel 6 Kotextverwaltug 133 6.1 A- ud Abmelde 134 6.2 Vordefiierte Kotexte 136 6.3 Kotexte ereuer 136 Kapitel 7 Objektverwaltug 141 7.1 Das Iterface ObjectHadler 142 7.2 Aktioe ud Trasaktioe 152 7.3 Objektdate bearbeite das Iterface ObjectData 173 7.4 Die Hilfsklasse ObjectHadlerUtil 183 7.5 Attribute bearbeite 185 7.6 VIP-Objekte suche 195 7.7 Zugriffssteuerug 204 VIP CotetMaager Programmierhadbuch 5

Kapitel 8 Deploymet 209 8.1 Deploymet-Metadate 211 8.2 Iformatioe zum Status des Deploymets 213 8.3 Deploymetfehler 218 Kapitel 9 Poolverwaltug 223 9.1 Das Iterface PoolMaager 225 9.2 Die Basisklasse PoolCoectio 226 Kapitel 10 Systemverwaltug 229 10.1 Agemeldete Beutzer ermittel 232 10.2 Protokolle der VIP-CM-Server 232 10.3 Berichte der VIP-CM-Server 234 10.4 Tracig-Fuktioe utze 235 Kapitel 11 Awedugsbeispiele 239 11.1 Basisklasse ExampleAget 241 11.2 Protokolliere aller vorgelegte Objekte 243 11.3 Automatisches Vorlege 247 11.4 Veto gege Metadateäderug 251 11.5 Evet-Protokoll 254 11.6 Beobachte vo Deploymet-Ereigisse 257 Glossar 265 Idex 271 6 VIP CotetMaager Programmierhadbuch

Abbildugsverzeichis Abb. 1 Workflow bei der Bearbeitug eies VIP-Objekts 22 Abb. 2 Server-Agete im Admi-Cliet verwalte 38 Abb. 3 Kofiguratio des Demo-Agete mit Kote 40 Abb. 4 Kofiguratio des Demo-Agete ohe Kote 41 Abb. 5 Grudlegede Iterfaces des VIP Java API 48 Abb. 6 Beispielhaftes LDAP-Schema 80 Abb. 7 Kompoete der Objektverwaltug 141 Abb. 8 Klassediagramm Iterfaces Key ud Value 185 Abb. 9 Klassediagramm Filterklasse ud -Iterfaces 196 VIP CotetMaager Programmierhadbuch 7

Tabelleverzeichis Tabelle 1 Servertype ud mögliche Datehaltugssichte 23 Tabelle 2 Die eizele Admiistratiosrechte 30 Tabelle 3 Kostate der Admiistratiosrechte 83 Tabelle 4 Kostate der Zugriffsrechte für VIP-Objekte 86 Tabelle 5 Kostate der Fuktiosbereiche 90 Tabelle 6 Kostate der Objektstatus 143 Tabelle 7 Objektstatus ud mögliche Aktioe 145 Tabelle 8 Sichtbare Status vo VIP-Objekte auf verschiedee Server 148 Tabelle 9 Wesetliche Methode des ObjectHadler-Iterfaces 152 Tabelle 10 Sychroe ud asychroe Methode 163 Tabelle 11 Methode für de Zugriff auf Stadardmetadate 174 Tabelle 12 Vom Deploymetsystem abhägige Metadate 176 Tabelle 13 Stadardmetadate 188 Tabelle 14 Attributtype ud Filter 197 Tabelle 15 Kostate für Tracig-Eistelluge (Iterface TraceFilter) 236 8 VIP CotetMaager Programmierhadbuch

VIP CotetMaager Programmierhadbuch 9

10 VIP CotetMaager Programmierhadbuch

KAPITEL 1 1Eileitug Das VIP Java API ermöglicht de Zugriff auf die Fuktioe vo VIP CotetMaager über eie Java-basierte Programmierschittstelle. Durch die Klasse ud Iterfaces des VIP Java API köe Sie auf die vo VIP CotetMaager verwaltete Ihalte zugreife ud diese im Kotext der eigee Softwareetwickluge utze. Mögliche Aweduge sid z.b. die Eibidug vo Fremdsysteme oder die Überwachug vo Aktioe, mit der Möglichkeit, die Durchführug vo Aktioe zu uterbide (Veto-Mechaismus). 1.1 Hiweise zu dieser Dokumetatio Diese Dokumetatio richtet sich a Softwareetwickler, die über etsprechede Vorketisse sowohl hisichtlich der Fuktioalität vo VIP CotetMaager als auch i der Programmiersprache Java verfüge. Die eizele Klasse, Iterfaces ud Methode des VIP Java API werde hier ur kurz dargestellt. Vollstädige, detaillierte Beschreibuge fide Sie i der Olie-Dokumetatio (Javadoc). Die Javadoc-Dokumetatio befidet sich im Verzeichis \documetatio\javadoc\ im VIP-Istallatiosverzeichis. Die hier beschriebee Programmierschittstelle ist Bestadteil der VIP CM Suite. Zusätzlich zum vorliegede Programmierhadbuch köe Sie Iformatioe aus folgede Quelle beziehe: VIP CotetMaager Programmierhadbuch 11

Kapitel 1 VIP CotetMaager-Beutzerhadbuch: Dieses Dokumet weist Sie ausführlich i alle Aufgabe der redaktioelle Pflege vo Websites im VIP-CM-Workflow ei. VIP CotetMaager-Admiistratorhadbuch: Dieses Dokumet beschreibt die Istallatio, Kofiguratio ud Admiistratio vo VIP- CM-Systeme ud ethält eie ausführliche Darstellug der techische Kozepte vo VIP CotetMaager. Die Ihalte dieses Hadbuchs sid wie folgt gegliedert: Kapitel 2 Kozepte erläutert die grudlegede Kozepte des VIP Java API. Kapitel 3 Eisatz des VIP Java API beschreibt, wie eigee Klasse i Form vo Server-Agete eigebude werde. Das VIP Java API besteht mehrere Schittstelle, die die folgede Bereiche abdecke: Admiistratio, Ereigisverarbeitug, Kotextverwaltug, Objektverwaltug, Deploymet, Poolverwaltug ud Systemverwaltug. Die dazu gehörige Schittstelle werde i de Kapitel 4 bis 10 vorgestellt. Eiige Beispiele für de Eisatz des VIP Java API fide Sie i Kapitel 11 Awedugsbeispiele. 12 VIP CotetMaager Programmierhadbuch

Eileitug 1.2 Neue Fuktioe i der Versio 8.1.1 Dieser Abschitt bietet eie Überblick über die wesetliche Äderuge im VIP Java API, die mit der Versio 8.1.1 der VIP CM Suite eigeführt wurde. Erweitertes AdmiHadler-Iterface Das erweiterte AdmiHadler-Iterface bietet Zugriff auf Fuktioe der Beutzer- ud Systemverwaltug vo VIP CotetMaager. Mithilfe der Fuktioe dieses Iterfaces köe Sie u z.b. eue Beutzer alege, Zuorduge vo Pricipals vorehme oder Fuktiosbereiche alege. Ausführliche Iformatioe ethält Kapitel 4 Admiistratiositerface. Neues Iterface DeploymetHadler Das eue Iterface DeploymetHadler bietet Zugriff auf die Metadate vo Web-Objekte (URL ud Pfad) sowie Iformatioe zum Status ud zu Fehler des Deploymets. Ausführliche Iformatioe ethält Kapitel 8 Deploymet. Neues Iterface SystemHadler Das eue Iterface SystemHadler bietet Methode zum Zugriff auf die Bericht-, Protokoll- ud Tracig-Fuktioe der VIP-CM-Server. Außerdem köe die am VIP-CM-System agemeldete Beutzer ermittelt werde. Ausführliche Iformatioe ethält Kapitel 10 Systemverwaltug. Hiweis: Eie Überblick über Methode, die mit der Versio 8.1.1 der VIP CM Suite auf deprecated gesetzt wurde, ethält die Olie- Dokumetatio (Javadoc). VIP CotetMaager Programmierhadbuch 13

Kapitel 1 1.3 Typographische Kovetioe Programmelemete u.ä. werde im Text folgedermaße hervorgehobe: Elemet Schriftart oder Symbol Beispiele Programmoberfläche wie z.b. Meübefehle, Fester, Dialoge, Feldud Schaltflächebezeichuge Pfade zu Verzeichisse, Name vo Dateie ud Verzeichisse Zitate aus Programmcode oder Kofiguratiosdateie Variable, d.h. Platzhalter für bestimmte Elemete Meü Eitrag Laufwerk:\Verzeichis\ Dateiame Code-Zitate Variable Datei Alege D:\VIP8\ <head> <title>viptitle </title> </head> VIP- Istallatiosverzeichis Wichtige Hiweise ud Waruge stehe i graue Käste. Diese Iformatioe sollte Sie ubedigt lese, um Fehler bei der Nutzug ud Verwaltug vo VIP-CM-Systeme sowie Dateverluste zu vermeide. 14 VIP CotetMaager Programmierhadbuch

Eileitug VIP CotetMaager Programmierhadbuch 15

16 VIP CotetMaager Programmierhadbuch

KAPITEL 2 2Kozepte Dieses Kapitel beschreibt i kurzer Form die grudlegede Kozepte vo VIP CotetMaager. Dabei steht die Beschreibug der Begriffe im Vordergrud, die beim Arbeite mit VIP CotetMaager eie Rolle spiele. Eie ausführliche Beschreibug der techische Kozepte sowie der Architektur vo VIP CotetMaager fide Sie im VIP CotetMaager- Admiistratorhadbuch. Weitere Iformatioe zum Arbeite mit eiem VIP-CM-System sid im VIP CotetMaager-Beutzerhadbuch ethalte. 2.1 Objektverwaltug Das VIP Java API bietet Zugriff auf wesetliche Methode der Objektverwaltug. Die Bearbeitug vo VIP-Objekte uterliegt eiem fest defiierte Workflow aus Editiere (Bearbeite), Qualitätssicherug ud Veröffetlichug im Produktiosbetrieb. Welche Aktioe a eiem VIP- Objekt durchgeführt werde köe, ist vom Status des Objekts im Workflow, dem Objekttyp ud de Zugriffsrechte des agemeldete Beutzers abhägig. Die Zusammehäge zwische diese Aspekte solle i de folgede Abschitte erläutert werde. VIP CotetMaager Programmierhadbuch 17

Kapitel 2 Objektdate VIP CotetMaager diet der Verwaltug vo Websites. Websites ethalte bestimmte Dokumete, die für die verschiedeste Zielgruppe verwaltet werde. Solche Dokumete köe z.b. HTML- oder XML- Dokumete, Grafike oder Microsoft Word-Dokumete sei. Über eie Webserver köe Sie im Iter-, Itra- oder Extraet veröffetlicht werde. Die Dokumete eier vo VIP CotetMaager verwaltete Website werde als VIP-Objekte bezeichet. Jedes VIP-Objekt hat eie bestimmte Typ (siehe Abschitt Objekttyp auf Seite 20) ud setzt sich aus folgede Bestadteile, de so geate Objektdate, zusamme: Ihalt: Der Ihalt (Cotet) eies VIP-Objekts sid die Date des eigetliche Dokumets wie z.b. die Zeichefolge i eier HTML- Datei oder die Folge vo Bytes eier Grafikdatei. Metadate: Die Metadate eies Objekts liefer Iformatioe über das Dokumet, z.b. Erstellugsdatum, Autor, Titel, Objekttyp. Protokoll: Das Protokoll liefert eie Beschreibug sämtlicher Äderuge, die am Objekt durchgeführt wurde. Sämtliche VIP-Objekte werde über ihre OID (Object Idetifier) refereziert. Ohe Agabe der Versio idetifiziert die OID das aktuelle VIP- Objekt. Um ältere Versioe zu erhalte, wird zusätzlich eie Versiosagabe beötigt. Nebe eiem defiierte Satz vo Metadate köe Sie jedem Objekt über seie Objekttyp eie Attributmege zuorde. Eie Attributmege ist eie Mege vo Attribute, die spezielle Eigeschafte vo Objekttype beschreibe. Dazu köe u.a. die Auflösug vo Grafike oder ei Copyright-Vermerk gehöre. 18 VIP CotetMaager Programmierhadbuch

Kozepte Außerdem köe Sie die Ihalte vo VIP-Objekte kategorisiere. Zu diesem Zweck defiiere Sie Objektkategorie, fürdiesieeiereihevo Eigeschafte festlege köe. Eie mögliche Objektkategorie wäre Rechuge, die durch die Eigeschafte Rechugsempfäger ud Status gekezeichet sei köe. Ausführliche Iformatioe zur Bearbeitug vo VIP-Objekte über die Fuktioe des VIP Java API bietet Kapitel 7 Objektverwaltug. Objektstatus Die Erstellug ud Bearbeitug vo VIP-Objekte mit VIP CotetMaager uterliegt eiem fest defiierte Workflow. Durch die verschiedee Arbeitsschritte befidet sich ei VIP-Objekt immer i eiem bestimmte Bearbeitugszustad. Der Workflow vo VIP CotetMaager bestimmt somit de Status eies VIP-Objekts. Etspreched de Aktioe der Objektverarbeitug werde die folgede Objektstatus uterschiede: geädert (auch bei eu agelegte Objekte) ausgeliehe vorgelegt abgeleht freigegebe verzögert freigegebe gelöscht Die Objektstatus werde im VIP Java API durch das Iterface ObjectState repräsetiert, siehe Abschitt Objektstatus Kostate ud mögliche Aktioe auf Seite 143. VIP CotetMaager Programmierhadbuch 19

Kapitel 2 Durch die verschiedee Arbeitsschritte bzw. Aktioe am VIP-Objekt ädert sich der jeweilige Status eies Objekts. Jede Statusäderug wird protokolliert. Dabei wird die vorherige Versio eies VIP-Objekts getret vo der aktuelle Versio archiviert, sodass ältere Versioe icht verlore gehe. Auf diese Versioe köe Sie jederzeit wieder zugreife. Welche Aktioe a eiem VIP-Objekt durchgeführt werde köe, hägt vo folgede Faktore ab: der Datehaltugssicht (Edit, QS oder Produktio) dem aktuelle Status des VIP-Objekts Hiweis: Die Möglichkeit, bestimmte Aktioe am Objekt durchzuführe, hägt auch vom Status des übergeordete Themas ierhalb der Navigatiostopologie ab. der Zugriffssteuerugsliste des VIP-Objekts de zugewiesee Fuktiosbereiche des Beutzers Objekttyp Der Objekttyp bestimmt, zu welcher Klasse vo Dokumete ei VIP- Objekt gehört. Daraus ergebe sich verschiedee Eigeschafte des VIP- Objekts, u.a.: Attribute aus eier Attributmege, die das VIP-Objekt besitze ka Art der Vorlage, die das VIP-Objekt verwede ka Dateie, die bei der Seitegeerierug als Repräsetatio des VIP- Objekts erzeugt werde köe 20 VIP CotetMaager Programmierhadbuch

Kozepte Nebe Objekttype wie z.b. HTML-Seite, JSP-Vorlage oder PDF- Dokumet gibt es Themeobjekte. Ei Themeobjekt ka adere utergeordete Objekte aufehme. Es diet isofer auch der Strukturierug der VIP-Objekte i der Navigatiossicht ud damit der Strukturierug der Website. Ei weiterer wichtiger Objekttyp sid Vorlageobjekte. Sie bestimme das Layout ud sid für die Seitegeerierug wesetlich. Die Objekttype werde im VIP Java API durch das Iterface ObjectType repräsetiert, siehe Abschitt Objekttype auf Seite 149. Workflow ud Datehaltugssichte Etspreched dem Bearbeitugsstatus eies VIP-Objekts gibt es verschiedee Sichte auf das Objekt: Edit-, QS- ud Produktiossicht. Edit-Sicht: Die Edit-Sicht repräsetiert de Arbeitsschritt der Erstellug ud Bearbeitug vo VIP-Objekte. Die Objekte wie beispielsweise HTML-Seite werde vo Redakteure oder Grafiker agelegt ud geädert. Dafür beötige diese Beutzer etsprechede Zugriffsrechte für die Objekte. Nach der Bearbeitug werde die Objekte der Qualitätssicherug vorgelegt. Dadurch werde die Äderuge am Objekt auch i der QS-Sicht sichtbar. QS-Sicht: Die QS-Sicht zeigt die VIP-Objekte eischließlich aller Äderuge, die der Qualitätssicherug vorgelegt worde sid. Mitarbeiter der Qualitätssicherug köe die Äderuge ihaltlich ud formal prüfe. Aufgrud dieser Prüfug wird etschiede, ob ei Objekt zur Nachbesserug zurückgeschickt oder freigegebe wird. Für die Freigabe ist das etsprechede Zugriffsrecht ötig. Durch die Freigabe werde die Objekte i die Produktiossicht übertrage. Damit wird die aktuelle Objektversio i der publizierte Website verfügbar. VIP CotetMaager Programmierhadbuch 21

Kapitel 2 Produktiossicht: Diese Sicht stellt die freigegebee Seite eier Website bereit. Mithilfe eies HTTP-Servers ka auf die Seite über das Iteret oder Itraet zugegriffe werde. Je ach Objektstatus sid die VIP-Objekte eier Website i verschiedee Sichte verfügbar ud köe bearbeitet werde. Ei eu agelegtes Objekt ist beispielsweise ur i der Edit-Sicht sichtbar, icht aber i der QS- oder Produktiossicht. Durch verschiedee Aktioe im Rahme der Objektbearbeitug ka der Status eies VIP-Objekts i de verschiedee Sichte uterschiedlich sei. Die folgede Grafik veraschaulicht de Workflow bei der Bearbeitug vo VIP-Objekte: Edit- Sicht QS- Sicht Produktiossicht c reat Editor e VIP- Objekt checkout checki VIP- Objekt reject submit oder delete VIP- Objekt d e release geeratepage VIP- Objekt s t r o y Abb. 1 Workflow bei der Bearbeitug eies VIP-Objekts 22 VIP CotetMaager Programmierhadbuch

Kozepte Verfügbarkeit der Sichte auf de VIP-CM-Server Die verschiedee Sichte auf die VIP-Objekte werde durch die Deploymetsysteme erzeugt, dabei bestimmt der Typ des Deploymetsystems die Sicht: Ei Edit-Deploymetsystem erzeugt Web-Objekte i der Edit- Sicht usw. Welche Type vo Deploymetsysteme auf eiem VIP-CM-Server istalliert werde köe, ist wiederum vom Servertyp abhägig (Edit, QS, Produktio, PortalMaager). Auf eiem Edit-Server köe Deploymetsysteme für alle Sichte istalliert werde, sodass auf diesem Servertyp der gesamte VIP-CM-Workflow zur Verfügug steht. Auf eiem QS-Server köe higege ur QS- ud Produktiosdeploymetsysteme istalliert werde. Die folgede Tabelle veraschaulicht die Verfügbarkeit der verschiedee Datehaltugssichte auf de Servertype: Tabelle 1 Servertype ud mögliche Datehaltugssichte Servertyp Edit-Sicht QS-Sicht Produktiossicht Edit QS Produktio PortalMaager* *Diemögliche Datehaltugssichte auf eiem PortalMaager-Server häge davo ab, vo welchem adere VIP-CM-Server dieser beachrichtigt wird (Routig-Eistellug der Website). Erhält der PortalMaager- Server seie Date vo eiem Edit-Server, köe alle drei Type vo Deploymetsysteme istalliert werde. VIP CotetMaager Programmierhadbuch 23

Kapitel 2 Beim Zugriff auf VIP-Objekte muss die verwedete Datehaltugssicht agegebe werde. Dazu diee die Typkostate im Iterface Server, siehe Abschitt Datehaltugssichte auf Seite 147. Nebe der Eiteilug i verschiedee Servertype werde die Server des VIP-CM-Systems außerdem i Kategorie (Master- ud Proxy-Server) uterteilt. I jedem VIP-CM-System gibt es eie Master-Admiistratiosserver zur Verwaltug der Kofiguratios- ud Systemdate ud eie oder mehrere Master-Edit-Server zur Verwaltug der Website-Date. Physikalische Äderuge a de VIP-Objekte köe ur Master-Edit- Server durchführe. Zusätzlich dazu köe Sie beliebig viele Proxy- Server eirichte. Die Proxy-Server delegiere etsprechede Aktioe a de Master-Edit-Server der Website. Iformatioe zu VIP-CM-Server köe über das Iterface Server ermittelt werde, siehe Abschitt 4.6 Iformatioe zu VIP-CM-Server auf Seite 96. Topologie Orgaisatio vo VIP-Objekte Die VIP-Objekte eier Website köe aufgrud bestimmter Eigeschafte (Metadate) als hierarchische Struktur mit über- ud utergeordete Objekte dargestellt werde. Im Iterface Topology sid die folgede Topologie, auf Basis verschiedeer Prizipie der hierarchische Orgaisatio vo VIP-Objekte, defiiert: Themestruktur (Navigatiostopologie) I der Themestruktur werde Objekte Theme zugewiese. Jedes Thema ist wiederum ei VIP-Objekt, das eiem adere Thema utergeordet ist. Diese Hierarchie ist vergleichbar mit Verzeichisse ud Uterverzeichisse i eiem Dateisystem. 24 VIP CotetMaager Programmierhadbuch

Kozepte Für jede Website gibt es geau ei Thema, welches das Wurzelobjekt des Navigatiosbaums eier Website ist. Ausgehed vom Wurzelobjekt verzweigt der Baum i Theme ud Utertheme. Alle Objekte sid diesem Wurzelobjekt direkt oder idirekt utergeordet. Vorlagestruktur (Vorlagetopologie) I der Vorlagestruktur werde Objekte ach ihre Vorlage geordet. Vorlage sid ebefalls VIP-Objekte. Jede Website ka eie oder mehrere Vorlage ethalte, die ieiader verschachtelt sei köe. Alle Objekte werde ihre jeweilige Vorlage utergeordet. Objekte, die keie Vorlage besitze ud selbst icht vom Objekttyp Vorlage sid, werde i dieser Sicht icht dargestellt. 2.2 Zugriffssteuerug Durch die Fuktioe der Zugriffssteuerug ka mit VIP CotetMaager der Zugriff auf die Objekte eier Website ud auf die Admiistratio des VIP-CM-Systems geau gesteuert werde. Die Rechtestruktur i eiem VIP-CM-System wird durch mehrere Kompoete gebildet: Die Zugehörigkeit vo Beutzer zu Gruppe ud Rolle Rolle werde zumeist aufgabebezoge defiiert, währed Gruppe i der Regel a orgaisatorische Strukture wie Abteiluge oder Projekte geküpft sid. Beutzer, Gruppe ud Rolle werde als Pricipals bezeichet. Die Zuweisug vo Fuktiosbereiche zu Pricipals Die Fuktiosbereiche steuer, welche Objekte die Beutzer alege dürfe ud welche Asichte, Dialoge ud Fuktioe ihe im CMS-Cliet zur Verfügug stehe. VIP CotetMaager Programmierhadbuch 25

Kapitel 2 Das Festlege vo Stadard-Objektrechte für Pricipals Für die Pricipals köe Vorgabe für die Objektrechte defiiert werde. Über die Objektrechte wird festgelegt, welche Aktioe dem Beutzer für ei VIP-Objekt, dem er zugeordet wurde, stadardmäßig zur Verfügug stehe (Lese, Metadate äder, Freigebe etc.). Das Festlege vo Zugriffsrechte für die Objekte der mit VIP verwaltete Websites Für die eizele Objekte der Website ka i eier Zugriffssteuerugsliste festgelegt werde, welche Gruppe ud Rolle (bzw. eizele Beutzer) Zugriff erhalte ud welche kokrete Objektrechte für de Zugriff gelte. I diesem Prozess köe die Stadard-Objektrechte der Pricipals, die Zugriff auf ei VIP-Objekt habe, geädert werde. Das Festlege der Admiistratiosrechte für das VIP-CM-System Jeder Pricipal ka Admiistratiosrechte für das VIP-CM-System erhalte, die abgestuft vergebe werde köe. Nur Pricipals mit Admiistratiosrechte köe Kofiguratiosäderuge vorehme oder de Systemstatus äder. 26 VIP CotetMaager Programmierhadbuch

Kozepte Profile vo Beutzer, Gruppe ud Rolle Die Profile der Pricipals ethalte folgede Eistelluge: Eigeschafte wie E-Mail-Adresse, Keug oder Name Zuorduge zu adere Pricipals (z.b. vo Beutzer zu Gruppe/Rolle ud Stellvertreterzuorduge), zu Websites ud Fuktiosbereiche Admiistratiosrechte ud Stadard-Objektrechte Mithilfe der Fuktioe des VIP Java API köe Beutzer agelegt ud gelöscht sowie dere Profile bearbeitet werde. Ausführliche Iformatioe dazu ethält das Kapitel 4 Admiistratiositerface. Fuktiosbereiche Jedem Pricipal köe Fuktiosbereiche zugewiese werde. Über die Fuktiosbereiche steuer Sie, welche Fuktioe vo VIP CotetMaager dem Beutzer zur Verfügug stehe. Dabei erfülle die Fuktiosbereiche zwei wesetliche Aufgabe: 1. Sie lege fest, welche Type vo Objekte die Beutzer alege dürfe. Die Fuktiosbereiche wie z.b. Alege Basis sid stadardmäßig mit Objekttype verküpft. Nur Beutzer, die über de etsprechede Fuktiosbereich verfüge, köe Objekte mit diesem Objekttyp alege. Die im VIP-Admiistratiosprogramm vorgegebee Verküpfuge mit Objekttype köe dort auch geädert werde. 2. Sie bestimme, welche Asichte ud Dialoge dem Beutzer im CMS-Cliet zur Verfügug stehe. Auf diese Weise wird festgelegt, welche Aktioe der Beutzer durchführe ka. So wird z.b. der Zugriffsrechte-Dialog ur agezeigt, we der etsprechede Beutzer über de Fuktiosbereich Dialog Zugriffsrechte verfügt. VIP CotetMaager Programmierhadbuch 27

Kapitel 2 Über die Fuktioe des VIP Java API köe Fuktiosbereiche agelegt ud gelöscht werde (siehe Abschitt 4.4 Fuktiosbereiche bearbeite ab Seite 89) Zuorduge zwische Fuktiosbereiche ud Pricipals hergestellt ud aufgehobe werde (siehe Abschitt 4.5 Zuorduge vo Pricipals bearbeite auf Seite 94) Zugriffssteuerugsliste VIP CotetMaager führt für jedes VIP-Objekt eie Zugriffssteuerugsliste (Access Cotrol List = ACL). I dieser Liste ist festgelegt, über welche Zugriffsrechte die jeweilige Beutzer, Gruppe oder Rolle verfüge. Wird ei Pricipal der Zugriffssteuerugsliste hizugefügt, werde zuächst die Stadard-Objektrechte des Pricipals gesetzt (siehe Stadard-Objektrechte vo Pricipals auf Seite 86). Diese Rechte köe auf Objektebee jederzeit geädert werde. Dabei köe Zugriffsrechte explizit als erlaubt bzw. verbote ausgezeichet werde, oder sie werde icht explizit gesetzt. Bei eier Rechteüberprüfug werde im letztere Fall bei Beutzer alle zugewiesee Gruppe ud Rolle dahigehed utersucht, ob sie eie explizite Erlaubis oder ei Verbot defiiere (wobei ei Verbot immer Vorrag hat). Die Zugriffssteuerugsliste werde vererbt, d.h., jedes i der Navigatiossicht tiefer ageordete VIP-Objekt erbt i der Regel die Rechte des übergeordete Objekts (des Vaters). Beim Alege eier Website wird ei Pricipal ausgewählt, der iitial volle Zugriff auf alle Objekte der Website hat. Dieser wird i die Zugriffssteuerugsliste des Wurzelobjekts der Website aufgeomme. Alle weitere VIP-Objekte dieser Website erbe, falls icht explizit gesetzt, die Rechte des Wurzelobjekts. 28 VIP CotetMaager Programmierhadbuch

Kozepte Hiweise zur Bearbeitug der Zugriffssteuerugsliste vo VIP-Objekte über das VIP Java API erhalte Sie im Abschitt Zugriffssteuerugsliste das Iterface ACL ab Seite 206. Admiistratiosrechte für das VIP-CM-System Nebe de Zugriffsrechte für VIP-Objekte gibt es Admiistratiosrechte für das VIP-CM-System. Pricipals mit Admiistratiosrechte habe Zugriff auf die Kofiguratio, Beutzer- ud Systemverwaltug sowie die Systemübersicht vo VIP CotetMaager. Die Admiistratiosrechte köe abgestuft gewährt werde, sodass ei Beutzer ur Teilbereiche der Admiistratio eisehe oder bearbeite ka. Um bestimmte Fuktioe des VIP Java API auszuführe, beötigt der Beutzer, der für die Ameldug eies Agete verwedet wird, Admiistratiosrechte. So köe Beutzer ur agelegt werde, we das Admiistratiosrecht Pricipal alege, äder, lösche vorhade ist. Eiige der Rechte köe ur zusamme mit adere vergebe werde, d.h., sie beihalte adere Rechte. We Sie z.b. eiem Pricipal das Recht Kofiguratioseitrag alege, äder, lösche gewähre, erhält er automatisch auch die Rechte Zugriff auf Kofiguratio ud Kofiguratioseitrag äder. Die folgede Tabelle gibt eie Überblick über die eizele Rechte ud dere Abhägigkeite: VIP CotetMaager Programmierhadbuch 29

Kapitel 2 Tabelle 2 Die eizele Admiistratiosrechte Recht Leseder Zugriff auf Beutzerverwaltug (API) Zugriff auf Beutzerverwaltug Pricipal äder Zuordug zu Website/ Fuktiosbereich äder Pricipal alege, äder, lösche Mögliche Aktioe We ei Server-Aget die Beutzeriformatioe lese soll, muss der Beutzer, der für die Ameldug des Agete verwedet wird, über dieses Recht verfüge. Leseder Zugriff auf die Beutzeriformatioe Die Baumelemete Beutzer, Gruppe ud Rolle i der Asicht Beutzerverwaltug werde ur eigebledet, we der Beutzer dieses Recht hat. Äder der Eistelluge vo Beutzer, Gruppe ud Rolle sowie der Zuorduge zwische diese Elemete, z.b. die Zuordug eies Beutzers zu eier Gruppe. Um die Zuordug vo Pricipals zu Fuktiosbereiche ud Websites äder zu köe, ist außerdem das Recht Zuordug zu Website/Fuktiosbereich äder erforderlich. Beihaltet das Recht Zugriff auf Beutzerverwaltug Äder der Zuordug vo Beutzer, Gruppe ud Rolle zu Websites ud Fuktiosbereiche Beihaltet das Recht Zugriff auf Beutzerverwaltug Alege, Bearbeite ud Lösche vo Beutzer, Gruppe ud Rolle sowie Eirichte besteheder Pricipals aus eiem LDAP- Verzeichisdiest als VIP-Pricipals Beihaltet die Rechte Pricipal äder, Zugriff auf Beutzerverwaltug ud Zuordug zu Website/Fuktiosbereich äder 30 VIP CotetMaager Programmierhadbuch

Kozepte Recht Admiistratiosrechte äder Zugriff auf Kofiguratio Kofiguratioseitrag äder Kofiguratioseitrag alege, äder, lösche Zugriff auf Systemverwaltug Systemstatus äder Mögliche Aktioe Bearbeite der Admiistratiosrechte vo Pricipals Beihaltet das Recht Zugriff auf Beutzerverwaltug Leseder Zugriff auf die Kofiguratio vo VIP CotetMaager Die Baumelemete Fuktiosbereiche ud Websites der Asicht Beutzerverwaltug sowie die gesamte Asicht Kofiguratio sid ur sichtbar, we der Beutzer dieses Recht hat. Bearbeite vo Elemete i der Asicht Kofiguratio eischließlich der Zuorduge zwische de Elemete, z.b. die Zuordug vo Proxy-Server zu Websites Beihaltet das Recht Zugriff auf Kofiguratio Alege, Bearbeite ud Lösche vo Elemete i der Asicht Kofiguratio, z.b.vo Websites oder Deploymetsysteme Beihaltet die Rechte Kofiguratioseitrag äder ud Zugriff auf Kofiguratio Leseder Zugriff auf die Systemverwaltug ud auf die Systemübersicht Die Asichte Systemverwaltug ud Systemübersicht erscheie ur, we der Beutzer dieses Recht hat. Beutzer abmelde, Rulevels vo Server ud Websites äder ud laufede Aktioe auf eiem Server abbreche, Befehle im Meü Extras utze Beihaltet das Recht Zugriff auf Systemverwaltug VIP CotetMaager Programmierhadbuch 31

Kapitel 2 Die Admiistratiosrechte vo Pricipals köe über das AdmiHadler-Iterface bearbeitet werde, siehe Abschitt 4.3 Rechte vo Pricipals bearbeite ab Seite 82. 2.3 Seitegeerierug (Deploymet) Für die Azeige der Objekte i eiem Browser wird aus dem VIP-Objekt ei so geates Web-Objekt geeriert. Dieser Vorgag wird als Seitegeerierug bezeichet. Jedes VIP-Objekt ka eie Vorlage (Template) habe, die i der Regel ei Layout für die zu geerierede Webseite defiiert. Bei der Seitegeerierug wird der Ihalt des VIP-Objekts mit der Vorlage verbude. Eie Vorlage ist selbst ei VIP-Objekt, das wiederum eie Vorlage ethalte ka. Die geerierte Seite hägt u.a. vo dieser Vorlagehierarchie (Kaskade) ab. Weiterhi spiele der Objekttyp des zu geerierede VIP-Objekts ud die Objekttype der Vorlage eie wesetliche Rolle für die Seitegeerierug. So werde z.b. für Microsoft Word-Dokumete stadardmäßig zwei Dateie erzeugt: das Dokumet selbst ud eie HTML-Seite mit eiem Verweis auf die Word-Datei. Bei HTML-Objekte mit zugeordeter Vorlage wird der <body>-bereich des HTML-Dokumets ausgeschitte. Etscheided ist auch die Datehaltugssicht, die bestimmt, welche Sicht auf die VIP-Objekte für die Geerierug verwedet werde (Edit, QS oder Produktio), siehe Abschitt Workflow ud Datehaltugssichte auf Seite 21. 32 VIP CotetMaager Programmierhadbuch

Kozepte Für die Seitegeerierug sid die Deploymetsysteme zustädig. Sie erzeuge aus de i der Datebak gespeicherte VIP-Objekte die Web-Objekte, die mithilfe eies HTTP-Servers i eiem Browser dargestellt werde köe. Ei Deploymetsystem geeriert die Web-Objekte für eie VIP-CM-Server, eie Website ud eie Datehaltugssicht. I eiem VIP-CM-System köe Sie beliebig viele Deploymetsysteme kofiguriere. Jedes Web-Objekt wird über eie URL refereziert. Da für eiud dasselbe VIP-Objekt vo mehrere Deploymetsysteme verschiedee Web-Objekte erzeugt werde köe, gibt es im Allgemeie mehrere URLs für ei ud dasselbe VIP-Objekt. Um auf die Date vo Deploymetsysteme zuzugreife, köe die Fuktioe des Iterfaces DeploymetHadler geutzt werde, siehe Kapitel 8 Deploymet. VIP CotetMaager Programmierhadbuch 33

Kapitel 2 2.4 Authetifizierug ud Kotextverwaltug Für das Arbeite mit dem VIP-CM-System muss sich ei Beutzer authetifiziere. Bei der Ameldug ist daher die Agabe eier eideutige Beutzerkeug (User-ID) ud eies Passworts erforderlich. Die Überprüfug der Agabe überimmt ei Master- bzw. Proxy-Admi- Server. Bei eier erfolgreiche Ameldug gibt das VIP-CM-System eie so geate Kotext-ID zurück, die die aktuelle Sessio für diese Beutzer repräsetiert. Die Kotext-ID wird oft als Argumet a API-Methode übergebe, damit das System die Berechtigug für die vo de Methode ausgelöste Aktioe überprüfe ka. Iformatioe zur Kotextverwaltug sowie zur A- ud Abmeldug bietet Kapitel 6 Kotextverwaltug. 2.5 Ereigisse I eiem VIP-CM-System werde Ereigisse gefeuert, we sich der Status eies VIP-Objekts ädert, ei Web-Objekt verarbeitet wird oder sich der Zustad des gesamte Systems ädert. Dazu gehöre sowohl Ereigisse, die ach der Aktio gefeuert werde (we die Statusveräderug erfolgt ist), als auch Vorbereitugsereigisse, die vor der eigetliche Aktio gefeuert werde. 34 VIP CotetMaager Programmierhadbuch

Kozepte Agete köe sich auf Ereigisse registriere. Bei der Registrierug auf Vorbereitugsereigisse ka eie Aktio durch das Eilege eies Vetos (i Form eier Exceptio) abgebroche werde. Ausführliche Iformatioe zu de Evets des VIP Java API ethält Kapitel 5 Ereigisverarbeitug. Ei Beispiel für eie Agete, der sich auf ei Ereigis registriert ud gegebeefalls eie Aktio durch ei Veto abbricht, fide Sie im Abschitt 11.4 Veto gege Metadateäderug auf Seite 251. 2.6 Systemverwaltug Nebe der Objektverwaltug bietet das VIP Java API auch Zugriff auf die Fuktioe der Systemverwaltug. So köe die Bericht- ud Tracig- Fuktioe der VIP-CM-Server geutzt ud Rulevels vo Server ud Websites gesetzt werde. Der Zugriff auf diese Fuktioe erfolgt über die Iterfaces SystemHadler ud AdmiHadler: Iterface SystemHadler: Ermittel agemeldeter Beutzer sowie Zugriff auf Berichte, Protokolle ud Tracig-Fuktioe der VIP-CM- Server Siehe Kapitel 10 Systemverwaltug Iterface AdmiHadler: Ermittel vo Iformatioe über VIP-CM- Server, Websites ud Deploymetsysteme sowie Äder des Rulevels vo Server ud Deploymetsysteme Siehe Kapitel 4 Admiistratiositerface VIP CotetMaager Programmierhadbuch 35

36 VIP CotetMaager Programmierhadbuch

KAPITEL 3 3Eisatz des VIP Java API Dieses Kapitel erläutert die Eibidug vo Server-Agete, die auf Grudlage des VIP Java API etwickelt wurde, i das VIP-CM-System. Außerdem wird die zetrale Klasse VipRutime vorgestellt ud die Fehlerbehadlug des VIP Java API beschriebe. 3.1 Server-Agete Server-Agete sid Java-Implemetatioe auf Basis des VIP Java API. Durch Server-Agete ka die Fuktioalität der VIP-CM-Server ergäzt bzw. erweitert werde. Server-Agete werde beim Starte eies VIP- CM-Servers gelade ud i derselbe Java Virtual Machie (JVM) wie der jeweilige VIP-CM-Server ausgeführt. Daher müsse alle Agete auf Basis des zum Ausführe der VIP-CM-Server verwedete Java SDK (Software-Developmet-Kit) etwickelt werde. Hiweis: Damit ei Server-Aget korrekt gelade wird, packe Sie die etsprechede Klasse i eie JAR-Datei ud kopiere Sie diese i das Verzeichis \exteral_lib\ im VIP-Istallatiosverzeichis. Starte Sie aschließed de etsprechede VIP-CM-Server eu. VIP CotetMaager Programmierhadbuch 37

Kapitel 3 Kofiguratio vo Parameter ud Kostruktore Das Eibide ud die Kofiguratio vo Server-Agete erfolge im VIP- Admiistratiosprogramm über Kofiguratio Server-Agete. Hier defiiere Sie die beötigte Eigeschafte des Agete ud setze etsprechede Werte. Diese Eigeschafte köe über eifache Parameter defiiert werde, dee im VIP-Admiistratiosprogramm Werte zugewiese werde. Es ist aber auch möglich, baumartige Hierarchie vo Parameter zu defiiere. Zu diesem Zweck lege Sie so geate Kote a. Ei Kote ka eizele Parameter oder weitere Uterkote ethalte. Abb. 2 Server-Agete im Admi-Cliet verwalte 38 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API Jeder Server-Aget muss das Iterface ServerAget (Package de.gauss.vip.api) implemetiere. Der Aget beötigt immer eie als public deklarierte Kostruktor. Dieser sollte als Argumet eie de.gauss.vip.cofig.propertymap erhalte. Das Iterface de.gauss.vip.cofig.propertymap ist i der Javadoc zum API vo VIP PortalMaager (VIP Eterprise Objects) beschriebe. Es besteht auch die Möglichkeit, eie Kostruktor mit eiem Argumet vom Typ java.util.properties für de Agete zu verwede. Falls die Parameter des Agete jedoch icht flach, soder hierarchisch mit Kote orgaisiert sid, müsse Sie i jedem Fall ei Argumet vom Typ de.gauss.vip.cofig.propertymap beutze. Der etsprechede Kostruktor wird beim Alege des Agete-Objekts mit de i der Kofiguratio eigestellte Eigeschafte aufgerufe. Die Eigeschafte werde mit der Methode getproperty bzw. getpropertyvalue gelese. I de Eistelluge eies Agete wird auch die über de Klassepfad zu erreichede Java-Klasse des Agete agegebe. Beispiel 1 Aget mit hierarchischer Aordug der Argumete Die folgede Abbildug zeigt die Kofiguratio eies Agete, desse Argumete i Kote zusammegefasst sid. VIP CotetMaager Programmierhadbuch 39

Kapitel 3 Abb. 3 Kofiguratio des Demo-Agete mit Kote Der Kostruktor der Klasse DemoAget mit geschachtelte Parameter sieht folgedermaße aus: public class DemoAget implemets de.gauss.vip.api.serveraget [...] private fial Strig userame; private fial Strig password; private fial Strig website1; private fial Strig website2; private fial Strig website3; public DemoAget(de.gauss.vip.cofig.PropertyMap cofig) throws de.gauss.vip.cofig.keynotfoudexceptio de.gauss.vip.cofig.propertymap websites = cofig.getpropertymap("websites"); userame = cofig.getpropertyvalue("userame"); 40 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API password = cofig.getpropertyvalue("password"); website1 = websites.getpropertyvalue("website1"); website2 = websites.getpropertyvalue("website2"); website3 = websites.getpropertyvalue("website3"); [...] Beispiel 2 Aget mit Argumete ohe Kote Die Kofiguratio des Demo-Agete ohe Kote köte folgedermaße aussehe: Abb. 4 Kofiguratio des Demo-Agete ohe Kote VIP CotetMaager Programmierhadbuch 41

Kapitel 3 Der Kostruktor der Klasse DemoAget sieht wie folgt aus. public class DemoAget implemets de.gauss.vip.api.serveraget [...] private fial Strig username; private fial Strig password; private fial Strig website; public DemoAget(java.util.Properties cofig) username = cofig.getproperty("userame"); password = cofig.getproperty("password"); website1 = cofig.getproperty("website"); [...] Das Iterface ServerAget Kostruktor Jede Klasse, die als Server-Aget geutzt werde soll, muss eie öffetliche (public) Kostruktor bereitstelle. Dieser Kostruktor muss etweder eie Parameter vom Typ de.gauss.vip.cofig.propertymap oder eie Parameter vom Typ java.util.properties erwarte Ist ei Kostruktor mit eiem Parameter vom Typ de.gauss.vip.cofig.propertymap vorhade, so wird dieser beim Start des Agete geutzt. Der Kostruktor sollte keie zeitaufwedige Arbeite erledige, da er sost de aufrufede Server-Thread blockiert. 42 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API Methode Folgede Methode sid im Iterface ServerAget defiiert ud müsse implemetiert werde. package de.gauss.vip.api; public iterface ServerAget public Strig getmaufacturer(); public Strig getdescriptio(locale locale); public Strig getversio(); public it getrequiredvipmajorversio(); public it getrequiredvipmiorversio(); public boolea start(strig servertype, it majorversio, it miorversio, Strig patchlevel); public void stop(); getmaufacturer, getdescriptio ud getversio Diese Methode diee dazu, eie Beschreibug des Agete zurückzugebe. Die dort gemachte Agabe werde z.b. im VIP- Admiistratiosprogramm uter Systemverwaltug Laufede Server Serverame Berichte ServerAgetMaager agezeigt. getrequiredvipmajorversio ud getrequiredvipmiorversio Diese Methode defiiere die vom Agete beötigte Versio der VIPCMSuite(sowirdz.B.mit8für Major ud1für Mior die VIP CotetMaager-Versio 8.1 spezifiziert). Ist die auf dem Server eigesetzte (d.h. laufede) Produktversio vo VIP CotetMaager kleier als die vom Agete ausgegebee Versio, da wird der Aget durch de VIP-CM-Server icht gestartet. VIP CotetMaager Programmierhadbuch 43

Kapitel 3 start Die Methode start wird vom VIP-CM-Server i folgede Situatioe aufgerufe: beim Hochfahre, geauer gesagt beim Wechsel vom Rulevel AGENTS_STOPPED i de Rulevel SINGLE_USER (siehe auch Abschitt 4.9 Rulevels auf Seite 102) Dies hat eiige Kosequeze, da zu diesem Zeitpukt der VIP- CM-Server och icht vollstädig hochgefahre ist. Isbesodere ka zu diesem Zeitpukt auch auf keie Website zugegriffe werde! we der Aget über das VIP-Admiistratiosprogramm explizit gestartet wird Vor jedem Start des Agete wird eie eue Istaz der Ageteklasse agelegt (uter Beutzug des Kostruktors dieser Klasse, siehe obe). Aschließed wird die start-methode der Agete- Istaz i eiem eigee Thread gestartet. Dieser Thread edet, sobald der Aufruf der Methode start zurückkehrt. Dies ka abhägig vo de Aktioe des Agete sehr kurz oder lägere Zeit ach dem Aufruf erfolge. I der start-methode ka sich der Aget auf Ereigisse registriere, die vom VIP-CM-Server bei eier Zustadsäderug (z.b. des Systems oder eizeler VIP-Objekte) gefeuert werde. We der Aget eigee Threads startet, ka auch ur der Aget selbst diese wieder beede. I diesem Fall muss die start-methode ubedigt de Wert true zurückgebe, damit die stop-methode des Agete bei Bedarf aufgerufe wird ud diese Methode die gestartete Threads wieder beede ka. Ei Beispiel für das Starte ud Stoppe vo Agete fide Sie auch i Abschitt 11.6 Beobachte vo Deploymet-Ereigisse auf Seite 257. 44 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API Hiweis: Der Rückgabewert der start-methode gibt a, ob der Aget erfolgreich gestartet wurde. Falls die Methode start de Wert false zurückgibt, zeigt das VIP-Admiistratiosprogramm de Agete sofort als gestoppt a! stop Die Methode stop sollte dafür verwedet werde, belegte Ressource freizugebe. Sie wird aufgerufe, we die start-methode de Wert true zurückgegebe hat (oder aufgerufe, aber och icht beedet wurde!) ud etweder der VIP-CM-Server vom Rulevel WEBSITE_INACCESSIBLE i de Rulevel AGENTS_STOPPED wechselt oder der Aget mithilfe des VIP-Admiistratiosprogramms gestoppt wird Hiweise Der Rückgabewert der start-methode bestimmt, ob die Methode stop überhaupt aufgerufe werde soll. Liefert start de Wert false, wird die stop-methode iemals aufgerufe! Die stop-methode sollte keie zeitaufwedige Arbeite erledige, da sie sost de aufrufede Server-Thread blockiert. VIP CotetMaager Programmierhadbuch 45

Kapitel 3 Beachrichtigug über Ereigisse Ei Server-Aget wird vo eiem Ereigisverteiler über Ereigisse iformiert, auf die er sich registriert hat. Die Beachrichtigug erfolgt, solage der Aget beim Ereigisverteiler registriert ist. Damit ist die Beachrichtigug uabhägig vom Status des Agete selbst. Sie hägt ausschließlich vo der Registrierug ab. I dem Beispiel i Abschitt 11.6 Beobachte vo Deploymet-Ereigisse auf Seite 257 wurde die Registrierug/Deregistrierug des Agete beim Ereigisbeobachter i die ru-methode des Threads verlegt. Auf diese Weise wird der Aget ur über Ereigisse iformiert, solage sei eigeer Thread läuft. Beispiel Das folgede Code-Beispiel zeigt eie Registrierug auf das Ereigis Vollzogee Rulevel-Äderug (RUNLEVEL_IS), sodass der Aget iformiert wird, we der Server die kofigurierte Website vollstädig hochgefahre hat. Weitere Iformatioe über die Registrierug auf Ereigisse fide Sie i Abschitt 5.4 Ereigisverteiler auf Seite 128. public class DemoAget implemets de.gauss.vip.api.serveraget private fial static de.gauss.vip.api.evet.evetdispatcher evetdispatcher = de.gauss.vip.api.viprutime.getevetdispatcher(); private fial de.gauss.vip.api.evet.evetlisteer evetlisteer = ew DemoRulevelListeer(); [...] private fial Strig website; [...] public boolea start(strig servertype, it majorversio, it miorversio, Strig patchlevel) [...] evetdispatcher.addlisteer(ull, 46 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API retur true; de.gauss.vip.api.evet.evet.runlevel_is, evetlisteer); public void stop() evetdispatcher.removelisteer(evetlisteer); [...] private class DemoRulevelListeer implemets de.gauss.vip.api.evet.evetlisteer public void performvipevet(de.gauss.vip.api.evet.evet e) Iteger level = (Iteger)e.getArgumet(de.gauss.vip.api.evet.Evet.ARG_NEW); Strig ws = (Strig)e.getArgumet(de.gauss.vip.api.evet.Evet.ARG_WEBSITE); if (level.itvalue() == de.gauss.vip.api.admi.rulevel.website_up && ws!= ull && ws.equals(website)) System.out.pritl("Website " + website + " is up"); VIP CotetMaager Programmierhadbuch 47

Kapitel 3 3.2 Die Klasse VipRutime Die Klasse VipRutime stellt de Zugriffspukt auf die wesetliche Schittstelle des VIP Java API dar: class VipRutime iterface AdmiHadler iterface ObjectHadler iterface AttributeHadler iterface Evet Dispatcher iterface Deploymet EvetDispatcher iterface CotextHadler iterface Deploymet Hadler iterface SystemHadler iterface PoolMaager Abb. 5 Grudlegede Iterfaces des VIP Java API Die eizele Iterfaces biete folgede Fuktioalitäte: Das Iterface AdmiHadler: Diese Schittstelle erlaubt de Zugriff auf Date ud Fuktioe der Beutzer- ud Systemverwaltug vo VIP CotetMaager. Auf diese Weise köe Sie Pricipals alege ud äder, Zuorduge bearbeite, Iformatioe über Server, Websites ud Deploymetsysteme abfrage sowie Rulevels auslese ud bearbeite. Siehe Kapitel 4 Admiistratiositerface. Das Iterface CotextHadler: Die Schittstelle für die Kotextverwaltug bietet Methode a, um sich am aktuelle VIP-CM-Server azumelde, abzumelde, das Passwort zu äder oder das Profil eies agemeldete Beutzers zu ermittel. Siehe Kapitel 6 Kotextverwaltug. 48 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API Das Iterface ObjectHadler: Die Schittstelle für die Objektverwaltug erlaubt de Zugriff auf die VIP-Objekte eier Website. Es werde alle aus dem VIP CMS Cliet (kurz: CMS-Cliet) bekate Aktioe auf VIP-Objekte uterstützt (z.b. Alege, Vorlege, Freigebe, Filter, Lösche vo VIP-Objekte). Siehe Abschitt 7.1 Das Iterface ObjectHadler ab Seite 142. Das Iterface AttributeHadler: Über diese Schittstelle ist es möglich, alle für eie Website verwedete Attributmege ud Objektkategorie auszulese. Siehe Abschitt 7.5 Attribute bearbeite ab Seite 185. Das Iterface DeploymetHadler: Diese Schittstelle ermöglicht de Zugriff auf die Metadate vo Web-Objekte wie Pfad ud URL zur geerierte Datei ud bietet Iformatioe zum Status ud zu Fehler des Deploymets. Siehe Kapitel 8 Deploymet. Das Iterface SystemHadler: Diese Schittstelle ermöglicht de Zugriff auf Fuktioe der Systemverwaltug. Dazu gehöre das Lese vo Server-Berichte ud -Protokolle sowie das Tracig. Siehe Kapitel 10 Systemverwaltug. Die Iterfaces EvetDispatcher ud DeploymetEvetDispatcher: Die Ereigisverwaltug bietet eie Schittstelle für die Registrierug (ud Deregistrierug) vo Ereigisbeobachter. Es hadelt sich dabei um eie für de VIP-CM-Server zetrale Istaz, die Ereigisse a registrierte Beobachter verteilt. Diese Ereigisse köe sich auf das gesamte VIP-CM-System, Websites oder Deploymetsysteme beziehe. VIP CotetMaager Programmierhadbuch 49

Kapitel 3 Agete köe sich auf Ereigisse vor dem Ausführe eier Aktio (PrepareEvet) oder erst ach erfolgreicher Ausführug (Evet) registriere. Im erste Fall ka eie Aktio durch das Eilege eies Vetos (i Form eier Exceptio) abgebroche werde. Siehe Kapitel 5 Ereigisverarbeitug. Das Iterface PoolMaager: Diese Schittstelle ermöglicht de Zugriff auf Verbiduge, die auf eigee Pooltype (z.b. für die Abidug vo Fremdsysteme) basiere. Diese Verbidugsarte köe über de Pool-Mechaismus vo VIP CotetMaager verwaltet werde. Siehe Kapitel 9 Poolverwaltug. public fial class VipRutime static public ObjectHadler getobjecthadler (Strig websitename); static public ObjectHadler getobjecthadler (Strig websitename, Strig servertype); static public AttributeHadler getattributehadler (Strig websitename); static public AdmiHadler getadmihadler (); static public CotextHadler getcotexthadler (); static public EvetDispatcher getevetdispatcher (); static public DeploymetEvetDispatcher getdeploymetevetdispatcher (); static public DeploymetHadler getdeploymethadler(strig website); static public Server getcurretserver (); static public PoolMaager getpoolmaager(); static public SystemHadler getsystemhadler(); 50 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API 3.3 Fehlerbehadlug Das VIP Java API sigalisiert Fehler i VIP CotetMaager durch de Exceptio-Mechaismus vo Java. Jede Methode, die eie Fehler liefer ka, wirft im VIP Java API eie Exceptio. Zu de Exceptio-Klasse köe lokalisierte Fehlermelduge ausgegebe werde (siehe Abschitt Lokalisierte Fehlermelduge auf Seite 51). Basisklasse VipApiExceptio Nebe der Basisklasse VipApiExceptio bietet das VIP Java API eie Reihe vo Exceptio-Klasse, die vo VipApiExceptio ableite. Diese Exceptios köe aufgrud vo Fehlersituatioe währed der Ausführug eier Methode geworfe werde. Lokalisierte Fehlermelduge Die Methode getmessage bzw. getmessages köe dazu verwedet werde, lokalisierte Texte zu eier Exceptio zurückzugebe. getmessage(java.util.locale locale) Die Methode liefert eie lokalisierte Text, der die Ursache des Fehlers beschreibt. getmessages(java.util.locale locale) Die Methode liefert alle lokalisierte Melduge des Fehlers als Strig-Array zurück. VIP CotetMaager Programmierhadbuch 51

Kapitel 3 Beispiel Das fehlgeschlagee Vorlege eies Objekts köte über getmessages folgede Melduge zurückgebe: Erste Meldug: Das Objekt 4711 kote icht vorgelegt werde. Zweite Meldug: Das übergeordete Thema wurde och icht vorgelegt. I diesem Fall ist es also die zweite Meldug, aus der die eigetliche Ursache des Fehlers hervorgeht. Die erste Meldug beschreibt das Resultat, ämlich dass das Objekt icht vorgelegt werde kote. public class VipApiExceptio exteds Exceptio public VipApiExceptio() public Strig getmessage() public Strig getmessage(locale locale) public Strig[] getmessages(locale locale) public Exceptio getwrappedexceptio() public Object[] getargumets() public void setwrappedexceptio(exceptio ex, Object[] args) public Strig getlocalizedmessage() public Strig tostrig() 52 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API Abgeleitete Exceptio-Klasse I de folgede Abschitte werde die vo VipApiExceptio abgeleitete Exceptio-Klasse kurz umrisse. Geauere Agabe hierzu fide Sie i der Olie-Dokumetatio (Javadoc). AccessDeiedExceptio Die Aktio ist aufgrud der für das Objekt defiierte Zugriffsrechte icht erlaubt. Mögliche Ursache I der Zugriffssteuerugsliste des Objekts hat der aktuelle Beutzer icht die erforderliche Rechte, um die jeweilige Aktio auszuführe. ActioNotPermittedExceptio Die Aktio ist icht zulässig. Mögliche Ursache Es wurde uerlaubte Metadate verwedet. Der Status der Vorlage bzw. des übergeordete Navigatiosobjekts ist icht richtig. Die Aktio wurde a eiem Server ausgeführt, a dem sie icht erlaubt ist (z.b. create auf QS-Server). AttributeExceptio Die verwedete Attribute bzw. Attributwerte sid icht korrekt oder die versuchte Äderug der Attribute ist fehlgeschlage. Mögliche Ursache Die Metadate i eiem RepositoryEtry ethalte ubekate Attribute bzw. uerlaubte Attributwerte. VIP CotetMaager Programmierhadbuch 53

Kapitel 3 Es wurde versucht, Attribute zu äder, die icht äderbar sid. Es wurde Attribute für die Suche verwedet, die icht suchbar sid. Hiweis: Iformatioe zu äderbare ud suchbare Attribute ethält die Tabelle 13 Stadardmetadate auf Seite 188. DatabaseExceptio Eie Datebakoperatio ist fehlgeschlage. Mögliche Ursache Die Datebak ist icht verfügbar. Der VIP-CM-Server ist mit eier Keug a der Datebak agemeldet, die keie ausreichede Zugriffsrechte beihaltet. DeploymetSystemNotFoudExceptio Es wurde eie Methode aufgerufe, bei der der Name eies Deploymetsystems agegebe werde muss. Das agegebee Deploymetsystem kote jedoch icht gefude werde. Mögliche Ursache Der Name des Deploymetsystems ist ubekat oder wurde falsch agegebe. Das agegebee Deploymetsystem existiert i der beutzte Website icht. 54 VIP CotetMaager Programmierhadbuch

Eisatz des VIP Java API FileExceptio Eie Dateioperatio ist fehlgeschlage. Mögliche Ursache Der VIP-CM-Server ist mit eier Keug (am Betriebssystem bzw. im Netzwerk) agemeldet, die keie ausreichede Zugriffsrechte im Dateisystem beihaltet. IvalidCotextIdExceptio Der Kotext ist ugültig. Mögliche Ursache Nach eier erfolgreiche Ameldug wurde lägere Zeit keie Aktio mehr durchgeführt, sodass der Kotext ugültig wurde. Statt des erwartete Beutzerkotextes wurde ei Trasaktioskotext verwedet. IvalidObjectExceptio Die versuchte Äderug a de Metadate eies Objekts ka icht durchgeführt werde, weil die Objektdate icht (mehr) gültig sid. Mögliche Ursache Die Metadate des Objekts wurde vo eiem adere Beutzer geädert. Die geäderte Metadate wurde och icht gelese. LiceseExceptio Die erforderliche Lizezbediguge sid icht erfüllt. Mögliche Ursache Die Lizez ist icht mehr gültig. VIP CotetMaager Programmierhadbuch 55