App Framework Reference

Extension point dictionary

The extension point dictionary lists the software points and mechanisms for extending core Splunk.

controllers.BaseController

Framework component: MVC controller

Parent: object

Mechanism: Subclass using the web.conf bootstrap name to hook into the framework

Usage: Overriding existing methods is not recommended; If you need to override the initialize() constructor, call the parent constructor using $super() first to ensure the parent is initialized; add additional methods as needed

SplunkAppObjModel

Framework component: MVC model

Parent: SplunkRESTModel

Mechanism: Subclass to hook your model into the framework

Usage: Overriding existing methods is not recommended; If you need to override the initialize() constructor, call the parent constructor using $super() first to ensure the parent is initialized; add additional model-specific methods

lib.html

Framework component: MVC view (template)

Mechanism: Dynamic binding

Usage: Import; way to include Import custom/3rd party JavaScript and CSS

Splunk.Module

Framework component: module

Parent: object

Mechanism: Subclass using module name

Usage: Override methods

Most common methods to override:

applyContext()
getModifiedContext()
getResultParams()
getResultsCompleteHandler()
getResultsErrorHandler()
initialize()
isReadyForContextPush()
onBeforeJobDispatched()
onContextChange()
onLoadStatusChange()
onResultsRendered()
onViewDataChange()
renderResults()
requiresAsynchonousLoading()
requiresDispatch()
resetUI()

Splunk.Module.DispatchingModule

Framework component: module

Parent: Splunk.Module

Mechanism: Subclass using module name

Usage: Override methods

Most common methods to override:
onJobDone()
onJobProgress()
onJobStatusChange()
requiresTransformedResults()

module.ModuleHandler

Framework component: module controller

Parent: object

Mechanism: Subclass using module name

Usage: Override methods

Most common methods to override:

generateResults()

application.js

Framework component: module

Mechanism: Dynamic binding

Usage: Override with custom JavaScript