Overview

The following discusses writing Custom Actions, formerly known as CLR actions, for Web Shell. When a user clicks a button or link on an Infinity shell page or functional area, the action for that button is most likely defined in a page spec or task spec using one of the many pre-defined action types provided by the platform (search for a record and display a page for that record, show a data form, execute a record operation, navigate to a page, show a report, etc.). In some instances, however, the developer needs more flexibility than what those pre-defined action types provide. For instance, a developer might want to show a custom form that doesn't save data to the database like an add data form or edit data form would. In another example, let's say a developer wants the custom action to decide which page to direct the user to after searching for the record. In the past when developing for the ClickOnce Smart Client, the developer would create a CLR action and map it to the action in the page spec. A CLR action consists of a class that inherits from a known base class that provides certain methods like ExecuteAction() that the platform invokes when the action's button or link is clicked. For Web Shell, we have created something similar: Custom Actions.