Action menu definition examples
Overview
With XML configuration for action menus it is possible to specify the order and visibility of list action menus. This configuration is used as default for all users, however, users can override the configuration in Product 360 Web UI.
The following files define the menus for each root entity:
article.list.actionmenu.xml
product.list.actionmenu.xml
variant.list.actionmenu.xml
structure.list.actionmenu.xml
task.list.actionmenu.xml
article.fulltextsearch.list.actionmenu.xml
variant.fulltextsearch.list.actionmenu.xml
product.fulltextsearch.list.actionmenu.xml
Possible customization
Change groups order
Change items order inside group
Move items to other group
Move item inside other item
Remove item
Remove group
Create new group
Change default visibility of item
Change if item in favorite area by default
Change captions for groups and items (in resource bundle files or directly in xml by providing explicit value)
Limitations
Do not change menu item identifiers as by them system locates concrete classes. Obviously it's impossible to create new menu item by just adding new line in xml file. However you can contribute new menu items programatically using the SDK.
Some areas of the Web UI will only provide a limited set of action items to the user. This is mainly if the context of the objects presented in the table is not clearly defined.
I.e. if the "Search" using the index based SOLR implementation is being used. An index could span multiple catalogs and hence these actions among others are for example not available there:
Create item: Only works in case you would have the data in the table from a specific catalog only
Merge: You cannot merge from multiple catalogs simultaneously plus you cannot merge items inside the master catalog.
Example definition
<?xml version=
"1.0"
encoding=
"UTF-8"
standalone=
"yes"
?>
<menuDefinition xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"MenuDefinition.xsd"
>
<menuGroup identifier=
"menu.item.group.maintain"
i18NKey=
"%web.common.menu.item.group.maintain"
>
<menuItem identifier=
"menu.item.product.action.clone"
i18NKey=
"%web.client.product.clone"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.action.delete"
i18NKey=
"%web.client.product.delete"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.action.create"
i18NKey=
"%web.client.product.create"
favorite=
"true"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.action.classify"
i18NKey=
"%web.product.classification.menu"
favorite=
"false"
visible=
"true"
/>
</menuGroup>
<menuGroup identifier=
"menu.item.group.task"
i18NKey=
"%web.task.menu.item.group.task"
>
<menuItem identifier=
"menu.item.task.action.create"
i18NKey=
"%web.client.task.create"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.task.action.add"
i18NKey=
"%web.client.task.add"
favorite=
"false"
visible=
"true"
/>
</menuGroup>
<menuGroup identifier=
"menu.item.group.data"
i18NKey=
"%web.common.menu.item.group.data"
>
<menuItem identifier=
"menu.item.product.dataquality.action.execute"
i18NKey=
"%web.quality.menu.execute"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.action.directexport"
i18NKey=
"%export.exportHint"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.action.import"
i18NKey=
"%web.import.list.menu"
favorite=
"false"
visible=
"true"
/>
</menuGroup>
<menuGroup identifier=
"menu.item.group.navigation"
i18NKey=
"%web.common.menu.item.group.navigation"
>
<menuItem identifier=
"menu.item.product.back"
i18NKey=
"%web.client.button.back.parent"
favorite=
"false"
visible=
"true"
/>
<menuItem identifier=
"menu.item.product.drilldown"
i18NKey=
"%web.client.product.item.drilldown"
favorite=
"true"
visible=
"true"
/>
</menuGroup>
<menuGroup identifier=
"menu.item.group.default"
i18NKey=
"%web.common.menu.item.group.default"
>
<menuItem identifier=
"menu.item.product.action.findandreplace"
i18NKey=
"%web.client.findandreplace.dialog.title"
favorite=
"false"
visible=
"true"
/>
</menuGroup>
<menuGroup identifier=
"menu.item.group.actionconfig"
i18NKey=
"%web.client.actionconfig.menu.group"
>
<menuItem identifier=
"menu.item.product.action.actionconfig"
favorite=
"false"
visible=
"true"
/>
</menuGroup>
</menuDefinition>