==Overview==The Variable Processor is the engine within SmartSimple that processes and replaces variable references (e.g. @firstname@) with actual values (e.g. John Doe) within templates and calculations. This allows you Watch this video to configure get a generic template or calculation to be translated and applied across multiple recordsgeneral overview of the new features in this release.
A simple example of the concept of variable translation can be seen in the display of your name in the header menu of SmartSimple after having logged incoming soon. To achieve this the SmartSimple application would first require a generic web page template with a variable reference to ''user name'' in the header menu. When you log into SmartSimple the application processes the generic template and replaces the variable reference for ''user name'' with your actual name and the result is what you see in your browser.<!--{{#ev:youtube|jfzDUPZxLZA}}-->
=Configuration - Essentials=''To watch this video in full screen, please click on the '''full screen''' button on the bottom right.''
==Areas of UseGlobal System Upgrades==*Email Templates*Custom Fields*Template Formulas*WorkflowsThe new features listed below are enhancements to the SmartSimple system and will be immediately available to SmartSimple users upon the application of the upgrade to their server:
==Basic Syntax=Major Updates=======Change to Upgrade Schedule====Starting in 2020, we'll be changing our upgrade cycle to a 4-month release cycle. Instead of 4 upgrades a year, we'll be producing 3 upgrades a year. The most common use of the Variable Processor reason for this is to reference a field valuebe able to produce more polished, as well as larger functional enhancements. Variable references are denoted The 3-month cycle was limiting our ability to develop some of our larger features in general by a field name encapsulated by more comprehensive manner. Lengthening the @ symbol. The most basic form of variable is:release cycle will allow us to produce some bigger, meaner features, so stay tuned for these starting in 2020!
@====Deprecation of Classic Interface====It's time to step boldly into the future. With this upgrade we'fieldnameve deprecated our Classic interface. If you haven't yet made the switch to Arcadia interface, your system will automatically be converted to using the Arcadia interface after this. This is to ensure the best user experience for all of our clients, and their communities, not only with a modern interface but also with the rich set of features that we'@re able to offer through the Arcadia interface that wasn't possible in Classic. Note, your system interface will only change if it currently looks like the Classic example below, and after this upgrade it will be updated to look like the Arcadia example instead.<!--92714 - deprecate classic-->
Where ''fieldname'' is simply ====Deprecate Decimal and Integer Number Formats from Question Set Builder Field====Deprecated the name number Format options of a Decimal, and Integer from fields used in the Question Set Builder custom field or one of . Note that this only applies to the pre-defined standard fields as listed Question Set Builder custom field, and only in the appendix for each of the record typescase where you have created questions that use these format options. This form is used when change was made to align the configuration of these fields more consistently with our other custom field exists on the record settings for Number Precision. Note that if you are viewinghave any questions current configured in a Question Set Builder configured for the deprecated format options above, they will just be converted to the value of None after this upgrade. For example, You will have to update the fields manually and set the Number Precision if we are viewing a user profile needed.<!--93305 - Deprecate Decimal and wish to reference that user's first name we can configure a variable '''@firstname@'''.Integer format type from question set builder-->
===Record Level=Change to CAPTCHA Bypass Setting====You can also reference information from other records Change to the CAPTCHA bypass function previously used to disable CAPTCHA functionality for users by defining country. Instead we've re-introduced an older CAPTCHA feature of ours that will apply a simple CATPCHA test that is verified locally on the record level server instead of reaching out to our Google reCAPTCHA integration that was being blocked by some countries. Instead of the field outright disabling CAPTCHA functionality for a country, this setting will now instead supply users in selected countries with a SmartSimple CAPTCHA in order to always present some challenge to malicious automation out there.<!--71605 - Ref to ticket 71008 - Captcha Response Error upon completing the following syntax:registration, please enhance.-->
@''record''====New Ability to Attach Multiple Filters to a List View====New ability to attach multiple filters to a single list view.''fieldname''@You may now build complex list filters by combining multiple simple list filters. When assigning multiple filters to a list view, the results of each individual filter are returned and then combined together to render the list. In other words, the resulting list will contain records that satisfy any single one of the attached filters.<!--91407 - Ability to add multiple filters to one list view-->
Where ''record'' defines ====Expanded Field Search to List View Configuration====Expanded the ability to search for fields to the list view configuration screen. Now when editing a different record list view, you can easily search for specific fields that you wish to reference a field from. For example're looking for, if we are again viewing a user profile but wish similar to reference the company name of that user we can configure a variable '''@parent.name@'''. In this example, we are currently on a user profile, and functionality in order to reference information from the user's parent company we reference one level up using 'parent'report builder.<!--89682 - list view column custom field search-->
Record levels can also be nested ====Expanded Edit List View Icon to refer More Areas====Expanded the availability of the edit list view icon to records that are multiple levels apartmore areas. For example, if we wish We've now extended the ability to reference easily configure the company name list view that you currently have open to most of the user that is currently logged list view areas in we can configure a variable '''@me.parent.name@'''. Here we see two the system including lists on contact records mentioned, the first for 'me' starts at the user currently logged inorganization records, and then 'parent' UTA consumer/provider lists.<!--87475 - Navigate to traverse one level up. Another example of valid syntax could be '''@parent.parent.parent.''fieldname''@'''. List view Editor/Settings via Consumer Provider/L2/Contact Lists-->
The following are some examples that can be used ====Enhanced Search Panel Function====Enhanced the search panel area for list view sections in portals. This search panel is an easy way for you to provide a variable referencesimple search filter for your end users to use, by predefining a set of criteria that they're able to filter on. For these examples assume Within the following scenario:* You are logged in as 'SmartSimple Support'* Your parent company is configuration of a portal section of type list view, simply enable the 'Customer Support' department* The root company Search Panel option, and then select which columns of the instance is 'SmartSimple Software Inclist view you want to allow end users to filter on.'<!--93189 - revised Arcadia portal search (engage)-->
{| class="wikitable"|-! Syntax! Description! Format! Example|-| parent| References the parent ===New View of the current record being viewed.Workflow Connectivity Configurations====| @parentNew settings screen that lists workflow connectivity to help you to trace through complex workflow processes.''fieldname''@| @parent.name@ -> Customer Support|-| me| References In the user currently logged in.| @me.configuration screen of a workflow, we''fieldname''@| @me.email@ -> support@smartsimple.com|-| level1/level2/level3| Specific within the area of UTA template formulas. This is required ve introduced a new menu tab called Workflow Connections that will allow you to explicitly denote see other workflows that trigger, or are triggered by the record level in a formula since multiple levels can be referenced.| @level[1/2/3].''fieldname'workflow you'@| @level2re viewing.Grant Name@ = "@level1.name"<end>is an example of Also, when you are editing a UTA Level 2 template formula workflow task that copies triggers another workflow, we've introduced a link for you to review the Level 1 name standard field value workflow that you're linking to a Level 2 Grant Name custom field.|<!--87846 - Workflow settings page enhancements-| rootcompany| References the root company of the instance.| @rootcompany.''fieldname''@| @rootcompany.name@ -> SmartSimple Software Inc.|-|}
===Field Attributes=New Ability to Test Report Exports and Autoloader Imports====Specific attributes of New ability to test report exports and autoloader imports on the fly now. We've introduced a field can also be referenced Test Now button on the scheduling screen for report exports and autoloader imports for you to get different information about manually kick off a fieldtest. The general syntax syntax to do this is:<!--92533 - Add testing buttons for import/export functions-->
@''record''====Enabled Change History for Reports====Enabled change history functionality for reports.''fieldname''You can now see detailed change history for your reports and also even revert changes to a previous version! Note that changes to reports will only begin to be logged after the upgrade and you will not see previous changes made before.''attribute''@<!--88002 - Track changes on Reports-->
====Enabled Audit History for UTA Security Matrix====Enabled audit history for UTA security matrix. The following are some examples that can be used in a variable referencesystem will now log changes made to the UTA security matrix. For these examples assume the following scenario:*A custom field with ID '132547', named 'Gender' that is configured as a Select One <!--54550 - UTA security matrix audit history- Combo Box field with options '1=Male;2=Female;'*A custom field with ID '243657', named 'Text' that is configured as a Text Box - Single Line field with caption 'Enter Text Here'*A record where we have entered Gender as male and Text as 'Lorem Ipsum'>
{| class="wikitable"==Minor Updates===|-! Syntax! Description! Format! Example|-| value| Returns the stored value of a field.| @''fieldname''.value@| @Gender.value@ -> 1|-| combovalue| Specific ====Update to Select One - Combo Box custom field type. Returns the stored value of a field.SmartCheck Error Message====| @''fieldname''.combovalue@| @Gender.combovalue@ -> 1|-| length| Returns Updated the character length of the stored value of a field. Commonly used to check whether a field is empty by checking standard message for a length of 0.| @''fieldname''.length@| @Text.length@ -> 11|-| id| Returns failed SmartCheck validation from "please correct the custom field ID of a custom field.| @''fieldname''.id@| @Gender.id@ -> 132547|-| caption| Returns the caption of the custom field. Commonly used when creating custom forms with the Display Only – Web Page View custom field type.| @''fieldname''.caption@| @Text.caption@ -> Enter Text Here|-| numoffiles| Specific following errors" instead to Link - Multiple Files custom field type. Returns the total number of files uploaded "submission failed due to the field| @''fieldname''following".numoffiles@| |-| numofpages| Specific This was done to Link - Single File and Link - Multiple Files custom field type. Returns avoid confusion in situations where the total number of pages within files uploaded failed submission logic should not actually be corrected, such as an eligibility form, where suggesting to correct the field| @''fieldname''failed criteria would invite perjury.numofpages@| |-| files| | @''fieldname''.files@| |<!-| uploadlink| | @''fieldname''.uploadlink@| |-| compressedfiles| | @''fieldname''.compressedfiles@| |61778 -| compressedlink| | @''fieldnameSmartcheck Message Info 'please correct the following errors'.compressedlink@| |-| filenames()???| | @''fieldname''.filenames()@| |-|}>
{| class="wikitable"===Enhanced Tab Bar Mode Feature====|Enhanced the Tab Bar feature and extended it to more areas. You can now enable Tab Bar mode from the portal, where previously it was restricted to admin user views only. Also added the ability to re-! Syntax! Description! Format! Example|order your tabs, as well as to use the various split-screen features such as list view split-| html| | @xmlscreens, and map panels.We''fieldname''ve also updated the modal window functionality from covering the entire screen instead to just covering the main application window when using the Tab Bar feature.''section''This will allow you to more easily work with multiple tabs and switch between them.html@ / @grid.''fieldname''.html@| |<!--92385 - Tab Bar phase 2-->| xml| | @xml.''fieldname''.''section''.| |<!-| xmlpre| pre-processed variables| | |92260 -| xmlvalue| | @xml.''fieldname''.xmlvalue@| |New version of modal window-| grid| inline data grid| @grid.''fieldname''.| |-|}>
===Functions=Updated Icon Library====Updated the library of available icons, for use in places like portal shortcuts. This will grant you more variety in the available icons you can choose from, as well as different styles of icons.<!--92817 - Font Awesome-->
====Date FormattingAdded Ability to Show All Records in Portal List View====The following syntax is available Added the ability to show all records in a portal list view now. Previously in the portal view, list views were limited in order to explicitly specify the number of records they could display of at a date formatted fieldtime. For example, to always display the date in 'YYYY<!--MM89913 -DD HH:MM am/pm' you can define a variable '''@year(''fieldname'')@Allow showing all records on portal list view sections-@month(''fieldname'')@-@day(''fieldname'')@ @hour(''fieldname'')@:@minute(''fieldname'')@ @ampm(''fieldname'')@'''.>
The following are ====Updated Settings Terminology of Data Categorization Feature====Updated some examples that can be used in of the terminology and field labels for the settings of the Data Categorization functionality to improve clarity around the feature. In the Global Settings, Security menu, the previous Data Categorizations and Policies link has been moved down to a variable referencenew section labelled Data Management Policies, and Data Categories has been re-labelled to Field Sets. These changes were made to have access to this feature more apparent and intuitive. For these examples assume the following scenario:*A record where we have entered the standard field Start Date as '2017<!--75526 - Data Categorization and Policies Refresh-01-02' at '22:52'>
{| class="wikitable"|-! Syntax! Description! Example===Updated Icon for Configuration of Translation Text====|-| year| Specific to date formatted fields. Returns Updated the full year.| @year(''fieldname'')@| @year(fullstartdate)@ -> 2017|-| month| Specific to date formatted fields. Returns icon for the month number.| @month(''fieldname'')@| @month(fullstartdate)@ -> 01|-| monthname| Specific to date formatted fields. Returns the month name.| @monthname(''fieldname'')@| @monthname(fullstartdate)@ -> January|-| day| Specific to date formatted fields. Returns the day.| @day(''fieldname'')@| @day(fullstartdate)@ -> 02|-| dayweek| Specific to date formatted fields. Returns the day configuration of the week.| @dayweek(''fieldname'')@| @dayweek(fullstartdate)@ -> Monday|-| hour| Specific to date formatted fieldscustom translation text within settings pages. Returns Previously this was an icon beside the 12-hour format of hour.| @hour(''fieldname'')@| @hour(fullstartdate)@ -> 10|-| hour24| Specific text boxes that could be translated, such as caption label, however, this functionality has now been moved up to date formatted fields. Returns the 24-hour format top of hourconfigurations screen with a new icon.| @hour24(''fieldname'')@| @hour24(fullstartdate)@ -> 22|-| minute| Specific This change was made to date formatted fields. Returns the minute.| @minute(''fieldname'')@| @minute(fullstartdate)@ -> 52|-| ampm| Specific have access to date formatted fields. Returns the am/pm value of the 12-hour time.| @ampm(''fieldname'')@| @ampm(fullstartdate)@ -> pm|-| date| Specific text translations more consistent and easily available to date formatted fields. Returns the date ???administrators.| @date(''fieldname'')@| @date(fullstartdate)@ <!-> 2017-0185366 -02 ???|Translations button-| datetime| Specific to date formatted fields. Returns the date time ???.| @datetime(''fieldname'')@| @datetime(fullstartdate) -> 2017-01-02 22:52 ???|-| formatdate| Returns the date formatted to the current user preference| @''fieldname''.formatdate@ ???| |-|}
====Number FormattingAdded Baseline Language Translations for Japanese====The following syntax is available New language supported by default. We have introduced default baseline system translations now in order to format a numeric field value (e.g. currency, percent formats)Japanese.<!--84747 - Language Support-->
{| class="wikitable"===Simplified Report Builder joins for Audit Logs====|-! Syntax! Description! Example|-| format| Specific Updated the report builder to number formatted fieldssimplify the inclusion of Standard and Custom Field Audit Log record sets. Returns Now when you add one of these record sets, the specified formatted value link field option will also show specific fields that you can link on in order to limit your report of the numberfield history to specific fields. Possible format options include currency, decimal, and percent| @format(''fieldname'',currency,us)@<br>@format(''fieldname'',decimal,<nowiki>''</nowiki>)@<br!--89857 - Put restrictions on Report Builder joins-->@format(''fieldname'',percent,<nowiki>''</nowiki>)@|-|}
===Miscellaneous Variables=Enhanced Reporting of Privacy and Security Policy Agreements====Enhanced the Privacy and Security Policy agreements to now capture the policy version, as well as expose the information to be exportable via Reports. You can now build a report to export the information of user acceptance of your policy agreements.<!--90774 - Exportable Policy Acceptance Info-->
====Enabled Additional Logging of Emulation Users in Field Change History====Enabled logging of emulation users for field change history. If a user is emulating another user, the original user will also be logged in the field change history to indicate that the target user was being emulated by another at the time. When viewing field changes, a new Emulated By column has been added to indicate this.<!--@now@@currentdate@@objemail@ (object email address)@SmartFields@ @SmartFields(fieldidlist)@ @SmartFieldsIncludeTab@ @SmartFieldsEdit@ (appears in edit mode)@lat@ @lng@91018 - Emulation Feature - Field History-->
=Configuration ===Enhanced Association Entry Interface====Enhanced the new association entry view for ease of use. Added the ability to select and drag multiple rows. Also, extended the new association entry interface to custom fields of type Linked Record List. If you're using the new association entry interface, this will also now be applied to custom fields that display association lists as well. This will be applied to your system if in Global Settings - Advanced=> Classic Options -> you have untoggled Use Classic Association Entry View in order to try out the new interface.<!--92712 - association entry interface new icon and row clickable--><!--92708 - linked record list to use the new association entry interface-->
==Advanced SyntaxOn-Demand System Upgrades==The following features are available immediately with the application of the upgrade, but must first be enabled or configured by a System Administrator:
===Record LevelMajor Updates===Record levels are used within ====Added Options for Configuring Minimum and Maximum Selection Requirement for Lookup - Autocomplete Custom Fields====Added options for the configuration of Lookup - Autocomplete custom field types to allow you to easily configure a variable reference minimum requirement, as well as maximum limit on options for users to define the record in questionselect. <!--70483 - SmartCheck Validation for Lookup - Autocomplete Options Multi-Select-->
The following are some examples ====New Option for Update Behaviour with Organization Signups for Matching Organizations====New update behaviour option for organization sign up pages introduced that can be when used in will allow new registrants the ability to select existing organizations to sign up under. This new option will automatically create a variable referencenew organization when no matches are found, but will alternatively display matching organizations when found and allow users the ability to select which to create their user account underneath.<!--84626 - Organization lookup: partial matching-->
{| class="wikitable"|-! Syntax! Description! Format! Example|-| system| References global system variables. | @system.''variablename''@| |-| system2| References global system variables. | @system2.''variablename''@| |-| system.library===New Option for Organization and User Signups to Apply SmartCheck Validation====| | @system.library| |-| levelone / leveltwo| Specific New ability to contact, company, or transaction associations assign a SmartCheck validation to a Level 1 or Level 2 (esignup page.g. Level 1 Contacts association). References While the associated Level 1 or Level 2 record| @levelone.''fieldname''@| |-| company / contact| Specific to contactsignup page would apply field level validations, company associations you may now also apply SmartCheck Validations to a Level 1 or Level 2 (econfigure more complex validation requirements.g. Level 1 Contacts association). References the company or contact record from the association (e.g. L1 or L2 multiple contacts)| @company.name@| @company.name@ <!--> SmartSimple Software Inc.|94388 -| linkparent| References| @linkparent.''fieldname''@| |SmartCheck Validation available on sign up page-| sessioncompany| References your current association company (logging in from multiple companies)| @sessioncompany.| |-|}>
===Field Attributes=New Location Proximity Searching====Specific attributes of a field can also be referencedNew ability for list views with the map panel enabled to filter and sort records based on location proximity. Now available for UTA Level 1, users, and companies list views. The following are some examples that can be used This will allow users to list records in a variable referenceorder of proximity to the user's choice of their current location, an address search, or simply pointing on the map.<!--84636 - Ability to sort list view by geographic location proximity to user-->
==Lists=Minor Updates=======Expanded Quick Assign for use in Portal Sections====Expanded the Quick Assign feature to be available for portal sections now. Previously, this was limited to just the full UTA view, but we've now made it available for portal sections so you can provide it to your end users with limited portal views.<!--92641 - quick assign in portals-->
==Functions==Added Option for Workflow Connector to Exclude by Record Status and Type====Added an option to add a status and type exclusion list for workflow connectors. Previously, there was only an inclusion option for status and types, but now you can choose either or to simplify your configuration.<!--90250 - Workflow Connectors - Update to Select Exclude Statuses and Types-->
===Controls=Added Option to Show Record Count for Mixed Record Type List Views in Portal====Added the Show Record Count option for portal sections of type List View - Mixed Record Type.<!--88301 - Listview - Mixed Record Type-->
===Calculations=Added Ability to Restrict Availability of Invitation Templates====Added ability to restrict the availability of Invitation templates of the Invitations feature to certain user roles. Visibility Condition settings have been added for Invitation templates to allow you to limit their use.<!--90806 - More granular permissions & availability settings on Invitations functionality-->
===ReportProperty=Added Additional Expiry Options for Privacy and Security Policy Agreements====Added an option to enforce that your end users accept your Privacy and Security policies on a daily or weekly basis. Previously, the shortest available option to you was monthly.<!--65906 - Add Daily Option to Privacy and Security Policy Agreement Frequency-->
=Appendix===New Ability to Manifest UTA Level 3 Tabs====New ability to manifest UTA Level 3 list views as tabs now.<!--90291 - Manifest tab for L3 list views-->
==Standard Field Variable NamesBeta Previews==No features are available for beta preview this upgrade.
==Notes for Admins====User==New Ability to Search within History and Pending Workflow Tasks====New ability to perform searches within the workflow task history/pending queue lists. You can now search, filter, and sort on the workflow task queue to better trace the automated workflow processes being triggered in your system.<!--@inRole(rolename)@87394 - Workflow history-->
===Company=Added Option for use of Private Key File for Authentication of Report Exports====Added option to use private key file for use in authentication of report exports. You may now upload a private key file for use in report exports to external sites such as SFTP sites.<!--90252 - Scheduled Export from a report - enhancement to use key file as credentials for sftp-->
===UTA Level 1=Expanded Variable Processor to Maximum Word/Character Setting of Custom Field====Enhanced the maximum word/character setting of a custom field to run through the variable processor. You can now make the maximum word/character limits of your custom fields dynamic and dependent upon the value of another field.<!--85056 - Use variable syntax for maximum word/character count for an input text field-->
<!====Added Option to Restrict Dynamic Content Enabled Custom Field to List Only Parent Associated Objects====Added an option for selection-type custom fields with dynamic content enabled to restrict the list of dynamic content to related child records. For example, a multi-@companyselect custom field on a UTA Level 1, with the dynamic content option enabled will have an additional setting Enforce Parent Restriction available to you now. or @client.@person. or @peopleEnabling this setting will restrict the list of Level 2 records to only the child Level 2s under the Level 1 record the user is on.<!--91318 - Restrict Objects to Parent - Dynamic Content-->
===UTA Level 2=Expanded Variable Processor to Records Linked via Linked Record Custom Field====Added the ability to reference field values from another record linked through a selection-type custom fields with dynamic content. You'll be able to use the following variable syntax to reference an object linked to one of these fields: @linked.''linkfield''.''recordfield''@ @linked.''linkfield''[#~''recordstandardfield''~ $''recordcustomfield''$#]@
===UTA Level 3======Email Broadcast Templates======Workflow Email Templates====Recommended Reading=<!--e.g. @rootcompanyid@@ssformtoken@ (security token) @ssformtokenlinked.EmergencyContact.htmlcellphone@ (hidden input HTML with security token)@url@@now@@currentdate@@logourl@@primaryroleid@ (primary role when logged ingiven that EmergencyContact is a Linked Record custom field of type contact, using prole parameter from login)@dateformat@ (user setting, used in scripting)@sstimezone@ (user setting)@ssget()@@object@ (from and cellphone is a transaction will go cellphone custom field belonging to the user/company depending on transaction type, can also use @parent@)contact.@company. or @client. (<!--91321 - Variable Syntax for invoice to get company information)note: change record context to levelLinked Records - Dynamic Content--> [[Category:Process Drivers]][[Category:Variables]]