Der Content Navigator kann um zusätzliche Befehle erweitert werden, um Redakteuren und Administratoren die Arbeit zu erleichtern.
Neben dem eigentlichen Code in Tcl oder Java, mit dem die Funktionen eines zusätzlichen Befehls implementiert werden, müssen die Eigenschaften des Befehls (beispielsweise ein Name, mehrsprachige Titel, erforderliche Rechte) definiert werden. Wo und in welcher Form dies vorgenommen wird, ist in diesem Dokument beschrieben. Anschließend muss der Befehl ins Menü oder in die Werkzeugleiste oder in die Vorschau des Content Navigators eingebunden werden, damit er verwendet werden kann.
Es gibt drei Typen zusätzlicher Befehle:
| Zusätzlicher Befehl (Typ) | Kurzbeschreibung |
|---|---|
| Tcl-Prozedur | Tcl-Skript, dessen Ausgabe im Browser angezeigt wird. |
| Wizard (Assistent) | Tcl-Skript, das GUI-Dialoge erzeugt und steuert. |
| Servlet-Aufruf | JSP oder Servlet, das innerhalb der Session abläuft und lesend auf sie zugreifen kann. |
Zusätzliche Befehle können global, d. h. unabhängig von Dateien, für
genau eine Datei oder eine beliebige Anzahl von Dateien verfügbar gemacht
werden. Jeder Befehl ist ein bean-Eintrag in der
Konfigurationsdatei itemRegistry.xml im
config-Verzeichnis der GUI-Web-Applikation, oder der Datei
contentMenu.xml, die sich im instanzenspezifischen
config-Verzeichnis befindet. Beispiel:
<bean id="editImageWizard"
class="com.infopark.cm.htmlgui.browse.menuaction.CustomCommand">
<property name="titles"><map>
<entry key="en"><value>Image Editing</value></entry>
<entry key="de"><value>Bildbearbeitung</value></entry> </map>
</property>
<property name="selectionType"><value>single</value></property>
<property name="requiredObjectPermissions"><set>
<value>write</value>
<value>createChildren</value></set>
</property>
<property name="command">
<value>editImage::render</value>
</property>
<property name="dialog"><value>true</value></property>
<property name="objectTypes"><set>
<value>image</value></set>
</property>
<property name="necessaryPermission">
<value>wizardPermission</value>
</property>
</bean>
Die Elemente und Attribute in einer solchen Definition haben die folgende Bedeutung:
-
bean: Definiert den kundenspezifischen Befehl. Die anzugebende Klasse ist für alle Befehle gleich.-
id: ein eindeutiger Bezeichner. -
class: musscom.infopark.cm.htmlgui.browse.menuaction.CustomCommandsein.
-
-
property name="titles": definiert im Unterelementmapdie im GUI angezeigten Titel in den verfügbaren Sprachen. Diese Sprachen sind in Dateien mit dem Namenlocalizer.xy.xml(ersetzen Siexydurch das Sprachkürzel) im Verzeichnisshareenthalten. -
property name="selectionType": Definiert den Geltungsbereich des Befehls. Im Unterelementvaluekann angegeben werden:-
nonefür globale Befehle, -
singlefür Befehle, die auf genau eine Datei angewendet werden können, -
extendedfür Befehle, die auf eine beliebige Anzahl von Dateien angewendet werden können.
-
-
property name="requiredObjectPermissions": Definiert die dateispezifischen Rechte, nach denen dateispezifische Menübefehle (mit demselectionTypesingleoderextended) gefiltert werden.single-Menübefehle werden nicht angeboten, wenn die Rechte nicht vorhanden sind,extended-Menübefehle werden angeboten, dem dazugehörenden Befehlsskript wird jedoch die gefilterte und nicht die ursprüngliche Dateiliste übergeben. Es können die Rechtewrite,rootundcreateChildrenangegeben werden. -
property name="necessaryPermission": Definiert im Unterelementvaluedas globale Recht, das ein Benutzer haben muss, damit ihm dieser Befehl angeboten wird und er ihn ausführen kann. Es kann eines der vordefinierten globalen Rechte oder ein selbst definiertes globales Recht wiewizardPermissionangegeben werden. -
property name="command": Definiert im Unterelementvalueden Namen der auszuführenden Tcl-Prozedur, wenn der kundenspezifische Befehl aufgerufen wird. Die Prozedur muss im instanzenspezifischen Verzeichnisscript/cm/serverCmdsoder im entsprechenden Verzeichnis unterhalb vonFionaDir/shareabgelegt sein. -
property name="objectClasses": Definiert im Unterelementseteine Menge von Dateivorlagen, auf die der Befehl beschränkt werden soll. Innerhalb vonsetwird jede Dateivorlage in einemvalue-Element angegeben. Sind keine Dateivorlagen angegeben, so ist der Befehl nicht auf bestimmte Dateivorlagen beschränkt. -
property name="objectTypes": Analog zur Einschränkung auf Dateivorlagen lassen sich Befehle auf eine Auswahl der fünf Dateitypen beschränken. -
property name="servletURI": Legt fest, dass der Befehl als Servlet realisiert ist. Der URI des Servlets, relativ zur GUI-Webapplikation, wird im Unterelementvalueangegeben. Es darf nicht gleichzeitig einproperty-Element mitname="dialog"existieren. -
property name="dialog": Legt fest, dass der Befehl als Assistent realisiert ist. Es darf nicht gleichzeitig einproperty-Element mitname="servletURI"existieren. Die Tcl-Prozedur, die den Assistenten realisiert, muss im instanzenspezifischen Verzeichnisscript/cm/serverCmdsoder im entsprechenden Verzeichnis unterhalb vonFionaDir/shareabgelegt sein. -
property name="dialogSize": Legt die Größe des Dialogfensters fest. Mögliche Werte sind:-
tiny: sehr klein (wie beispielsweise der Dialog zum Ändern des Passworts) -
small: klein (wie der Dialog zum Einstellen der lokalen Anwendungen) -
large: groß (wie das Fenster, das beim MenüpunktHilfe > Über CMS Fionaerscheint) -
parent: dieselbe Größe wie das Fenster, aus dem der Assistent aufgerufen wurde – in der Regel das Hauptfenster -
none: kein Fenster; Ausgaben des Assistenten werden ignoriert
-
-
property name="outputsHtml": Gibt an, ob der Tcl-Code HTML-Text zurückgibt (trueoderfalse). Wenntrue, werden HTML-spezifische Zeichen nicht umkodiert und die Elementehtml,bodyundheaddürfen nicht auftreten. -
property name="displayHeaderAndFooter": Gibt an, ob die Kopf- und Fußleiste dargestellt werden sollen oder nicht (trueoderfalse). Fehlt diese Angabe, so wirdtrueangenommen und die Kopf- und Fußleiste werden dargestellt. Werden Kopf- und Fußleiste ausgeblendet, so werden nicht nur die Standard-Buttons, sondern auch Buttons, die mit Hilfe desnpsButton-Tags innerhalb der Fußleiste (inButtonArea) erzeugt wurden, ausgeblendet. -
property name="descriptions"undproperty name="sortKey": Diese optionalen Elemente beeinflussen die Darstellung innerhalb des Startbereichs Assistenten-Auswahl. Analog zutitleslegtdescriptionsim Unterelementmapdie angezeigten Untertitel in mehreren Sprachen fest. Mit Hilfe vonsortKeykann die Reihenfolge der Assistenten in der Auswahlliste geändert werden.