8,849
edits
Changes
→Workflows Not Firing
Let's learn about some common issues encountered when configuring SmartSimple.
==[[Workflows]] Not Firing==* Ensure that the [[workflow ]] has [[Workflow Connector|connectors]] between the [[Workflow Task Types|tasks]]. There needs to be a start and end (or connection) to another workflow.
* When using [[branching logic]] within task connectors, ensure that every outcome and possibility is accounted for in your conditions and that each condition is mutually exclusive from each other. Do not overlap logical conditions with each other.
* Ensure that the object you're triggering the workflow on is enabled for it. For example, Universal Tracking Application™ {{l1}} templates need to have workflows enabled and specific association workflows selected. Companies need to select specific company/contact workflows.
* Multiple workflows cannot be configured to trigger off a single [[status]].
* Ensure there is no malformed or incorrect syntax used within the task connectors or workflow routing (i.e. routing of an acknowledgement task).
==Variable Processor==
* Ensure that any variables referenced in the system are always encapsulated within double quotes.
* If certain syntax such as [#(?object=)#] is malformed, it will result in displaying a completely blank page.
* Ensure there are no mismatched syntax tags such as [[sslogic]] embedded within each other, or missing sslogic end tags. When embedding different syntax (e.g. sslogic, [[sscalculation]], or [[system variables]]) make sure you understand the [[The Musings of Chin - SmartSimple's Order of Operations|SmartSimple Order of Operations]] to configure these appropriately.
* Be mindful of all the possible return values for a variable. When a value has never been saved to a field, the variable syntax itself will be returned (i.e. @variable@). A variable may also return a blank empty string. The variable processor will also take field formatting into account and, by default, returns a field's configured format such as currency or date format. This needs to be considered when manipulating the value.
* [[Javascript]] syntax is used in areas that are displayed on the browser to the user. Custom field settings for Javascript [[Validation]], [[Custom Field Type: Special – Calculated Value|Special Calculated Value]] custom fields, and [[Custom Field Type: Special – Browser Script|Special Browser Script]] fields are a few examples.
* MySQL syntax is used in behind-the-scenes areas not displayed to the user. [[Template Formulas]], [[Submit Logic]], custom field [[Visibility Condition|Visibility Logic]] are a few examples.
* The Javascript equality operator is a double equal sign (==) whereas MySQL's is just a single equal sign (=).
* String (text) values need to be encapsulated within quotes (double quotes are the safest), hence the suggestion to always encapsulate Variable Processor calls within quotes.
[[Category:Chin's Musings]]