Skip to content

Events for Developers

Audrunas Matonis edited this page Sep 12, 2013 · 9 revisions

This documentation page is created to let you understand the way of how to interact with Better CMS - to be notified on particular events.

How to get notifications on CMS actions?

If you would like to be notified on some Better CMS actions - let's say when a page is created, check out the bellow:

[...]
using BetterCms.Core;
using BetterCms.Core.Environment.Host;
using BetterCms.Events;

public class MvcApplication : HttpApplication
{
    private static ICmsHost cmsHost;

    protected void Application_Start()
    {
        cmsHost = CmsContext.RegisterHost(); 
        AreaRegistration.RegisterAllAreas();

        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        cmsHost.OnApplicationStart(this); 

        // Attach to the page creation event.
        BetterCms.Events.PageEvents.Instance.PageCreated += Instance_PageCreated;
    }

    // Get notified when page is created.
    void Instance_PageCreated(SingleItemEventArgs<Module.Pages.Models.PageProperties> args)
    {
        // TODO: do what ever is necessary!
    }
[...]

What events are built in Better CMS?

Each Better CMS module can have it's one events. For the main modules events are described bellow:

  • BetterCms.Core:
    • BetterCms.Events.CoreEvents.Instance.HostStart
    • BetterCms.Events.CoreEvents.Instance.HostStop
    • BetterCms.Events.CoreEvents.Instance.HostError
    • BetterCms.Events.CoreEvents.Instance.HostAuthenticateRequest
    • BetterCms.Events.CoreEvents.Instance.EntitySaving
    • BetterCms.Events.CoreEvents.Instance.EntityDeleting
  • BetterCms.Module.Root:
    • BetterCms.Events.RootEvents.Instance.PageRendering
    • BetterCms.Events.RootEvents.Instance.PageRetrieved
    • BetterCms.Events.RootEvents.Instance.PageNotFound
    • BetterCms.Events.RootEvents.Instance.PageAccessForbidden
    • BetterCms.Events.RootEvents.Instance.CategoryCreated
    • BetterCms.Events.RootEvents.Instance.CategoryUpdated
    • BetterCms.Events.RootEvents.Instance.CategoryDeleted
    • BetterCms.Events.RootEvents.Instance.TagCreated
    • BetterCms.Events.RootEvents.Instance.TagUpdated
    • BetterCms.Events.RootEvents.Instance.TagDeleted
  • BetterCms.Module.Pages:
    • BetterCms.Events.PageEvents.Instance.PageCreated
    • BetterCms.Events.PageEvents.Instance.PageDeleted
    • BetterCms.Events.PageEvents.Instance.PageCloned
    • BetterCms.Events.PageEvents.Instance.PagePropertiesChanged
    • BetterCms.Events.PageEvents.Instance.PagePublishStatusChanged
    • BetterCms.Events.PageEvents.Instance.PageSeoStatusChanged
    • BetterCms.Events.PageEvents.Instance.PageContentInserted
    • BetterCms.Events.PageEvents.Instance.RedirectCreated
    • BetterCms.Events.PageEvents.Instance.RedirectUpdated
    • BetterCms.Events.PageEvents.Instance.RedirectDeleted
    • BetterCms.Events.PageEvents.Instance.WidgetCreated
    • BetterCms.Events.PageEvents.Instance.WidgetUpdated
    • BetterCms.Events.PageEvents.Instance.WidgetDeleted
  • BetterCms.Module.Blog:
    • BetterCms.Events.BlogEvents.Instance.BlogCreated
    • BetterCms.Events.BlogEvents.Instance.BlogUpdated
    • BetterCms.Events.BlogEvents.Instance.BlogDeleted
    • BetterCms.Events.BlogEvents.Instance.AuthorCreated
    • BetterCms.Events.BlogEvents.Instance.AuthorUpdated
    • BetterCms.Events.BlogEvents.Instance.AuthorDeleted
  • BetterCms.Module.MediaManager:
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFileUploaded
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFileUpdated
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFileDeleted
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFolderCreated
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFolderUpdated
    • BetterCms.Events.MediaManagerEvents.Instance.MediaFolderDeleted
    • BetterCms.Events.MediaManagerEvents.Instance.MediaArchived
    • BetterCms.Events.MediaManagerEvents.Instance.MediaUnarchived
  • BetterCms.Module.Newsletter:
    • BetterCms.Events.NewsletterEvents.Instance.SubscriberCreated
    • BetterCms.Events.NewsletterEvents.Instance.SubscriberUpdated
    • BetterCms.Events.NewsletterEvents.Instance.SubscriberDeleted
  • BetterCms.Module.Users:
    • BetterCms.Events.UserEvents.Instance.UserCreated
    • BetterCms.Events.UserEvents.Instance.UserUpdated
    • BetterCms.Events.UserEvents.Instance.UserDeleted
    • BetterCms.Events.UserEvents.Instance.RoleCreated
    • BetterCms.Events.UserEvents.Instance.RoleUpdated
    • BetterCms.Events.UserEvents.Instance.RoleDeleted

Clone this wiki locally