Recent History
The Recent History content item displays a list of recently viewed items, such as contacts, gift items, or commerce products. Add the Recent History content item to any page to allow users to quickly review and access items they recently viewed.
The Recent History content item is available on the following pages in the Staff site out-of-the-box:
- /iCore/Staff_Dashboards/Membership/Membership_dashboard
- /iCore/Staff_Dashboards/Events/Events_Dashboard
- /iCore/Staff_Dashboards/Community/Community_dashboard
- /iCore/Staff_Dashboards/Volunteers/Volunteers_dashboard
- /iCore/Store/StoreLayouts/Store_Home
- /iCore/Contacts/Directory
- / iCore/Fundraising/Find_gifts
When configuring this content item, you can choose the types of recent items you would like to include from a drop-down. You can also specify the maximum number of items to display.
Recent History configuration options
This content item uses the Common content item configuration options, in addition to the following:
- Maximum recent items to display - Enter the maximum number of recent items to display. Defaulted to 10 items and the maximum value is 100. If no value is entered, the value will be defaulted to 10.
- Types of recent items to include:
- All types - Displays all recent history, regardless of type.
- Choose type(s): - Displays only the selected types. Select any combination of products, contacts, events, groups, and gifts.
- Display type - Choose to display the recent history results in a Vertical or Horizontal list. By default, all results display vertically.
- Hide clear history button - When enabled, the clear history button is hidden from the page, and the last 10 recent history results are always displayed. Be default, this option is disabled.
- Allow users to filter by type - Enable to display an option in the Staff site for users to filter the types of recent items to include.
- Display only to staff users - Enable to have only authorized staff users to view the displayed recent items.
Recent History settings
The Recent History content item displays a list of recently viewed contacts, events, groups, commerce products, and/or gift items. Use the settings at Settings > RiSE > Recent history to customize the text for each item that is displayed in the Recent History.
Example: There is an annual event with the same name each year. Customize how the event name displays in the Recent History content item so that it is clear which event was recently viewed.
Understanding how to create placeholders
In communication templates, you can use placeholders to insert dynamic data—such as a contact’s name, ID, or invoice number—directly into your message content. This allows you to dynamically add information, without needing to manually add each contact's name, for exmaple.
Placeholders are written inside curly braces { } and represent data from a query. The general format is:
{datasource[.property...] [attributes]}
- datasource — The name of the data source or query alias. When you use a query in a communication template, you can assign it a short alias so you do not have to use the full query name. For example, if your alias is Party, you can reference it as
#party. - property — (optional) A specific field or property to display. You can chain properties using dot notation (for example,
.Address.City). If the property is a collection, use [i] notation to reference a specific item (for example,.Address[1]). - attributes — (optional) Formatting options that modify how the data appears:
- uppercase — Converts the value to uppercase.
- lowercase — Converts the value to lowercase.
- format — Applies a format to non-string values (for example,
format="d"). - noencode — Displays HTML markup instead of plain text.
Using aliases in placeholders
When you add a query to a communication template, assign it an Alias—a short name used in placeholders. You can reference any property from the query results using this format:
{#alias.Property}
For example, if your query alias is Party and you want to display the recipient’s first name, use: {#party.FirstName}
Customizing the text for each type
Before updating the Recent History settings, review the following information:
- After changes are saved, the items listed in the Recent History do not conform to the updated format until the item is visited again. Newly visited items conform to the updated format.
- When left blank, the default display for that type is used. Use the reset icon to reset the data to the default.
- If there is a placeholder that cannot be resolved, the formula is ignored, and the default data is used.
To customize the text for each type, go to Settings > RiSE > Recent history:
- Contacts - Used to display recently viewed individual or organization account pages. Out-of-the-box, recent contact history is displayed on the Community > Find contacts and Community > Dashboard pages. Use PartyData properties to build the placeholders.
- Events - Used to display recently viewed events. Out-of-the-box, recent events history is displayed on the Events > Find events page. Use EventSummaryData properties to build the placeholders.
- Groups - Used to display recently viewed groups. Use GroupSummary Data properties to build the placeholders.
- Products – Used to display recently viewed commerce products. Out-of-the-box, recent product history is displayed on the Commerce > Find products page. Use ItemData properties to build the placeholders.
- Gifts – Used to display recently viewed gift items. Out-of-the-box, recent gift item history is displayed on the Fundraising > Find gift items page. Use ItemData properties to build the placeholders.
Example: {#party.Name}, {party.Id}
Example: {#event.Name}, {event.StartDateTime}
Example: {#group.Name}, {group.GroupClass.Name}
Example: {#item.Name}, {item.ItemCode}
Example: {#item.Name}, {item.ItemCode}
Restricting properties to staff users only
To restrict certain properties to staff users only, use the {if #session.IsStaff} {/endif} placeholders around the staff-only property, for example:
{if #session.IsStaff} {#datasource.property} {/endif}
Replace {#datasource.property} with the desired property.
| Example | Placeholder | Staff users | All others |
|---|---|---|---|
| Restricting the contact ID property to staff users only | {#party.Name} {if #session.IsStaff} ({#party.Id}){/endif} | image | image |
| Restricting the product code property to staff users only | {#item.Name}{if #session.IsStaff} ({#item.ItemCode}){/endif} | image | image |
Additional syntax options
The following information provides additional formatting options with examples.
Syntax of conditional functions
To insert a conditional function in the HTML body of one of the supported areas, use the syntax:
{if (conditions)}
Text or HTML to appear if condition is true
{/endif}
If the conditions evaluate to FALSE, then the text or HTML is not shown.
Available conditional functions
This section covers the specific conditional functions supported in alerts, communication templates, Data Showcase, and Query Template Display.
Important! All conditional functions are case sensitive and must be upper case.
COUNT
Counts the number of items in a collection and returns an integer value.
Example:
{if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[1].Name EQ
'IsMemberRecord' AND #party.AdditionalAttributes[1].Value EQ true)}
Is a member.
{/endif}
LENGTH
Determines the length of the value and returns it as an integer.
Example:
{if (LENGTH(#query.TAX_EXEMPT) GT 0)}
Contact is tax exempt.
{/endif}
ISTRUE
Tests whether the specified parameter is true.
Example:
{if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[3].Name EQ 'IsMember'
AND ISTRUE(#party.AdditionalAttributes[3].Value))}
Contact is a member.
{/endif}
ISFALSE
Tests whether the specified condition is false.
Example:
{if (ISFALSE(#query.IsMember))}
Contact is not a member.
{/endif}
ISNULLOREMPTY
Indicates whether the specified string is null or empty. Returns true if the value parameter is null or an empty string; otherwise, false.
Example:
{if (ISNULLOREMPTY(#query.Website))}
Please add your website!
{/endif}
ISNOTNULLOREMPTY
Indicates whether the specified string is not null or empty. Returns true if the value is not null or empty; otherwise, false.
Example:
{if (ISNOTNULLOREMPTY(#query.PaidThrough) AND #query.PaidThrough LT Now)}
Contact is not yet expired.
{/endif}
DAYSBETWEEN
Returns the number of days between two dates as an integer value.
Example:
{if (DAYSBETWEEN(#query.RenewedThrough, #query.PaidThrough) GT 90)}
Member is due for renewal.
{/endif}
DATE
Makes sure date or literal date value is culture safe.
Example:
{if (ISNOTNULL(#query.JoinDate) AND (#query.JoinDate GTE DATE('12/31/2021')))}
2022 MEMBER
{/endif}
CONTAINS
Checks whether a particular sequence of characters is part of a given string. Case is ignored and true or false is returned.
Example:
{if (CONTAINS(#query.JoinDate, '2022'))}
New member in 2022.
{/endif}
NOTCONTAINS
Checks whether a particular sequence of characters is not part of a given string. Case is ignored and true or false is returned.
Example:
{if (NOTCONTAINS(#query.City, 'Austin'))}
Member is not an Austin resident.
{/endif}
STARTSWITH
Check whether the beginning of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.
Example:
{if (STARTSWITH(#query.City, 'Aus') OR STARTSWITH(#query.City, 'Dal') )}
Member may live in Austin or Dallas.
{/endif}
ENDSWITH
Check whether the end of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.
Example:
{if (ENDSWITH(#query.FullName, 'Smith') OR ENDSWITH(#query.FullName, 'Richards') )}
Last name ends with Smith or Richards.
{/endif}
The letter expressions are case sensitive and must be upper case. The following are acceptable condition operators:
- GT - Greater than
- GTE - Greater than equal to
- LT - Less than
- LTE - Less than equal to
- EQ - Is equal
- EQUALS - Is equal
- NEQ - Not equal
- OR - Logical Or
- AND - Logical And
- == - Is Equal, but preferred syntax is EQ
- != - Not equal, but preferred syntax is NEQ
- || - Logical Or, but preferred syntax is OR