Skip to main content

Package Extensions

Overview​

Pia is a software framework that supports package extension through the use of Extension Points (extension point) located at fixed positions within each package. These extension points typically occur at the beginning and end of the package's execution.

When an extension point is reached during package execution, any configured child packages are executed with data passed in as input.

An example of this mechanism would be the staff onboarding package, which uses extension points to run pre- and post-user creation activities within the context of the package.

Supported Packages​

  • Staff Onboarding (Cloud Hybrid)
  • Staff Onboarding (Cloud Only)
  • Staff Onboarding (On Prem)
  • Staff Onboarding (Semi-Hybrid)
  • Staff Offboarding (Cloud Hybrid)
  • Staff Offboarding (Cloud Only)
  • Staff Offboarding (On Prem)
  • Staff Offboarding (Semi-Hybrid)

With the exception of the Staff Offboarding (Semi-Hybrid) package, all user packages in our system include a pre-execution extension point and a post-package execution extension point.

The Staff Offboarding (Semi-Hybrid) package is unique in that it can work on user objects in both Azure and Active Directory (AD). As a result, this package contains two post-execution extension points one for the AD user and another for the Azure user to handle the synchronization of the user's offboarding across both systems.

Configuration​

When a package has extension point configured, it will display an extra dialog with in the package configuration screen. packageextension-00.png

When clicking on "here" you can select the extension point to be used within the package. packageextension-00.png

By selecting "+ Add Automation" you can expand the drop-drown list to display the available extension automations. packageextension-00.png

You can select "Data Schema" to see the configured schema for the extension point. packageextension-00.png

Automation Extensions Requirements​

For a package to be available as an automation extension it must contain the condition name: 'extension_automation' as well as its standard requirements (refer to Extension Automation Condition), e.g.:

- name: 'extension_automation'
- name: 'client_filter'
optMode: 'OptOut'
category: 'Testing'