AdvantageCMS.Core.Admin.Extensibility Namespace
Classes
| Class | Description | |
|---|---|---|
|
|
AdvantageLifecycleHandlerConfiguration |
Per-domain configuration holding the fully-qualified class names of optional
lifecycle handlers that receive CRUD / publish callbacks from the page,
navigation, and structured-content engines.
|
|
|
BusinessObjectLifecycleHandler |
Base class for external handlers that receive lifecycle callbacks for every structured-content
operation performed by CMSToolEngine. The engine invokes these hooks alongside the
target object's own BusinessObjectBase virtual methods, so a domain-level handler
can observe or veto CRUD/publish actions across all tools and site settings in the domain.
Because the hooks take BusinessObjectBase, the handler sees both BusinessObject<T> entities and BusinessObjectSiteSetting<T> instances (both inherit BusinessObjectBase). Use pattern matching or reflection inside the handler to filter by concrete type if needed. Every hook returns true to allow the operation and false to abort. Exceptions thrown from a hook are caught by the engine, logged, and treated as a false return on Pre hooks. Post hooks run after the database write has committed; a failure there does not roll back the operation. |
|
|
CMSHandlerResolver |
Resolves per-domain lifecycle handler instances from the Lifecycle Handlers
configuration (stored under C_Config_LifecycleHandlers()()()()).
Results are cached per-domain via AdvantageCacheManager with a 30-minute TTL, matching the project-wide convention for domain-scoped configuration caches. Farm nodes self-heal within the TTL window; call InvalidateDomain(Int32) from the save path when you want the local node to pick up the change immediately. |
|
|
NavigationLifecycleHandler |
Base class for external handlers that receive lifecycle callbacks for Navigation
operations performed by CMSNavigationEngine. Tenant assemblies inherit this class and
override only the hooks they need; the handler class is wired to a domain via the
Lifecycle Handlers configuration (Configurations → Site → Lifecycle Handlers).
PreInsert/PostInsert, PreUpdate/PostUpdate, and PreMove/PostMove fire for several distinct engine methods each. The caller places a discriminator in ActionArgs.Attributes so the handler can tell them apart:
Every hook returns true to allow the operation and false to abort. Exceptions are caught by the engine, logged, and treated as a false return on Pre hooks. Post hooks run after the database write has committed and are not enclosed in the same transaction. |
|
|
SitePageLifecycleHandler |
Base class for external handlers that receive lifecycle callbacks for SitePage
operations performed by CMSSitePageEngine. Tenant assemblies inherit this class and
override only the hooks they need; the handler class is wired to a domain via the
Lifecycle Handlers configuration (Configurations → Site → Lifecycle Handlers).
Mirrors the hook contract used by BusinessObject<T>: every hook returns true to allow the operation to proceed and false to abort it. Any out message populated by the handler is surfaced to the engine event log. Exceptions thrown from a hook are caught by the engine, logged, and treated as a false return on Pre hooks. Post hooks run after the database write has committed and are not enclosed in the same transaction; a failure in a Post hook does not roll back the operation. |

