Related Topics
Miscellaneous Variables
There are a variety of miscellaneous custom variables that you can set to determine how some Process Director features or functions work.
When using full-text search operators, such as (Contains (Lexical) search operations may take a long time, especially when searching many records containing long text fields. This custom variable can speed up the operation of full text searches by limiting the search to the first 256 characters of the field being searched. While this may substantially speed up the search operation, it also reduces the accuracy of the search results, as search terms that aren't included in the first 256 characters of the field will be ignored.
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Speed up full-text searching
bp.Vars.fCONTAINSUseValueSearchOnly = true;
}
This Boolean variable enables Knowledge View designers to mix the use of the form field chooser from the Choose System Variable dialog box and FORM system variables in Knowledge View columns in Knowledge Views that return results from multiple Form Definitions. The default value for this variable is "True". Setting this variable to "False" will require that all fields be chosen from the Field Chooser.
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Allows mixing methods for choosing form fields in KView Columns.
bp.Vars.fEnableMultFormFieldsInCols = true;
}
When true, this option enables running a SQL transaction prior to running the command to run a Knowledge View. Once the Knowledge View has been run, the transaction is rolled back. Running the transaction will aide in database concurrency for complex filtering on the Knowledge View, using the IsolationLevel.ReadUncommitted functionality on SQL Server only. This isn't enabled for Oracle because Oracle only supports ReadCommitted and Serializable, which would commit the transaction to the database. The default value for this variable is "true". Setting the value to "false" will prevent the SQL transaction from running.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Disables running the automatic SQL Transaction
bp.Vars.fEnableTransOnKVIEW = false;
}
Knowledge Views use a transaction that will aide in database concurrency for complex filtering on the Knowledge View. This is done by having a transaction around the KVIEW SELECT. The default is to enable this functionality, but it can be turned off by setting this in the custom vars:
This function is only applicable on SQL Server (not Oracle).
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Disables running the automatic SQL Transaction
bp.Vars.fEnableTransOnSELECT = false;
}
When true, this system variable ensures that, when saving (submitting) Forms, only modified fields will be updated in the database. This option's default setting is "true". This setting enhances system performance.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
bp.Vars.fFormSaveUpdatesOnly = true; // Saves only updated form data
}
When set to "true", this system variable ensures that disabled form fields can't be edited via client JavaScript, and only set via server directives, when additional security is desired. For Cloud installations of Process Director, the default value for this variable has been set to "true". For all other versions, the default value of this variable is "false".
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Disables JavaScript changes to disabled fields
bp.Vars.fFormSkipDisableFieldsSave = true;
}
When set to "true", this variable ensures that hidden form fields can't be edited via client JavaScript, and only set via server directives, when additional security is desired. For Cloud installations of Process Director, the default value for this variable has been set to "true". For all other versions, the default value of this variable is "false".
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Disables JavaScript changes to hidden fields
bp.Vars.fFormSkipHiddenFieldsSave = true;
}
For Process Director v5.33 and higher, setting this variable to "true" hides certain controls (Comment Log, Buttons, Button Area, Embedded Sections, Routing Slip, Labels) from the condition builder. These fields are generally not used to store data, so may not be needed in the Condition Builder. The default value for this variable is "false".
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Hides non-data fields from the Condition Builder
bp.Vars.fHideLabelsFromConditions = true;
}
This variable when set to true, will force the activity/step to use the "participants when activity starts" checkbox to determine if an email should be sent. Previously an email was unconditionally sent when a user was added/reassigned in a running step/activity by an administrator. The default value for this variable is false.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
//Use the task's email setting for administrative task change notifications
bp.Vars.fListenToEmailSetting = true;
}
This variable enables you to control whether the CreatePDFFromDocument API will create a container PDF file for documents that can't be converted directly to a PDF file.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Create container PDF file for non-convertible documents
bp.Vars.fPDFCreateOtherAsAttachments = true;
}
This method is configured in the PreSetSystemVars method of the Custom.Vars file. It enables you to specify the field names for fields whose values you wish to set using a URL parameter. Any field name specified by this method can have the value modified by a URL parameter on any Form that uses a field with the specified name.
For instructions on implementing this method, see the Form Definition URL topic in the Implementer's Reference.
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Fields to set via URL Parameter
bp.Vars.FormFieldsAllowDisabledURLUpdate.Add("FieldName1");
bp.Vars.FormFieldsAllowDisabledURLUpdate.Add("FieldName2");
}
When set to true, a Process Director user will have to reenter his User ID when prompted for re-authentication. This variable is set to false by default, which means that the User ID is filled in automatically on a Form’s Re-Authenticate control.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Force reauthentication
bp.Vars.fReAuthFillUserID = true;
}
When a user tries to view a page in Process Director while not logged in, he will be redirected to a login page. After he logs in, he will be directed back to the original page he was attempting to view. This variable is set to false by default. If it is set to false, then the user won't be redirected after logging in if the URL interface parameter is invalid. This flag may need to be set to true if the users are navigating through a firewall that changes the URL.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Redirect users after login
bp.Vars.fSkipNextPageCheck = true;
}
This variable prevents all usage checking upon the deletion of an object on the Content List. When set to true, Process Director won't check for the locations in which an object is used. This variable need only be set to true if Process Director takes too long to present a user with a dialogue showing him where the object is used upon deletion.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Do not check for object locations
bp.Vars.fSkipWhereUsedCheck = true;
}
By default, file uploads for Form attachments occur synchronously with Form submissions, meaning that the Form submission can't complete until all files are uploaded. Setting this value to "true" enables the form to be submitted while a separate process performs the file uploads . This can prevent Form submissions from hanging as they wait for large file uploads, or low bandwidth.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Enables files uploads to be processed separately
// from Form submissions
bp.Vars.fUseAsyncUpload = true;
}
This variable enables callers of web services using REST to pass authentication credentials on the URL. The default value of this variable is "true". If this variable is set to "false", the fWebServiceAuth custom variable will also have to be set to false, as there will be no way to pass credentials for authorization.
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Disable Authentication credentials
// Requires also setting the fWebServiceAuth var to false
bp.Vars.fWebServiceAllowCredentialsURL = true;
}
This variable enables you to set the default database timeout value (normally 30 seconds).
For Process Director v6.1.200 and higher, the value set here will also govern the database timeout values for Report objects that use SQL commands to return data.
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Set the DB timeout to 60 seconds
bp.Vars.nDBCommandTimeout = 60;
}
This variable enables you to override the default database transaction isolation level if set to any value other than "0" or "-1". The default is "0".
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Override the default database transaction isolation level
bp.Vars.nDBTransIsolationLevel = 1;
}
This system variable enables you to multiply the configured lengths of Timeline activities by a given factor. This can be used for test purposes, to shorten the duration of timeline activities relative to their configured due dates. Set this system variable to the factor by which you wish to multiply the configured activity durations.
This only works for due dates configured as relative times (e.g. 5 business days). It has no effect on setting due dates to a form field or a system variable. Use of this feature will also trigger the internal timer processing and activity checks on all pages which may hinder performance when enabled.
Example
public override void PreSetSystemVars (BPLogix.WorkflowDirector.SDK.bp bp)
{
// Activities will take 10% as long as they are
// configured to take
bp.Vars.nDebugProcessTimeFactor = 0.1;
}
This variable limits the number of characters to be searched in a form field. This optional setting only applies when searching for form data using "contains" form data in the filter. The default is no limit. This variable can provide a performance improvement when searching for form data on systems with millions of rows.
Example
public override void PreSetSystemVars (BPLogix.WorkflowDirector.SDK.bp bp)
{
// Limit the search to only the first 256 characters in the form data fields.
Vars.nLimitSearchToChars = 256;
}
This variable will enable process director to detect additional browser strings for mobile devices.
Example
public override void PreSetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// This will add additional browser agent strings for mobile devices
bp.Vars.sMobileAdvancedTypes = "Android 10, iOS 13, [Some Other Browser Type]";
}
This variable enables you to identify an HTTP cookie that should be added to the document and Form upload web service call. Some session managers require a cookie for all page access. If this variable is specified, the named cookie will be copied to the upload requests using obj_upload.aspx.
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// SiteMinder requires the SMSESSION cookie
bp.Vars.sUploadAddCookie = "SMSESSION";
}
This variable contains a regular expression used to validate form fields containing phone numbers. See the example for the default value of this variable:
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Regular expression to use for validating phone numbers
bp.Vars.ValidationPhonePattern =
@"^(?:(?:[\+]?(?<CountryCode>[\d]{1,3}(?:[ ]+|[\-
.])))?[(]?(?<AreaCode>[\d]{3})[\-/)]?(?:[ ]+)?)?
(?<Number>[a-zA-Z2-9][a-zA-Z0-9 \-.]{6,})(?:(?:[
]+|[xX]|(i:ext[\.]?)){1,2}(?<Ext>[\d]{1,5}))?$";
}
This variable contains a regular expression used to validate URL strings. See the example for the default value of this variable:
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Regular expression to use for validating URLs
bp.Vars.ValidationUrlPattern = @"^(http|https|ftp)\://
[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)
?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$";
}
This variable contains a regular expression used to validate form fields containing ZIP codes. See the example for the default value of this variable:
Example
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
// Regular expression to use for validating zip codes
bp.Vars.ValidationZipCodePattern = @"^(\d{5}-\d{4}|\d{5}\d{9})$";
}
Documentation Feedback and Questions
If you notice some way that this document can be improved, we're happy to hear your suggestions. Similarly, if you can't find an answer you're looking for, ask it via feedback. Simply click on the button below to provide us with your feedback or ask a question. Please remember, though, that not every issue can be addressed through documentation. So, if you have a specific technical issue with Process Director, please open a support ticket.