Client software distribution extension points

The client software distribution (CSD) extension points create the customization code for the specific provider and the extension keys.

The purpose of the extension points is to associate extension keys with a specific provider, and then create a script that sets input variables for your custom deployment and revocation workflows. Another extension point script tells CSD if the provider has the capability to revoke software. If this is the case, CSD enables the UI action that triggers revocation from the provider.

SetDeploymentData

The script associated with this extension key must set the csdExtensionResult object with these attributes:
  • deploymentWorkflowInputs: Object that specifies the deployment workflow input variables.
  • softwareModel: Software model sys_id.
  • deploymentType: An integer. Use 1 for deployment to a user and 2 for deployment to a device.
  • softwareApplication: Software application sys_id.

CheckRevocable

The script associated with this extension key gets the input parameter csdExtensionInputs.softwareConfiguration, which is a Client Software Distribution record in the Software Configuration [sn_client_sf_dist_software_config] table. All providers' software configurations are extended from this table, but may have different attributes.

This script must set the csdExtensionResult object to true or false, depending on whether the software configuration specifies uninstallation.

SetRevocationData

The script associated with this extension key gets the input parameter csdExtensionInputs.softwareConfiguration, which is a Client Software Distribution record in the Software Configuration [sn_client_sf_dist_software_config] table. All providers' software configurations are extended from this table, but may have different attributes.

The script must set the csdExtensionResult object with these attributes:
  • revocationWorkflowInput: Object that specifies the revocation workflow input variables.
  • softwareModel: Software model sys_id.
  • deploymentType: An integer. Use 1 for deployment to a user and 2 for deployment to a device.