I would like to replace the URL behind the default Clone button on the toolbar, but only for instances of one specific content type (CCP_FLEXPAGE_GLOBAL). Based on the instructions in the Extensibility SDK Development Guide, I've created a new entry in the Customer Extension Type Specification Registry to extend the Content Instance type, with this value:
<?xml version="1.0"?><service-provider-asset-type-specification type-name="CCP_FLEXPAGE_GLOBAL" base-type-name="ContentInstance"> <button image-url="${URL_IMG_BTN_CLONE}" rollover-image-url="${URL_IMG_BTN_CLONE_ON}" disabled-image-url="${URL_IMG_BTN_CLONE_DISABLED}" text-label="${TXT_LBL_BTN_CLONE}" location="/ccp-vmcext" action="/clone.do" min-selection-required="1" max-selection-required="1" show-confirmation="false" refresh-main-window="false"> <target-window name="Clone" width="700" height="500" resizable="true" modal="false"/> <required-capability>VCM:CCP_FLEX_COMP_CORE_READ</required-capability> <required-capability>VCM:CCP_FLEX_COMP_CORE_WRITE</required-capability> <required-capability>VCM:CCP_FLEX_COMP_READ</required-capability> <required-capability>VCM:CCP_FLEX_COMP_WRITE</required-capability> <required-capability>VCM:CCP_FLEXPAGE_CORE_READ</required-capability> <required-capability>VCM:CCP_FLEXPAGE_CORE_WRITE</required-capability> <required-capability>VCM:CCP_FLEXPAGE_GLOBAL_READ</required-capability> <required-capability>VCM:CCP_FLEXPAGE_GLOBAL_WRITE</required-capability> </button></service-provider-asset-type-specification> This is working correctly when browsing the Content view in the UI: the Clone button calls my URL for instances of CCP_FLEXPAGE_GLOBAL, and the built-in functionality for everything else. We have noticed, however, that the change isn't applied to content listed in the Search Results window, and in the list of associations inside a channel. In these views, the Clone button calls the default functionality even for instances of CCP_FLEXPAGE_GLOBAL.
I've looked around in the System Type Specification Registry folder, and found two type specifications that look promising: Managed Object Search Result and Content Instance Association. My assumption is that if I could extend those types as well, my custom URL would get applied to search results and associations as well. The only problem is, I need to use the XML name of my CTD to have a CTD-specific button, and type names need to be unique, so I cannot create three types to extend all three desired base types. Given that the base type is specified as an attribute in the XML, I guess multiple inheritance isn't supported either, so I cannot have one type extend all these three types at the same time.
So my question is: is it possible to have a CTD-specific button override that works in all list views (or at least in the three mentioned above: Content, Channel and Search Result)? Has anyone here tried this, and if so, did you have any success?
Thank you for your help in advance,
Csaba Varga