ConfigurableVaultApplicationBaseTSecureConfiguration Class

Common base class for applications that want to use a single, securable configuration with full MFAdmin support.

Definition

Namespace: MFiles.VAF.Core
Assembly: MFiles.VAF (in MFiles.VAF.dll) Version: 24.1.706.1
C#
public class ConfigurableVaultApplicationBase<TSecureConfiguration> : VaultApplicationBase, 
	IUsesAdminConfigurations, IUsesVaultExtensionMethods, IConfigurationDomainNode
where TSecureConfiguration : class, new()
Inheritance
Object    MethodSource    VaultApplicationBase    ConfigurableVaultApplicationBaseTSecureConfiguration
Derived
Implements
IUsesAdminConfigurations, IConfigurationDomainNode, IUsesVaultExtensionMethods

Type Parameters

TSecureConfiguration
The top-level configuration type of the application.

Constructors

Properties

AdminConfigurationsManager Admin Configuration Manager to handle the wire-up between M-Files Admin and Dashboard Nodes.
(Inherited from VaultApplicationBase)
ApplicationDefinition The application definition information.
(Inherited from VaultApplicationBase)
ApplicationRunningStatus Returns the application running status. Indicates if the application is starting, stopping or running normally.
(Inherited from VaultApplicationBase)
AuthenticationData The optional authentication data for the application.
(Inherited from VaultApplicationBase)
AvailabilityGroupStatusWriter Multi-server availability group status reporter.
(Inherited from VaultApplicationBase)
BackgroundOperations A manager for creating background operations.
(Inherited from VaultApplicationBase)
Configuration The application's current configuration.
ConfigurationStorage The configuration storage object.
(Inherited from VaultApplicationBase)
ConfManager Configuration Manager that enforces security controls.
EventSourceIdentifier Returns the vault application event source identifier that is used when logging to Windows event log.
(Inherited from VaultApplicationBase)
ExecutionTracer The execution tracer object.
(Inherited from VaultApplicationBase)
InitialLoadComplete True after the Initialize() method has been executed.
(Inherited from VaultApplicationBase)
KillProcessOnStartOperationsException
(Inherited from VaultApplicationBase)
License The optional license of the application. Set this in inherited class constructor to get license.
(Inherited from VaultApplicationBase)
LogContextHelper
(Inherited from VaultApplicationBase)
MetadataStructureValidationResult The results from the metadata structure validation.
(Inherited from VaultApplicationBase)
MetadataStructureValidator The metadata structure validator object.
(Inherited from VaultApplicationBase)
PermanentVault The permanent vault object, runs as MFServer user.
(Inherited from VaultApplicationBase)
TaskManager
(Inherited from VaultApplicationBase)
TaskQueueResolver
(Inherited from VaultApplicationBase)
ValidationRecursionLimit The number of levels the valdiator is allowed to traverse before throwing an exception. This value protects against infinite recursion loops, but may need to be increased for applications with deeply nested configuration settings. Note: Using some built-in types may significantly increase the configuration depth, like SearchConditionsJA.
(Inherited from VaultApplicationBase)

Methods

AddVaultExtensionMethod Adds a vault extension method that does not have a separate event handler proxy.
(Inherited from VaultApplicationBase)
AnonymousExtensionMethodsSupported
(Inherited from VaultApplicationBase)
AssertApplicationInStableState Throws an exception if the application is in a state where it cannot properly handle server events.
(Inherited from VaultApplicationBase)
ClearAutomaticallyGeneratedScripts Clears the automatically generated scripts that are no longer used from the metadata structure (from property definitions and workflow states).
(Inherited from VaultApplicationBase)
CollectUnusedHandlers Method for collecting extension method names which are unused.
(Inherited from VaultApplicationBase)
ConvertToLocalVault Overridable factory method for local vault objects. Converts the vault object to locally used and possibly stored vault object. This method allows the implementations to improve the performance by using in-process vault. Overriding functionality may e.g. implement local caching features to the vault.
(Inherited from VaultApplicationBase)
CreateAdminConfigurationManager Overridable factory method to create the admin configuration manager object.
(Inherited from VaultApplicationBase)
CreateConfigurationStorage Provides the application storage. This is sealed, as it always returns the configuration manager's storage object.
(Overrides VaultApplicationBaseCreateConfigurationStorage)
CreateEventHandlerMethodInfo Overridable factory method to create the event handler method info.
(Inherited from VaultApplicationBase)
CreateExecutionTracer Overridable factory method to create the execution tracer object.
(Inherited from VaultApplicationBase)
CreateMetadataStructureCacheEventSink Creates the metadata structure cache event sink that can be used to update the cache based on events. Currently only updating the users, user groups and logins is supported. - The default setting is to disable all event driven caches, so we return a null value. - To enable event driven caches, override to return a `new MetadataStructureCacheEventSink( cache );`
(Inherited from VaultApplicationBase)
CreateMetadataStructureValidator Overridable factory method to create the metadata structure validator component.
(Inherited from VaultApplicationBase)
CreatePropertyMethodInfo Overridable factory method to create the property method info.
(Inherited from VaultApplicationBase)
CreateStateMethodInfo Overridable factory method to create the state method info.
(Inherited from VaultApplicationBase)
CreateStateTransitionMethodInfo Overridable factory method to create the state transition method info.
(Inherited from VaultApplicationBase)
CreateTaskManager
(Inherited from VaultApplicationBase)
CreateVaultAnonymousExtensionMethodInfo
(Inherited from VaultApplicationBase)
CreateVaultExtensionMethodInfo Overridable factory method to create the vault extension method info.
(Inherited from VaultApplicationBase)
CustomValidation Override this method to perform custom validation on the configuration/vault.
EvaluateAutomaticStateTransitionTrigger Invokes the registered automatic state transition condition handlers.
(Inherited from VaultApplicationBase)
EvaluateStatePostConditions Invokes all the state post-condition evaluation handlers.
(Inherited from VaultApplicationBase)
EvaluateStatePreConditions Invokes all the state precondition evaluation handlers.
(Inherited from VaultApplicationBase)
EventHandlerBelongsToThisVaultApplication Check if the event handler belongs to this application.
(Inherited from VaultApplicationBase)
ExecuteAnonymousVaultExtensionMethod
(Inherited from VaultApplicationBase)
ExecuteVaultExtensionMethod Executes the defined vault extension method.
(Inherited from VaultApplicationBase)
GetApplicationLicenseDetails Called by platform to request the license details text, either currently loaded or the given license.
(Inherited from VaultApplicationBase)
GetApplicationLicenseStatus Called to request the status information of the application.
(Inherited from VaultApplicationBase)
GetCapabilities Describes the capabilities this node has. The capabilities returned correspond to which interface methods are implemented/ok to call.
GetCommands Provides the commands that can be shown and/or run for this node. Only safe to call if GetCapabilities returns the Commands flag.
GetConfiguration Gets the current/stored configuration value for the node. Only safe to call if GetCapabilities returns the Configuration flag.
GetConfigurationManager Resolves the configuration manager the application uses. This can control where the configuration is stored/loaded from and what the default security level is.
GetConfigurationSchema Gets the schema describing the structure of the configuration. Only safe to call if GetCapabilities returns the Schema flag.
GetDashboardContent Provides the html for a custom dashboard to display for the node. Only safe to call if GetCapabilities returns the StatusDashboard flag.
GetDelegateScriptTemplate Method for reading the VBScript template from the resources.
(Inherited from VaultApplicationBase)
GetDescription Provides a description of the domain. Currently displayed in the domain header area, and in some default dashboards.
GetEventHandlerDelegateScript Method for retrieving the VBScript delegation code for the certain event type.
(Inherited from VaultApplicationBase)
GetEventHandlerEnvironment Creates the local event handler environment.
(Inherited from VaultApplicationBase)
GetEventHandlerExecutionOrderPreserver
(Inherited from VaultApplicationBase)
GetEventHandlerPrefix
(Inherited from VaultApplicationBase)
GetID Provides the static id for the node. This value should at least be unique amongst siblings. IDs cannot have spaces, newlines or periods.
GetMetadataStructureCache Creates the metadata structure cache for the given vault. If the caching is not desired then this method should be overridden and it should return null.
(Inherited from VaultApplicationBase)
GetMethodsByAttributeT Returns a collection of the methods decorated with the given attribute.
(Inherited from MethodSource)
GetName Gets the human readable name for the domain. Can be localized.
GetPrivateMethodSources Gets private method sources
(Inherited from VaultApplicationBase)
GetPropertyAutomaticNumber Invokes the property customized automatic numbering handler.
(Inherited from VaultApplicationBase)
GetPropertyCustomValue Invokes the property custom value calculation handler.
(Inherited from VaultApplicationBase)
GetPropertyEnvironment Creates the local property environment.
(Inherited from VaultApplicationBase)
GetPropertyHandlerDelegateScript Method for retrieving the VBScript delegation code for the certain state.
(Inherited from VaultApplicationBase)
GetSortPriority Controls the order in which the node appears amongst siblings.
GetStateEnvironment Creates the local state environment.
(Inherited from VaultApplicationBase)
GetStateHandlerDelegateScript Method for retrieving the VBScript delegation code for the certain state.
(Inherited from VaultApplicationBase)
GetStateTransitionEnvironment Creates the local state environment.
(Inherited from VaultApplicationBase)
GetStateTransitionHandlerDelegateScript Method for retrieving the VBScript delegation code for a certain state transition.
(Inherited from VaultApplicationBase)
GetStatusSummary Provides a status summary for the node. Only safe to call if GetCapabilities returns the StatusSummary flag.
GetSubDomainNodes Provides a list of sub domain nodes to appear as children of this node. Only safe to call if GetCapabilities returns the SubDomains flag.
GetTransactionRunner
(Inherited from VaultApplicationBase)
GetVaultExtensionMethodDelegateScript
(Inherited from VaultApplicationBase)
GetVaultExtensionMethodEventHandlerProxyName Returns the name for the vault extension method event handler proxy of this Vault Application.
(Inherited from VaultApplicationBase)
Initialize Initializes the vault application in the specified vault. The method e.g. installs required event delegating scripts in the vault. - NOTE: Once this method releases the vault object will have been disposed. - When overriding this method in classes that extend this one, any logic that - needs to use that vault must be processed before the base.Initialize() method is - called. Alternatively you can place the logic inside an override of the - InitializeImpl() method.
(Inherited from VaultApplicationBase)
InitializeAdminConfigurations Provides the AdminConfigurationManager instance created for this app to interface with the MFAdmin configuration node.
InitializeApplication Protected overridable for the child classes to override instead of Initialize. InitializeApplication can be used to make changes to the vault structure.
(Inherited from VaultApplicationBase)
InitializeAvailabilityGroupStatusWriter Protected overridable for the child classes to override so they can pass in their own settings. PermanentVault is initialized and should be used as the vault connection.
(Inherited from VaultApplicationBase)
InitializeImpl Reload clear the internal data structures and loads the modules and their event handlers.
(Inherited from VaultApplicationBase)
InitializeTaskManager
(Overrides VaultApplicationBaseInitializeTaskManager)
InitializeTaskQueueResolver
(Inherited from VaultApplicationBase)
Install Installs the application. - NOTE: Once this method releases the vault object will have been disposed. - When overriding this method in classes that extend this one, any logic that - needs to use that vault must be processed before the base.Install() method is - called. Alternatively you can place the logic inside an override of the - InstallApplication() method.
(Inherited from VaultApplicationBase)
InstallApplication Protected overridable for the child classes to override instead of Install. InstallApplication can be used to prevent installation of the application. InstallApplication should also install any additional required components. InstallApplication cannot make changes to the vault structure.
(Inherited from VaultApplicationBase)
InstallEventHandlerAndVaultExtensionMethodDelegateScripts Generates and installs the VBScript delegate scripts for event handlers defined in the application.
(Inherited from VaultApplicationBase)
InstallHandlerDelegateScripts Generates and installs the VBScript delegate scripts for all handlers that are defined in the application.
(Inherited from VaultApplicationBase)
InstallPropertyHandlerDelegateScripts Generates and installs the VBScript delegate scripts for property handlers defined in the application.
(Inherited from VaultApplicationBase)
InstallStateAndStateTransitionHandlerDelegateScripts Generates and installs the VBScript delegate scripts for state handlers defined in the application.
(Inherited from VaultApplicationBase)
IsGeneratedAutomatically Checks if the given script is generated automatically. This is decided by the existence of a line with certain content.
(Inherited from VaultApplicationBase)
IsHandlerDefinedForProperty Checks if the has handler(s) of the given type.
(Inherited from VaultApplicationBase)
IsHandlerDefinedForState Checks if the state has handler(s) of the given type.
(Inherited from VaultApplicationBase)
IsHandlerDefinedForStateTransition Checks if the state has handler(s) of the given type.
(Inherited from VaultApplicationBase)
IsValid Indicates whether the current configuration is valid based on the built-in validation and custom validation logic.
LoadConfiguration Safely loads the application's configuration. Defaulting to an empty JSON object if none is found.
LoadHandlerMethods Finds and caches all event handler methods and vault extension methods in the assembly. The methods are decorated with specific attributes.
(Inherited from VaultApplicationBase)
NewEnvironment Returns a new Event Handler environment, to be populated in the event handler script.
(Inherited from VaultApplicationBase)
OnConfigurationUpdated(TSecureConfiguration, Boolean)  
OnConfigurationUpdated(TSecureConfiguration, Boolean, Boolean)  
PopulateConfigurationObjects(Vault) Sets the Configuration property with the ConfManager returned by GetConfigurationManager.
(Overrides VaultApplicationBasePopulateConfigurationObjects(Vault))
PopulateConfigurationObjects(Vault, Object) Populates a configuration objects from single host object.
(Inherited from VaultApplicationBase)
PopulateConfigurationObjectsAndValidate Populates and validates objects marked with MFConfiguration attribute.
(Inherited from VaultApplicationBase)
RegisterEventHandlers Registers the specified event handler method.
(Inherited from VaultApplicationBase)
RegisterHandlersT Generic method for collecting all methods from the given source that are decorated with the specified attribute type.
(Inherited from VaultApplicationBase)
RegisterMethodsFromSource Registers all methods from the specified source.
(Inherited from VaultApplicationBase)
RegisterPropertyHandler Registers the specified property handler method.
(Inherited from VaultApplicationBase)
RegisterStateHandler Registers the specified state handler method.
(Inherited from VaultApplicationBase)
RegisterStateTransitionHandler Registers the specified state transition handler method.
(Inherited from VaultApplicationBase)
RegisterVaultAnonymousExtensionMethodHandler
(Inherited from VaultApplicationBase)
RegisterVaultExtensionMethodHandler Registers the specified vault extension method.
(Inherited from VaultApplicationBase)
ReinitializeMetadataStructureCache Reinitialize the metadata structure cache.
(Inherited from VaultApplicationBase)
RemoveVaultExtensionMethod Removes a vault extension method that does not have a separate event handler proxy.
(Inherited from VaultApplicationBase)
ReportMetadataStructureValidationErrors Handles the validation results. By default only outputs errors to event log.
(Inherited from VaultApplicationBase)
ReportMultiServerModeInconsistenciesToEventLog  
Run Invokes all methods that have the MFEventHandlerAttribute and are applicable to this event.
(Inherited from VaultApplicationBase)
RunStateAction Invokes the state run action handlers.
(Inherited from VaultApplicationBase)
SaveConfiguration Saves a new configuration value for the node. Only safe to call if GetCapabilities returns the Configuration flag.
SetApplicationLicense Setting in new license content. Gets called after application instantiation before Initialize(), and also when a new license is applyed from MF-Admin.
(Inherited from VaultApplicationBase)
SetAuthenticationData Sets the authentication data for the vault application.
(Inherited from VaultApplicationBase)
SetCallingThreadCulture Sets the current thread culture according to the current user's culture.
(Inherited from VaultApplicationBase)
SetEventHandlers Overridable method for setting event handlers.
(Inherited from VaultApplicationBase)
ShouldUpdateScript Checks if the script should be updated. The script should be updated only if the old script was automatically generated and the new script differs from the old one.
(Inherited from VaultApplicationBase)
StartApplication Protected overridable for the child classes to override instead of StartOperations. PermanentVault is initialized and should be used as the vault connection. StartApplication should be used to start recurring background operations.
(Inherited from VaultApplicationBase)
StartOperations Starts the vault operations in the specified vault. The method e.g. begins to use the vault in a background job. - NOTE: Once this method releases the vault object will have been disposed. - When overriding this method in classes that extend this one, any logic that - needs to use that vault must be processed before the base.StartOperations() method is - called. Alternatively you can place the logic inside an override of the - StartApplication() method or inside the RegisterTaskQueues() method for - Vault applications that implement the IUsesTaskQueue interface. - ADDITIONAL NOTE: The PermanentVault reference will still be available.
(Inherited from VaultApplicationBase)
StartTaskQueueProcessing
(Inherited from VaultApplicationBase)
TraceCustomEvent Adds a custom event to the execution tracer.
(Inherited from VaultApplicationBase)
Uninitialize Un-initializes the vault application in the specified vault. - NOTE: Once this method releases the vault object will have been disposed. - When overriding this method in classes that extend this one, any logic that - needs to use that vault must be processed before the base.Uninitialize() method is - called. Alternatively you can place the logic inside an override of the - UninitializeApplication() method.
(Inherited from VaultApplicationBase)
UninitializeApplication Protected overridable for the child classes to override instead of Uninitialize. UninitializeApplication can be used make changes in the vault structure.
(Inherited from VaultApplicationBase)
UninitializeImpl Un-initializes the vault application in the specified vault.
(Inherited from VaultApplicationBase)
Uninstall Uninstall the application. - NOTE: Once this method releases the vault object will have been disposed. - When overriding this method in classes that extend this one, any logic that - needs to use that vault must be processed before the base.Uninstall() method is - called. Alternatively you can place the logic inside an override of the - UninstallApplication() method.
(Inherited from VaultApplicationBase)
UninstallApplication Protected overridable for the child classes to override instead of Uninitialize. UninstallApplication can be used to prevent uninstallation of the application. UninstallApplication should also uninstall any additional required components, that were installed by the InstallApplication-method. UninstallApplication cannot make changes to the vault structure.
(Inherited from VaultApplicationBase)
UpdatePropertyDefScripts Overridable method for updating property definition scripts.
(Inherited from VaultApplicationBase)
UpdateWorkflowScripts Overridable method for updating a workflow scripts.
(Inherited from VaultApplicationBase)
Validate Validates the node along with the current, or passed configuration text. Only safe to call if GetCapabilities returns the Validation flag.
ValidateConfigurationAttributes Does internal "old school" validation based on configuration attributes.
ValidateMetadataStructure Overrides the default start-up validation to focus only on our specific configuration, and not all members of the application object itself.
(Overrides VaultApplicationBaseValidateMetadataStructure(Vault))
ValidatePropertyValue Invokes all property validation handlers.
(Inherited from VaultApplicationBase)
ValidateTaskManager  
VaultActionNotification
(Inherited from VaultApplicationBase)

Fields

anonymousMethods
(Inherited from VaultApplicationBase)
applicationRunningStatus Indicates the application running status. This is volatile because the value can be accessed from multiple threads to avoid caching delays -- the enumeration read and write itself is atomic.
(Inherited from VaultApplicationBase)
cacheEventSink The vault listeners registered to update the metadatastructurecache backing vault instances.
(Inherited from VaultApplicationBase)
eventHandlerMethods Collections of the event handling methods.
(Inherited from VaultApplicationBase)
eventSourceIdentifier The application event source identifier that is used in conjunction with the Windows event log.
(Inherited from VaultApplicationBase)
MaxTimeToWaitBackgroundOperationsAtUninitialization Defines how long the background operations can be waited at uninitialization.
(Inherited from VaultApplicationBase)
propertyMethods Collection of property extension methods by property.
(Inherited from VaultApplicationBase)
stateMethods Collection of state extension methods by state.
(Inherited from VaultApplicationBase)
stateTransitionMethods Collection of state transition extension methods by state.
(Inherited from VaultApplicationBase)
unusedAnonymousMethodNames
(Inherited from VaultApplicationBase)
unusedVaultExtensionNames List of vault extension method names which are known but not used.
(Inherited from VaultApplicationBase)
vaultExtensionMethods Collection of vault extension methods by name.
(Inherited from VaultApplicationBase)

Extension Methods

AssertCapable Throws an exception if a node does not support a certain capability.
(Defined by ConfigurationDomainNodeExtensionMethods)
IsCapable Determines whether a node supports a certain capability. Capabilities correspond to interface methods that are valid to call on a node.
(Defined by ConfigurationDomainNodeExtensionMethods)

See Also