Reference - Global system events
Event categories (classes):
ObjectEvents
Namespace: CMS.DataEngine
Contains events that occur for all types of objects in the system. See also: Handling object events
Important
Use the following classes to access the object events in the API:
- ObjectEvents - events triggered for all object types
- <name>Info.TYPEINFO.Events - events triggered only for a specific object type, for example: UserInfo.TYPEINFO.Events
Event | Event types | Handler parameters | Description |
---|---|---|---|
Insert | Before | ObjectEventArgs | Occurs when a new object is created. |
Update | Before | ObjectEventArgs | Occurs when the data of an existing object is updated. |
Delete | Before | ObjectEventArgs | Occurs when an object is deleted. |
GetContent | Execute | ObjectEventArgs | Occurs before the system writes an object's data into smart search indexes (when building or updating indexes). Allows you to determine exactly how search indexes store object content. |
LogChange | Before | LogObjectChangeEventArgs | Occurs when the system logs object changes for the purposes of staging and integration. For example, allows you to exclude specific objects from staging. |
CheckPermissions | Before | ObjectSecurityEventArgs | Occurs when the system checks permissions for objects of the given type. |
Sort | Before | ObjectSortEventArgs | Occurs when sorting of objects is requested. |
ChangeOrder | Before After Failure | ObjectChangeOrderEventArgs | Occurs when a change in the order of objects is requested. |
GetData | Before | ObjectDataEventArgs | [only available after applying hotfix 8.1.9 or newer] Occurs when the system retrieves object data using the ObjectQuery API. The Before event type is suitable, for example, when you want to retrieve data from an external source. Assign the external data into the Data property of the handler's ObjectDataEventArgs parameter, which is empty by default in the Before event. Use the After event type if you need to edit the data retrieved from Kentico in the Data property. The TotalRecords property provides a number of total records in case paging is used. Use -1 to use the rows count of the Data property. |
> Back to list of event categories
DocumentEvents
Namespace: CMS.DocumentEngine
Contains events fired when changes are made to pages.
Note:
Pages under workflow require a different approach to event handling. Use the events from the WorkflowEvents class instead of DocumentEvents.
For example, to handle the 'update' action for a page under workflow, use the SaveVersion event from WorkflowEvents instead of the DocumentEvents.Update event.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Insert | Before | DocumentEventArgs | Occurs when a new page is created. |
InsertNewCulture | Before | DocumentEventArgs | Occurs when a new culture version is created for a page. |
InsertLink | Before | DocumentEventArgs | Occurs when creating new linked pages. |
Update | Before | DocumentEventArgs | Occurs when an existing page is updated. |
Move | Before | DocumentEventArgs | Occurs when a page is moved to a different position in the site's content tree. |
Copy | Before | DocumentEventArgs | Occurs when a new copy of a page is created. |
Delete | Before | DocumentEventArgs | Occurs when a page is deleted. |
GetContent | Execute | DocumentSearchEventArgs | Occurs before the system writes a page's data into a Smart search index (when building or updating indexes). Allows you to determine exactly how search indexes store page content. |
LogChange | Before | LogDocumentChangeEventArgs | Occurs when the system logs page changes for the purposes of staging and integration. For example, allows you to exclude specific pages from staging. |
CheckPermissions | Before | DocumentSecurityEventArgs | Occurs when the system checks permissions for pages. |
Sort | Before After Failure | DocumentSortEventArgs | Occurs when sorting of pages is requested. |
ChangeOrder | Before After Failure | DocumentChangeOrderEventArgs | Occurs when a change in the order of pages is requested. |
GetData | Before | DocumentDataEventArgs | [only available after applying hotfix 8.1.9 or newer] Occurs when the system retrieves page data using the DocumentQuery API. The Before event type is suitable, for example, when you want to retrieve data from an external source. Assign the external data into the Data property of the handler's DocumentDataEventArgs parameter, which is empty by default in the Before event. Use the After event type, when you want to edit the data retrieved from Kentico in the Data property. The TotalRecords property provides a number of total records in case paging is used. Use -1 to use rows count of the Data property. |
Page attachments | |||
SaveAttachment | Before | DocumentEventArgs | Occurs when a file attachment is added to a page or updated. |
DeleteAttachment | Before | DocumentEventArgs | Occurs when a file attachment is removed from a page. |
Page security | |||
AuthorizeDocument | Execute | DocumentAuthorizationEventArgs | Occurs when the system performs a security check for the permissions of specific page. |
FilterDataSetByPermissions | Execute | DocumentAuthorizationEventArgs | Occurs when the system filters a set of pages according to the page permissions of a user. |
> Back to list of event categories
WorkflowEvents
Namespace: CMS.DocumentEngine
Contains events related to workflow and versioning actions.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Approve _______________________ | Before | WorkflowEventArgs | Occurs when a page is approved to the next step. |
Reject | Before | WorkflowEventArgs | Occurs when a page is rejected back to a previous step |
Publish | Before | WorkflowEventArgs | Occurs when a page reaches the published step. |
Archive | Before | WorkflowEventArgs | Occurs when a page is archived. |
Action | Before | WorkflowActionEventArgs<TreeNode, BaseInfo, WorkflowActionEnum> Requires references to:
| Occurs when executing advanced workflow action steps. |
Page versioning | |||
SaveVersion | Before | WorkflowEventArgs | Occurs when the edited version of a page is updated. |
SaveAttachmentVersion | Before | WorkflowEventArgs | Occurs when an attachment is updated or inserted for the edited version of a page. |
RemoveAttachmentVersion | Before | WorkflowEventArgs | Occurs when an attachment is removed for the edited version of a page. |
Content locking | |||
CheckOut | Before | WorkflowEventArgs | Occurs when a page is checked-out. |
CheckIn | Before | WorkflowEventArgs | Occurs when a page is checked-in. |
UndoCheckOut | Before | WorkflowEventArgs | Occurs when a user performs the undo check-out action. |
> Back to list of event categories
SecurityEvents
Namespace: CMS.Membership
Contains security and authentication events.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Authenticate _______________________ | Execute ___________ | AuthenticationEventArgs | Occurs when authenticating users. See also: Handling custom external authentication |
AuthenticationRequested | Execute | AuthenticationRequestEventArgs | Occurs when a user accesses a restricted section of Kentico and the user's authentication is required. |
MultiFactorAuthenticate | Execute | AuthenticationEventArgs | Occurs when a user tries to sign in to Kentico with multi-factor authentication enabled. |
AuthorizeResource | Execute | AuthorizationEventArgs | Occurs when checking the permissions for modules. |
AuthorizeClass | Execute | AuthorizationEventArgs | Occurs when performing security checks for object type or page type permissions. |
AuthorizeUIElement | Execute | AuthorizationEventArgs | Occurs when checking permissions for UI elements. |
SignOut | Before | SignOutEventArgs | Occurs when a user signs out from a website. |
> Back to list of event categories
StagingEvents
Namespace: CMS.Synchronization
Contains events that occur when using content staging for pages and objects.
Event | Event types | Handler parameters | Description |
---|---|---|---|
LogTask _______________________ | Before | StagingLogTaskEventArgs | Occurs when creating staging tasks on the source server after a page or object is changed in the system. See also: |
Synchronize | Before | CMSEventArgs | Occurs on the source server when synchronizing staging tasks — once per synchronize action, even when processing multiple tasks. |
SynchronizeTask | Before | StagingTaskEventArgs | Occurs on the source server when synchronizing staging tasks — separately for every processed task. |
ProcessTask | Before | StagingSynchronizationEventArgs | Occurs on the target server when processing incoming staging tasks. The processing of the staging tasks then also triggers the corresponding ObjectEvents (Insert, Update, Delete, etc.). If the CMSStagingUseTreeCustomHandlers web.config key is set to true, the DocumentEvents are triggered, too. |
> Back to list of event categories
IntegrationEvents
Namespace: CMS.Synchronization
Contains events that occur when synchronizing pages or objects between Kentico and other applications using the integration bus.
See also:
- Excluding content from staging and integration
- Automatically synchronizing staging and integration tasks
Event | Event types | Handler parameters | Description |
---|---|---|---|
LogInternalTask _______________________ | Before | IntegrationTaskEventArgs | Occurs when creating outgoing integration tasks after a page or object in the system is changed. |
LogExternalTask | Before | IntegrationTaskEventArgs | Occurs when the system creates incoming tasks provided by an integration connector. |
> Back to list of event categories
ImportExportEvents
Namespace: CMS.CMSImportExport
Contains events related to import and export actions.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Import _______________________ | Before | ImportBaseEventArgs | Occurs at the start of the import process. |
ImportObject | Before | ImportEventArgs | Occurs once for every imported object. |
ImportObjects | Before | ImportDataEventArgs | Occurs when importing sets of objects. |
ImportBinding | Before | ImportEventArgs | Occurs once for every imported binding object. |
ImportBindings | Before | ImportEventArgs | Occurs when importing binding objects. |
ImportChild | Before | ImportEventArgs | Occurs once for every imported child object. |
ImportChildren | Before | ImportEventArgs | Occurs when importing child objects. |
GetImportData | Before | ImportGetDataEventArgs | Occurs when importing data. Allows you to work with the data set in the import package created for a specific object types.
|
ProcessFileOperation | Before | ImportProcessFileOperationEventArgs | Occurs when processing file/folder operations in the import package. |
ImportCanceled | Execute | ImportBaseEventArgs | Occurs when a user cancels the import process. |
ImportError | Execute ___________ | ImportErrorEventArgs | Fires when an error occurs during the import process. |
Event | Event types | Handler parameters | Description |
---|---|---|---|
Export _______________________ | Before | ExportEventArgs | Occurs at the start of the export process. |
ExportObjects | Before | ExportEventArgs | Occurs when exporting objects. |
GetExportData | Before | ExportGetDataEventArgs | Occurs when exporting data. Allows you to work with the data set in the export package created for specific object types.
|
SingleExportSelection | Execute | SingleExportSelectionEventArgs | Occurs when selecting related objects during single object export. Allows you to attach related objects to the export package. |
ExportCanceled | Execute | ExportBaseEventArgs | Occurs when a user cancels the export process. |
ExportError | Execute ___________ | ExportErrorEventArgs | Fires when an error occurs during the export process. |
> Back to list of event categories
DocumentImportExportEvents
Namespace: CMS.DocumentEngine
Contains events related to import and export of pages.
Event | Event types | Handler parameters | Description |
---|---|---|---|
ExportDocuments _______________________ | Before | DocumentsExportEventArgs | Occurs when exporting pages. |
ImportDocument | Before | DocumentImportEventArgs | Occurs once for every imported page. |
ImportDocuments | Before | DocumentImportEventArgs | Occurs when importing pages. |
> Back to list of event categories
ColumnsTranslationEvents
Namespace: CMS.DataEngine
When transferring data between instances of Kentico (via import/export or staging), the IDs of objects can differ between the environments. Kentico automatically "translates" the ID values for system objects, but not for custom objects. For example, when you stage a custom table or page type that contains a custom field storing object IDs, the values may not match the IDs of the objects on the target server. The ColumnsTranslationEvents allow you to ensure that the IDs are translated correctly.
See also: Deploying objects with custom ID fields
Event | Event types | Handler parameters | Description |
---|---|---|---|
RegisterRecords _______________________ | Execute | ColumnsTranslationEventArgs | Occurs when exporting objects. Allows you to provide additional information for the translation of custom ID fields. |
TranslateColumns | Execute | ColumnsTranslationEventArgs | Occurs when importing objects. Allows you to translate the values of custom ID fields using the provided information. |
> Back to list of event categories
BizFormItemEvents
Namespace: CMS.OnlineForms
Contains events related to form actions. See Working with form data using the API for an example.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Insert _______________________ | Before | BizFormItemEventArgs | Occurs when inserting new form items (data records of on-line forms). |
Update | Before | BizFormItemEventArgs | Occurs when updating form data records. |
Delete | Before | BizFormItemEventArgs | Occurs when deleting data records from forms. |
> Back to list of event categories
NewsletterEvents
Namespace: CMS.Newsletter
Event | Event types | Handler parameters | Description |
---|---|---|---|
ResolveMacros _______________________ | Before After Failure __________ | ResolveMacroEventArgs | Fires when all newsletter text macros are being resolved. |
> Back to list of event categories
WebAnalyticsEvents
Namespace: CMS.WebAnalytics
Event | Event types | Handler parameters | Description |
---|---|---|---|
LogConversion _______________________ | Before | CMSEventArgs<LogRecord> | Occurs when a conversion is logged. |
ProcessLogRecord | Before After Failure | CMSEventArgs<LogRecord> | Occurs when the web analytics log is being processed. |
ActivityEvents
Namespace: CMS.WebAnalytics
Event | Event types | Handler parameters | Description |
---|---|---|---|
ActivityLogged _______________________ | Before | ActivityLoggedEventArgs | Fires immediately when on-line marketing activities of any type occur in the system. |
> Back to list of event categories
ContactManagementEvents
Namespace: CMS.OnlineMarketing
Event | Event types | Handler parameters | Description |
---|---|---|---|
ProcessContactActionsBatch _______________________ | Before | ProcessContactActionsBatchEventArgs | Fires when contact actions batch is being processed by the system. |
> Back to list of event categories
AutomationEvents
Namespace: CMS.Automation
Contains events related to marketing automation actions.
Event | Event types | Handler parameters | Description |
---|---|---|---|
MoveToNextStep _______________________ | Before | AutomationEventArgs | Occurs when an automation process moves to the next step. |
MoveToPreviousStep | Before | AutomationEventArgs | Occurs when an automation process moves back to the previous step. |
Action | Before | WorkflowActionEventArgs<BaseInfo, AutomationStateInfo, AutomationActionEnum> Requires references to:
| Occurs when the system executes a marketing automation action step. |
ProcessTrigger | Before | AutomationProcessTriggerEventArgs | Occurs when processing triggers for automation processes. Evaluates the trigger condition and allows you to, for example, insert data into the condition. |
> Back to list of event categories
OutputFilterEvents
Namespace: CMS.OutputFilter
Contains events related to output filters.
Event | Event types | Handler parameters | Description |
---|---|---|---|
SaveOutputToCache _______________________ | Before | OutputCacheEventArgs | Fires when an output filter saves the output to cache. |
SendCacheOutput | Before | OutputCacheEventArgs | Fires before content from the output cache is sent as a response. Occurs only if the cached output is found, and if the cached output gives an opportunity to the user to change the output or to bypass caching entirely. |
URLRewritingEvents
Namespace: CMS.URLRewritingEngine
Contains events related to URL rewriting and page redirection.
Event | Event types | Handler parameters | Description |
---|---|---|---|
PageNotFound _______________________ | Before | URLRewritingEventArgs | Occurs when the system redirects users to a Page not found error page (after requesting a URL that returns a 404 HTTP status code). |
ProcessRewritingResult | Before | URLRewritingEventArgs | Occurs at the end of the rewriting process for all URLs. If there are redirects during the rewriting, the event is only triggered for the final URL at the end of the process. Use the Before event if you need to perform custom rewriting. Use the After event to perform additional custom actions after the default rewriting. |
ProcessABTest | Execute | ProcessABTestEventArgs | Occurs when the system starts rewriting the URL of a page with a running A/B test. |
SystemEvents
Namespace: CMS.Base
Contains general system events.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Exception _______________________ | Execute | SystemEventArgs | Fires when an unhandled exception occurs in the system. |
SiteEvents
Namespace: CMS.SiteProvider
Contains events related to site actions.
Event | Event types | Handler parameters | Description |
---|---|---|---|
Delete _______________________ | Before | SiteDeletionEventArgs | Occurs when a site is deleted from the system. |
> Back to list of event categories
SqlEvents
Namespace: CMS.DataEngine
Contains events related to the execution of queries and other database operations.
Event | Event types | Handler parameters | Description |
---|---|---|---|
ExecuteQuery _______________________ | Before | ExecuteQueryEventArgs<DataSet> | Occurs when the system executes a database query. See also: Working with database queries in the API |
ExecuteNonQuery | Before | ExecuteQueryEventArgs<int> | Occurs when the system executes a non-query database operation. |
ExecuteScalar | Before | ExecuteQueryEventArgs<object> | Occurs when the system executes a scalar query. |
ExecuteReader | Before | ExecuteQueryEventArgs<DbDataReader> | Occurs when the system runs a database DataReader. |
> Back to list of event categories
Application events
Kentico provides a set of events that you can use to customize the global behavior of the application.
ApplicationEvents
Namespace: CMS.Base
Contains events related to the application life cycle.
The following table lists the events that occur once in the application's life cycle, in order of execution:
Event | Event types | Handler parameters | Description |
---|---|---|---|
PreInitialized _______________________ | Execute ___________ | EventArgs ___________________ | Occurs when the application finishes pre-initialization (preparation of things unrelated to the database). Handlers need to be assigned in the PreInit method of modules or CMSLoaderAttribute classes in App_Code. |
Initialized | Execute | EventArgs | Occurs when the application finishes initialization and starts (including the database connection). Handle this event to perform standard application start events. |
PostStart | Execute | EventArgs | Occurs at the end of the first application request. Allows you to perform asynchronous tasks needed for application startup that do not influence the output of requests. |
End | Execute | Occurs when the application ends. |
The following events occur as needed during the application life cycle:
Event | Event types | Handler parameters | Description |
---|---|---|---|
Error | Execute | EventArgs | Fires when an error occurs in the application. |
SessionStart | Execute | EventArgs | Occurs when an HTTP session starts for a client. |
SessionEnd | Execute | EventArgs | Occurs when an HTTP session ends for a client. May not be raised if the application is configured to use a session state mode different than InProc. |
GetVaryByCustomString _______________________ | Execute ___________ | GetVaryByCustomStringEventArgs | Occurs when the application processes variables in custom names of output cache keys. |
RequestEvents
Namespace: CMS.Base
Contains events related to handling of requests. See also: ASP.NET Application Life Cycle Overview
The following table lists the request events in order of execution:
Event | Event types | Handler parameters | Description |
---|---|---|---|
Prepare | Execute | Occurs before the request processing begins. | |
Begin | Execute | Occurs when the request processing starts. | |
Authenticate | Execute | EventArgs | Occurs when authenticating requests. |
Authorize | Execute | EventArgs | Occurs when authorizing requests. If the application loads the response from the output cache, the life cycle skips to the End event. |
PostAuthorize | Execute | EventArgs | Occurs after the request's user is authorized. |
MapRequestHandler | Execute | EventArgs | Occurs when a handler is selected to respond to the request. The system performs URL rewriting during the event. After this event, the application can access the context of the displayed page and current page (page info). |
PostMapRequestHandler | Execute | EventArgs | Occurs when the application has mapped the request to the appropriate event handler. |
AcquireRequestState | Execute | EventArgs | Occurs when acquiring the request state. |
End | Execute | EventArgs | Occurs at the end of the request processing (last chance to perform actions before the client receives the response). |
RunEndRequestTasks | Execute | EventArgs | Allows you to execute background tasks at the end of the request processing, but cannot influence the response sent to the client. |
Finalize _______________________ | Execute ___________ | EventArgs ___________________ | Occurs when the request is finalized. Use to cleanup and release any resources used by the request. |
Handling other HttpApplication events
If you wish to handle HttpApplication events that are not available in the Kentico RequestEvents class, you need to create and register a custom HTTP module. You can implement the module in the App_Code folder of web site projects or as part of a custom assembly.
See Walkthrough: Creating and Registering a Custom HTTP Module for more information.
SessionEvents
Namespace: CMS.Membership
Contains events related to session management.
Event | Event types | Handler parameters | Description |
---|---|---|---|
UpdateSession | Before | CMSEventArgs | Occurs when an HTTP session is updated. |
UpdateSessionData | Execute | CMSEventArgs<SessionInfo> | Occurs when the data of an HTTP session is updated. |
> Back to list of event categories
Control and page events
You can handle events related to the life cycle of pages and controls. The events are defined directly in the base classes of system pages and controls. You can leverage the events to customize the user interface. The events are direct delegates.
AbstractUserControl
Namespace: CMS.ExtendedControls
Contains events that occur during the user control life cycle.
Event | Handler parameter | Handler return type |
---|---|---|
OnBeforeUserControlInit | EventArgs | bool |
OnAfterUserControlInit | EventArgs | void |
OnBeforeUserControlLoad | EventArgs | bool |
OnAfterUserControlLoad | EventArgs | void |
OnBeforeUserControlPreRender | EventArgs | bool |
OnAfterUserControlPreRender | EventArgs | void |
OnBeforeUserControlRender | HtmlTextWriter | bool |
OnAfterUserControlRender | HtmlTextWriter | void |
Return true in Before handlers to perform the default system actions for the given event.
CMSPage
Namespace: CMS.UIControls
Contains events that occur during the system page life cycle.
Event | Handler parameter | Handler return type |
---|---|---|
OnBeforePagePreInit | EventArgs | bool |
OnAfterPagePreInit | EventArgs | void |
OnBeforePageInit | EventArgs | bool |
OnAfterPageInit | EventArgs | void |
OnBeforePageLoad | EventArgs | bool |
OnAfterPageLoad | EventArgs | void |
OnBeforePagePreRender | EventArgs | bool |
OnAfterPagePreRender | EventArgs | void |
OnBeforePageRender | HtmlTextWriter | bool |
OnAfterPageRender | HtmlTextWriter | void |
Return true in Before handlers to perform the default system actions for the given event.