Wenn Sie einen zusätzlichen Menübefehl als Tcl-Prozedur erstellt haben, sind die folgenden Schritte erforderlich, um diesen Befehl in den Content-Navigator einzubinden:
Legen Sie Ihre Prozedur als Skript-Datei im instanzenspezifischen Verzeichnis
script/cm/serverCmdsab.Sorgen Sie dafür, dass die Prozedur im sicheren Tcl-Interpreter registriert wird. Sie können den entsprechenden Befehl ans Ende der Skriptdatei hängen. Beispiel:
safeInterp alias serverProcName clientProcName
Dieser Schritt ist nur erforderlich, wenn die Tcl-Prozedur kein Assistent ist, also das Property
dialogden Wertfalsehat.Registrieren Sie den Menübefehl im Abschnitt
beansder Dateiconfig/contentMenu.xml, indem Sie ein entsprechendes Bean hinzufügen. Geben Sie alscommand-Property den Client-Alias an, unter dem die Prozedur im sicheren Interpreter registriert wurde.Referenzieren Sie das erstellte Bean im Abschnitt
menuBarder Dateiconfig/contentMenu.xml, um den Menübefehl an der gewünschten Stelle ins GUI-Menü einzubinden. Sie können den Befehl zusätzlich oder alternativ in den AbschnitttoolBareinbinden, damit er in der Werkzeugleiste verfügbar ist.Starten Sie den CM und den Trifork mit
bin/rc.npsd restart CM triforkneu.
Hinweise zur Erstellung der Skriptdatei für den Menübefehl
Wenn ein zusätzlicher Menübefehl aufgerufen wird, der mit dem
property name="command"-Element auf eine Tcl-Prozedur verweist,
so übergibt der Content Manager dieser Prozedur je nach Geltungsbereich die
folgenden Argumente. Der Geltungsbereich ergibt sich aus dem Element
property name="selectionType" des betreffenden Beans. Als value dieses Propertys kann
einer der folgenden Werte eingetragen werden kann:
| Geltungsbereich | Argumente |
|---|---|
none (global) |
Keine |
single (eine Datei) |
Die ID der betreffenden Datei als einziges Argument. |
extended (beliebig viele Dateien) |
Eine Liste, die die IDs der betreffenden Dateien enthält, als einziges Argument. |
Die Prozedur muss so definiert werden, dass die Argumente als Liste verfügbar sind, also mit args:
proc tclProcedureName {args} {
foreach i $args {
}
...
}