If you have defined an additional menu command as a Tcl script, the following steps are required to integrate this command into the Content Navigator:
Store your procedure as a script file in the instance-specific
script/cm/serverCmdsdirectory.Make sure that the procedure is registered in the safe Tcl interpreter. You can place the corresponding Tcl command at the end of the script file. Example:
safeInterp alias serverProcName clientProcName
This step is only required, if the Tcl procedure is no wizard, i.e. if the value of the
dialogproperty isfalse.Register the menu command in the
beanssection of theconfig/contentMenu.xmlfile by adding a corresponding bean. Specify as thecommandproperty the client alias registered in the safe interpreter.Add a reference to the created bean to the
menuBarsection of theconfig/contentMenu.xmlfile to integrate the menu command into the GUI. Additionally, or alternatively, you might make the command available in the toolbar by adding a reference to the bean to thetoolBarsection.Restart the CM and the Trifork server using
bin/rc.npsd restart CM trifork.
Notes on creating the script file for the menu command
When a custom command is issued that causes a Tcl procedure to be
executed, the Content Manager passes the following arguments to the
procedure. The arguments depend on the scope of the command that was
specified in the corresponding bean by means of the
selectionType property. The value of this
property can be one of:
| Scope | Arguments |
|---|---|
none (global) |
None |
single (a single file) |
The ID of the file concerned as the only argument. |
extended (any number of files) |
A list containing the IDs of the files concerned, as the only argument. |
The procedure needs to be defined using args so that the arguments are available as a list:
proc tclProcedureName {args} {
foreach i $args {
}
...
}