Home Search

DriveWorks Pro 23
How To: Create and Edit Specifications Using URL Parameters

Send Feedback

This section is specific to versions prior to DriveWorks 23, for the latest DriveWorks version please see How To: Create and Edit Specifications Using URL Parameters.

How To: Create and Edit Specifications Using URL Parameters (prior to DriveWorks 23)

The Example Sites - Corporate Website example supports creating new or editing existing Specifications through a URL query function.

The Query Function requires the term /query? and then specific parameters and parameter values appending to the URL of the website, for example:

https://webapi.driveworkslive.com/example-sites/corporate-website/query?run=Demo-Cupboard

Authentication

For security reasons authentication (Login) credentials cannot be passed into the Query Function.

To allow different logins for different situations a sharedGroupAlias for each situation, is created in the DriveWorksConfigUser.xml file.

This is a server side configuration file which is never served to the client (browser) so all settings are secure.

See Integration Theme Settings, Shared Group - Multiple Connections for more information.

Once applied, the required sharedGroupAlias is selected by using the alias parameter in the Query Function.

Permissions

Certain parameters of the Query Function have been blocked by default for security reasons.

Constants and Macros must be explicity set in the DriveWorksConfigUser.xml file.

This is a server side configuration file which is never served to the client (browser) so all settings are secure.

See Integration Theme Settings - Permissions for more information.

Query Function Parameters

The available parameters are:

  • run

    Will create a new Specification from the given Project name.

    For example:

    /query?run=MyProject

  • driveapp

    Will run the given DriveApp Alias name.

    For example:

    /query?driveapp=MyDriveApp

  • specification

    Will edit the given Specification ID.

    For example:

    /query?specification=123

  • transition

    Combine with the specification parameter to run the given Transition name.

    For example:

    /query?specification=123&transition=Edit

  • operation

    Combine with the specification parameter to run the given Operation name.

    For example:

    /query?specification=123&operation=CreateReports

  • alias

    The name of the Group alias as specified in the DriveWorksConfigUser.xml. Combine with the run parameter to create a specification in another Group.

    This is required if the defaultGroupAlias has not been set in the config.js file. See Query Function Settings for more information.

    This is also required when multiple Groups or access points to the same Group are possible.

    For example:

    /query?alias=DistributorAlias&run=MyProject

  • DWConstantNAME

    DWConstant is case sensitive.

    This must be declared in the URL exactly as above.

    Sets the constant to the value specified. Combine with the run parameter to set a constant value in a new Specification.

    For example:

    /query?run=MyProject&DWConstantName=1111

  • DWMacroNAME

    DWMacro is case sensitive.

    This must be declared in the URL exactly as above.

    Will run the given Macro name and passes in the argument (optional). Combine with the run parameter to run a Macro in a new Specification.

    For example:

    /query?run=MyProject&DWMacroName=Argument

Escaping tags

When characters used in the structure of the URL are required as parameters or values to be passed into a Specification, the character must be encoded.

Common characters and their URL-encoding equivalent are listed below:

ASCIIURL Encoding
space%20
&%26
?%3F

For a complete list of URL Encoding References, please refer to HTML URL Encoding Reference (W3 Schools).

For example when the value My Company is required to be passed into a Constant named DWConstantCompanyName, the Query Function URL will look like:

/query?run=MyProject&DWConstantCompanyName=My%20Company

Query Function Settings

Settings for the Query Function are applied in the config.js file for the Corporate Website example.

Open the config.js in an editor and locate the code below:

// (Optional) Configure the query function
// Enter a default Group Alias and/or Project name 
   to be used (when none are passed in the query string)
// Choose how sessions are handled
query: {
    defaultGroupAlias: "",
    defaultProjectName: "",
    autoLogin: false,
    requireNewSession: false,
    requireExactAlias: false,
},

Where the following settings can be applied:

  • defaultGroupAlias

    A default Group Alias, so if one is not provided in the URL a session will be created with these credentials.

    If this is not set the alias parameter must be declared in the Query Function URL. See Query Function Parameters for more information.

  • defaultProjectName

    A Project to run if one is not specified, this will create a new Specification with this Project.

  • autoLogin

    If a session is not currently active, the Integration Theme will login to the Group with the credentials in the Group Alias.

  • requireNewSession

    (true or false) will force a new session every time a URL is run, this will force the session to be change to the credentials passed into the Integration Theme via the Group Alias.

  • requireExactAlias

    (true or false) This setting will ensure that the active session is running as the same Alias that has been provided. If a session is active an the Alias provided does not match the query will not be run.