Setting Up the Sandbox Connector

This topic describes how to configure process definitions to handle requests from transaction types when they are being tested in a development sandbox.

Sandbox Connector Overview

Sandbox Connectors enable you to test transaction types, such as permits, planning application types, and business license types, while they are still in draft-mode being designed and tested within the development sandbox. With the Sandbox Connector, you can design an intake form and test it, end-to-end, without needing to publish it. Without the Sandbox Connector, the transaction type intake form will not be able to trigger interaction with the associated workflow process definition.

To complete the integration of the Sandbox Connector, you need to perform these tasks for all existing process definitions:

  • Create a Sandbox Connector.

  • Update the process definition to use the Sandbox Connector.

Note: This process will need to be completed for all new and existing process definitions.

For more information on sandboxes and testing draft intake forms in the sandbox, see Working with Sandboxes and Testing Intake Forms.

Creating the Sandbox Connector

To create the Sandbox Connector:

  1. Open the process definition.

  2. Select Create > External > REST.

  3. On the Create REST Connector dialog box, enter these values.

    Page Element

    Value

    Name

    SandboxConnector

    Base URL

    {your host}/fscmRestApi/pscresources/11.13.18.05/dynamic/DynamicRequests

  4. Leave Open Immediately selected and click Create.

  5. Click Edit to display the Configuration section.

  6. On the General tab, make sure the base URL is correct.

  7. Select the Security tab, and enter the proxy user created to access the Public Sector Compliance and Regulation data.

    Page Element

    Value

    Security Type

    APP Id – Basic Authentication

    Username and Password

    The proxy user you set up for OIC and Oracle Permitting and Licensing integration.

  8. Select the Visibility tab and choose how you want the integration to appear.

    Show operations is recommended.

  9. In the Resources box, click Add.

  10. Enter these values for the resource.

    Page Element

    Value

    Name

    DynamicTransactionResource

    {baseURL}

    Blank

  11. At the top of the Operations grid, click Add, and select POST operation.

  12. Select the row for the postDynamicTransactionResource operation.

  13. In the Resources > Resource box, scroll to the Request/Response area, the Request button will already be selected. Click the plus sign (Create a business object).

  14. In the Import Business Object from JSON dialog box, enter these values and click Import:

    This example illustrates adding the JSON payload for the Sandbox Connector. Details are in the surrounding text.

    Sandbox Connector JSON

    Page Element

    Value

    Name

    RequestDynamicResource

    JSON

    Select Schema and add the following JSON.

    {	
      "$schema" : "http://json-schema.org/draft-04/schema#",
      "type" : "object",
      "properties" : {
        "resourceName" : {
          "type" : "string"
        },
        "method" : {
          "type" : "string"
        },
        "payload" : {
          "type" : "string"
        },
        "payloadnv" : {
          "type" : "string"
        },
        "path" : {
          "type" : "string"
        }
      }
    }
  15. Click the Response button, and from the Body drop-down list, select BusinessData.ResponseTransactionData.

  16. Click Apply to save your changes.

Update the Process Definition

In this task you will update:

  • All calls from the getTransactionData and patchTransactionStatus operations of the Transaction Connector have to include the postDynamicTransactionData operation of the Sandbox Connector.

  • All corresponding data associations.

To update getTransactionData calls:

  1. Select Processes in the left-hand navigation to display the process.

  2. Expand the Get Transaction Data node in the process definition, select the transaction data node, and select Open Properties.

    This example illustrates a collapsed process definition node. Details are in the surrounding text.

    Process Definition: Get Transaction Data node

    This example illustrates an expanded process definition node. Details are in the surrounding text.

    Process Definition: Expanded Get Transaction Data node
    Note: This node can have other names, such as Get Application, Get Permit Data, and so on. It is typically the first system task in the process definition, where the process definition gets the required initial data, including transaction type, transaction data, and so on.
  3. From the Type drop-down list, select Service Call, and click the Configure button.

  4. On the Configure dialog box, click the search icon for the Integration field, and select SandboxConnector.

  5. With SandboxConnector displayed in the Integration field, update these values, and click OK:

    Page Element

    Value

    Resource

    DynamicTransactionResource

    Operation

    postDynamicTransactionResource

  6. Return to the process definition by collapsing the properties pane, select the same node you selected in the steps above, and this time select Open Data Associations.

    Note: You may notice warning text referring to undefined variables, which is what you will resolve in the following step.
  7. On the Data Association page, make sure the Input tab is selected, and for the field that reads New Association, enter “GET” and then update the data associations accordingly:

    This example illustrates how to map data associations for process definitions. Details are in the surrounding text.

    Process Definition: Input Data

    Page Element

    Value

    transaction.resourceName

    body.resourceName

    transaction.transactionKey

    body.path

    “GET”

    body.method

  8. Select the Output tab and add these values:

    Page Element

    Value

    bodyOutput

    transactionData

  9. Repeat these steps for all calls to the getTransactionData in the process definition.

To update patchTransactionStatus calls:

  1. Use same steps above for updating the properties and data associations.

  2. Enter these input data associations:

    Page Element

    Value

    transaction.resourceName

    body.resourceName

    transaction.transactionKey

    body.path

    "Status:Accepted"

    body.payloadnv

    "PATCH"

    body.method

  3. Enter these output data associations:

    Page Element

    Value

    bodyOutput

    transactionData

Use the

Integration JSON Payload Attributes

The integration requires a POST operation request from the OIC process definitions.

The payload attributes are:

Attribute

Description

resourceName

Dynamic resource name, such as the permit type.

method

REST method for the dynamic resource, such as GET, POST, PATCH.

path

To access a specific row and child rows of the dynamic resource.

payload

Standard REST payload to pass to POST/PATCH requests.

Use either payload or payloadnv.

payloadnv

Comma delimited key value pairs to pass to the POST/PATCH request.

Use either payload or payloadnv.

sandbox

Optional property if the sandbox context is needed. By default it is true, which means the sandbox exists for the resource. The integration always gives the sandbox context by default unless this property is set to "N".