Difference between revisions of "The Musings of Chin - Configuration Tips"

From SmartWiki
Jump to: navigation, search
(Workflows Not Firing)
 
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
* 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.
 
* 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.
 
* 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.
+
* Ensure that the object you're triggering the workflow on is enabled for it. For example, {{UTA}} {{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]].
 
* 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).
 
* Ensure there is no malformed or incorrect syntax used within the task connectors or workflow routing (i.e. routing of an acknowledgement task).
Line 13: Line 13:
 
* Ensure that any variables referenced in the system are always encapsulated within double quotes.
 
* 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.
 
* 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.
+
* 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|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.
 
* 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.
  
Line 23: Line 23:
 
* 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.
 
* 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]]
+
[[Category:Expert Tips and Tricks]][[Category:Chin’s Musings]]

Latest revision as of 14:44, 15 January 2015

Welcome to another installment of Chin's Musings! In this series, Systems Controller Chin Chuah will create helpful rundowns of various system features and processes to help you better understand the SmartSimple platform.

Let's learn about some common issues encountered when configuring SmartSimple.

Workflows Not Firing

  • Ensure that the workflow has connectors between the 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, Level 1 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 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 vs. MySQL Syntax

  • Javascript syntax is used in areas that are displayed on the browser to the user. Custom field settings for Javascript Validation, Special Calculated Value custom fields, and 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 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.