Overview

Web Shell Impact to Event Handlers

For older batch types designed to run within the ClickOnce Smart Client, you must rewrite the event handler code and custom dialog screens to make them Web Shell-compliant. The legacy ClickOnce batch implementation is tied to Windows UI components like the Browser.Controls.EditGrid. This reliance on Windows controls means that the event handlers and custom dialog screens of specific batch types are not portable to different presentation layers, such as the new Web Shell. Older batch types built upon the ClickOnce, Windows-based shell use WinForm technology for the custom dialog screens. These don't work in the newer Web Shell user interface that requires that a UI Model-based Custom UI Model data form to present a custom dialog screen.

Warning: Web Shell Alert! For older batch types designed to run within the ClickOnce Smart Client, you must rewrite the event handler code and custom dialog screens to make them Web Shell-compliant.

Web Shell Event Handlers Live in the UIModel Project

Web Shell event handlers live in the UIModel project (ex: Blackbaud.CustomFx.FoodBank.UIModel), while any ClickOnce event handlers remain within the Windows-based Client project (ex: Blackbaud.CustomFx.FoodBank.Client).

Existing ClickOnce event handlers should remain in the Client project to support the batch when it is run within the ClickOnce Smart Client. Existing ClickOnce event handlers should also be copied to a UIModel project and converted to run within Web Shell.

ClickOnce Event Handlers and Custom Dialog Screens Should Remain

Existing ClickOnce custom dialog screen/forms should remain in the Client project to support the batch when it is run within the ClickOnce Smart Client. Existing ClickOnce custom dialog screen/forms need to be converted to a UI Model equivalent such as a Custom UI Model form.

Within the BatchTypeSpec, ClickOnce-based event handlers are referenced within the EventHandlers tag. Web Shell-based event handlers are referenced within the WebEventHandlers tag. ClickOnce event handlers should remain in the Client project to support the batch when it is run within the ClickOnce Smart Client.

Web Shell-based Event Handler Class Inherits from a Different Base Class

ClickOnce-based event handlers inherit from Blackbaud.AppFx.Browser.Batch.BatchEntryHandler class while Web Shell-based event handlers inherit from Blackbaud.AppFx.BatchUI.BatchEntryHandler class.

To author an event handler for Web Shell, you must create a CLR class within your UIModel assembly project. This class needs to inherit from the Blackbaud.AppFx.BatchUI.BatchEntryHandler class that lives within the Blackbaud.AppFx.BatchUI.dll assembly. This class needs to be referenced within the WebEventHandlers tag within the BatchTypeSpec.