Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.
Versions
  • London
  • Kingston
  • Jakarta
  • Istanbul
  • Helsinki
  • Geneva
  • Store
Close

Client software distribution extension framework

Client software distribution extension framework

Client software distribution (CSD) provides built-in extension points for integrating a ServiceNow instance with client software disribution providers, such as Casper, Altiris, or LANDesk.

Caution: The use of CSD extension points is an advanced procedure intended for use by experienced Now Platform developers only. Instructions for customizing your instance to deploy and revoke software from a software distribution provider can be found in the CSD Extension Implementation Guide.

Configure client software distribution providers

Identify the provider and specify the workflows and extension points for a customized software distribution process.

Before you begin

Perform the development tasks described in the CSD Extension Implementation Guide before attempting this procedure.

Role required: sn_client_sf_dist.csd_admin, admin

Procedure

  1. Navigate to Client Software Distribution > Extensions > Providers.
  2. Click New.
  3. Complete the form using the fields in the table.
    Figure 1. Provider information for Casper integration
    Provider information for Casper integration
    Table 1. Client software distribution provider fields
    Field Description
    Name Descriptive name of the provider.
    Provider server Table name of the provider server. You must create this table as an extension of the Configuration Item [cmdb_ci] table. For example, you might call your table Casper Server Instance [cmdb_ci_casper_server_instance].
    Discovery workflow Workflow that discovers the provider server and returns the data from that server back to the instance. This is the workflow you create with custom activities that query the provider server.
    Software configuration Table name of the software configuration for this provider. You create this table as an extension of the Client Software Distribution Software Configuration [sn_client_sf_dist_software_config] table. For example, you might create a table called Casper Software Configuration [sn_client_sf_dist_casper_sf_config].
    Deployment extension key The SetDeploymentData key provided with CSD. This key sets up the data for the software ordering and deployment workflow.
    Deployment workflow Workflow that deploys software from the provider server. This is the workflow you created with custom activities that tells the provider where to deploy an application requested from the service catalog.
    Revocation extension key The SetRevocationData key provided with CSD. This key sets up the data for installation revocation.
    Revocation workflow Workflow that revokes an installation from a provider server. This is the workflow you created with custom activities that tells the provider which application to remove from a device.

Client software distribution extension keys

Client software distribution (CSD) extension keys allow you to customize the deployment and revocation of software from distribution providers.

These pre-defined keys allow you to generate input variables for workflows that deploy and revoke software from external distribution providers:
  • SetDeploymentData: Sets the software order information and generates the input variables for the deployment workflow.
  • SetRevocationData: Generates the input variables for the revocation workflow.
  • CheckRevocable: Specifies the conditions that determine if an installation can be revoked. If the software configuration associated with the installed software allows uninstallation, the installed software can be revoked.

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.