AddCustomActionMenu(XmlNode)

Reads the provided XML node (following the installer schema) for information needed to add a custom action menu item to the SCCM console.

Overview of the method
Adds the necessary XML to one or more ConfigMgr console nodes to display a right-click custom action.

Background:
ConfigMgr looks in the AdminUI\XmlStorage\Extensions\Actions directory for a folder named as the GUID of the node the user has just clicked on, and if the folder is found, looks for XML files in that folder for instructions on building a right-click menu for that node. If XML file(s) exist, they contain information that tells ConfigMgr what type of action it will be, and if necessary, the location of the additional XML file that loads a dialog or other action.

Program flow:
This code follows this general path:
  • Case 1: The console node does not currently have an XML file associated with this custom action in the GUID-based directory under "Actions"
    • The code creates the necessary XML file and the new elements are added to it
  • Case 2: The XML file exists for this node
    • The installer checks to see if the XML to be added already exists in the current XML file
      • If the XML to be added does not exist, it is added
      • If the XML to be added already exists, it is replaced with the new XML elements

Note: The code checks not only for menu items, but for menu groups as well. So if the new item to be added is a menu item inside a group, the code checks for the existence of the group first, and if it is there, checks for the existence of the individual item. If the group exists but the item does not, the item is added under any existing items in the group.

Related Topics


Last edited Jan 28, 2009 at 9:42 PM by rhearn, version 2

Comments

No comments yet.