Die bisher vorgestellten Content-Objekte reichen als Container für die Inhalte weitgehend aus. Für spezielle, erweiterte Anforderungen kann der Anwender sich eigene zusätzliche Objekttypen definieren oder bestehende Objekte modifizieren. Mit ZMS ist das besonders einfach, weil man die Objekte mit einem grafischen Interface konstruieren kann. Mit ZMS werden diverse Zusatz-Objekte ausgeliefert (Wiki, Forum, Newsletter etc.) und es zahlreiche Angebote von der ZMS-Homepage. So existiert ein großer Pool von Objektdefinitionen, die entweder direkt zum Einsatz kommen oder als Vorlage für eigene Konstrukte dienen können.

Hinsichtlich der Handhabung verhalten sich Spezielle Objekte genauso wie Standardobjekte, d.h. man kann sie über das Aktionsmenü einfügen, löschen, kopieren, sowie die Aktivität und den Publikationszeitraum definieren. Über das Konfigurationsmenü „Content-Objekte“ lässt sich für jede Objektklasse per Checkbox-Klick bestimmen, ob das Objekt prinzipiell im Aktionsmenu erscheint (s. folgendes Bild). Auf diese Art kann man z.B. in Arbeit befindliche Objektdefinitionen für den Redakteur bei Bedarf ausblenden.

ZMSmanual_config_contentObjs2

Abbildung 36: Konfiguration der Content-Objekte. Die ZMS-Standardobjekte sind bereits vorinstalliert und können hier in ihrer Detail-Struktur betrachtet werden. Die Objektliste lässt sich erweitern durch Initialisieren von mitgelieferten Zusatz-Objekten oder durch XML-Import von Objektdefinitionen, die man z.B. in einer anderen Site verwendet und von dort exportiert hat. Und schließlich kann man „von Null“ eigene Objekte modellieren (mehr dazu s. Kapitel Spezielle Objekte konstruieren).

ZMSmanual_specObjsConfig

Abbildung 37: Spezielle Objekt-Definition für das „Mitarbeiter“-Objekt. Es besteht aus einigen Stringattributen, sowie Bild, Textfeld und Auswahlliste. Weiterhin gibt es ein objektspezifisches Stylesheet-Fragment (f_ccs_defaults, links im Edit-Frame gerade in Arbeit) und schließlich die Darstellungsmethode in Form von DTML-Code (letztes Element der Liste)

Die Objekt-Konfiguration erlaubt eine beliebige Folge von Attribut-Typen; dabei handelt es sich um sog. Primitives, Komplexe-Typen oder Meta-Attribute. Primitives sind einfache Datentypen (wie Zeichenkette oder Zahl), die keine Element-Hierarchie bedingen. Komplexe-Typen sind alle bereits definierten Objektklassen-Defintionen (d.h. man kann Objekt-Definitionen schachteln) und Meta-Attribute sind die im gesonderten Meta-Attribute definierten Elementtypen. Desweiteren ist es möglich, bestimmte Zope-Objekte in die eigene Objekt-Definition zu integrierten (es handelt sich um ZSQL-Methoden, DTML-Methoden und Python-Scripte. Folgende Primitives stehen zur Wahl:

  • amount: Float (Währung)
  • autocomplete: Select (JS-Autocomplete)
  • boolean: Checkbox
  • color: Farb-Selektor (auf Basis konventionell benamter CSS-Elemente)
  • constant: Vorgabewert
  • date: Datum-Angabe (mit Datepicker)
  • datetime: Zeitangabe
  • delimiter: GUI-Separartor
  • dialog: Textfeld mit Popup-Window für die Werteauswahl (erfordert browse-Methode)
  • dictionary: Datensoeicher vom Dictionary-Typ, kein GUI
  • file: Datei-Uploader
  • float: Eingabefeld für Kommazahlen
  • hint: GUI-Separator mit Hinweis-Text oder JS-Code
  • identifier: von ZMS automatisch gefülltes ID-Feld
  • image: Bild-Uploader
  • int: Eingabefeld für ganze Zahlen
  • interface: Frei programmierbares GUI-Element
  • list: Datenspeicher vom Listen-Typ, kein GUI
  • method: Attribut-Methode (DTML-Code)
  • multiautocomplete: Mehrfachauswahl mit Autocomplete
  • multiselect: Mehrfachauswahl
  • password: Passwort-Eingabe (versteckte Anzeige)
  • resource: Asset (z.B. Button)
  • richtext: Texteingabe-Feld mit Formatierungsoptionen
  • select: Einfach-Auswahliste
  • string: Eingabefeld für Zeichenkettten
  • text: Einfaches Texteingabe-Feld ohne Formatierungsoptionen
  • time: Eingabefeld für Zeitangaben
  • url: Eingabefeld mit URL-Selector (zur Linkauswahl)
  • xml: Datenspeicher für das XML-Format
ZMSmanual_specObjsBeispiel

Abbildung 38: Redaktionsansicht des Speziellen Objektes „Mitarbeiter“; das Objekt kann als ein Seiten-Element Bestandteil jedes Webdokumentes im Dokumentbaum werden.

ZMSmanual_specObjsBeispielEdit

Abbildung 39: Editier-Maske des Speziellen Objektes „Mitarbeiter“; die Eingabefelder werden automatisch entsprechend des in der Konfiguration gewählten Datentyps erzeugt. Die Maus befindet sich über dem Vorschau-Menü (Folgebild).

ZMSmanual_specObjsBeispielPreview

Abbildung 40: Vorschau-Ansicht des Speziellen Objektes „Mitarbeiter“; es ist eines unter anderen Elementen, aus denen sich der Textstroms zusammensetzt.