JavaScript extensions overview

JavaScript is used in IBM Security Identity Manager to specify identity policies, provisioning policy parameters, service selection policies, placement rules for identity feeds, and orphan account adoption.

In addition, JavaScript is used in workflows to specify transition conditions, loop conditions, JavaScript activities, activity postscripts, and workflow notification. Various scripting extensions are provided by IBM Security Identity Manager to expose useful data and services to each of these scripts. In addition to these extensions, system administrators can configure IBM Security Identity Manager to load custom JavaScript extensions. For more information about custom JavaScript extensions, see the scriptframework.properties file. Use the Update Property page from the Appliance Dashboard of the Identity Manager virtual appliance console. See Managing the server properties.

IBM Security Identity Manager supports the IBM® JSEngine Java™ Script interpreter. This interpreter supports the third edition (December 1999) of the ECMA-262 specification.

Table 1 lists the supported host components and script extensions.

Table 1. Host components and script extensions
Host Component Supported Script Extension Description
AccountTemplate ProvisioningPolicyExtension Extensions registered with this key are loaded by Account Default Template parameters.
ServiceExtension
SubjectExtension
Delegate DelegateExtension Extensions registered with this key are loaded by Delegation notifications.
Model Extensions Package
HostSelection ServiceModelExtension Extensions registered with this key are loaded by Service Selection Policies.
SubjectExtension
IdentityPolicy IdentityPolicyExtension Extensions registered with this key are loaded by Identity Policies.
AttributesExtension
ServiceExtension
SubjectExtension
OrphanAdoption Model Extensions Package Extensions registered with this key are loaded by adoption scripts.
ServiceExtension
SubjectExtension
PersonPlacementRules PersonPlacementRulesExtension Extensions registered with this key are loaded by placement rules during identity feeds.
ServiceExtension
AttributesExtension
PostOffice PostOfficeExtension Extensions registered with this key are loaded by Post Office templates.
ProvisioningPolicy ProvisioningPolicyExtension Extensions registered with this key are loaded by Provisioning Policy parameters.
Model Extensions Package
ServiceExtension
SubjectExtension
AttributesExtension (deprecated)
Reminder ReminderExtension Extensions registered with this key are loaded by email reminder templates.
SubjectExtension
Workflow WorkflowExtension Extensions registered with this key are loaded by workflow scripts that include Workflow TODO Notifications.
Model Extensions Package
LoopCountExtension
Workflow Notification WorkflowExtension The extensions loaded are hardcoded and all supported extensions are loaded.
EmailContextExtension
PersonModelExtension
TODO Notification (Approval/RFI/ComplianceAlert/WorkOrder) WorkflowExtension The extensions loaded are the same as Workflow.
Model Extensions Package
LoopCountExtension