February 2025 - Version 5.0

Prev Next

Please review the updates below and follow the upgrade instructions to upgrade your Events application.

Table of Contents

Breaking Change - Caching 2.0

As of the March 5, 2025 Salesforce release, Caching 2.0 will be installed with the upgrade. Please follow the steps below to complete the process.

  1. Install the Events app upgrade using the Candy Shop. (If you believe you need to use a direct link, please contact Blackthorn Support. They can provide you with the script and instructions for performing the process manually.)

  2. Contact Blackthorn Support to request that the Caching 2.0 installation process be completed. Please include the Org ID for the environment where you want Caching 2.0 enabled.

The following change is also part of turning Caching 2.0 on for everyone.

* The Disable Notify Platform Blackthorn | Event Settings’ custom setting has been deprecated.

Warning - Please Read

If Caching 2.0 is enabled in your org and you upgrade Events via direct installation links, your Event Groups will break until you run the CreateEventGroupAssociationBatch batch job. This will occur even if you do NOT plan on using the Multiple Event Groups feature.

Off-Cycle Release

February 25, 2025

  • If reCAPTCHA is enabled for a free Event and an Attendee registers for a waitlist-only Event Item, they can complete the registration process. Previously, if the Event Settings Remove Info Page for Free Events field was enabled, the registration failed because the user could not respond to the enabled reCAPTCHA on the hidden Payments Info screen. (Known Issue: 000004427)

  • If an Event Group contains more than 2000 published and unpublished Events, the Attendee will see the published Events on the Event Group URL. Previously, Attendees got the “There are no upcoming events.” error when they clicked the Event Group URL because there was a 2000 Events per Event Group limit. (Known Issue: 000004535)

BT Salesforce Release

(Release Date: March 5, 2025)

Bug Fixes

  • Event Builder: When using the Event Builder to edit an existing Event, the Existing Event search field will populate the first time a user clicks an Event Name. Previously, the user got a “Complete this field” error message when they clicked the Event Name for the first time. (Known Issue: 000003559)

  • Forms: If a user updates the Form Big List Option’s Option Value field, the Attendee’s Form Submission Answer’s Answer does not change. The Form Submission Answer’s Big List Option Answer field will be updated to the new value in the Form Big List Option’s Option Value field. Mapping has also been updated to use the Answer field instead of the Big List Option Answer field. Previously, changes to the Form Big List Option’s Option Value field overwrote registered Attendees’ Form Submission Answers. (Known Issue: 000004057)

  • Table Manager: When using the Table Manager to create a Table, users can drag, drop, and save Attendees without triggering an error. Previously, users received the following error when creating a Table in the Table Manager component. “Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.] - utilityFunctions line 49” (Known Issue: 000004299)

  • Clone Events: When using the deep clone functionality, a cloned Event will include the Record Type selected while cloning the original Event. If the current user does not have access to the cloned Event's Record Type, the user's assigned default Record Type will be used for the newly created Event record. Previously, when cloning an Event, the cloned Event’s Record Type was overridden and replaced with the original Event’s default Record Type. (Known Issue: 000004318)

  • Speakers: If the Speaker’s default Status value is preset on the backend, users can create new Speaker records with the Status set to the correct picklist value in the Event Builder or Event Wizard. Previously, the Status field was not set to the default value. (Known Issue: 000003418)

  • Email Templates: Confirmation emails will be sent as expected when two or more simultaneous registrations using the same Email Template with merge fields occur. Previously, an issue happened while matching data with the template tags, causing BT Logs with “unexpected token: ‘<’” errors and preventing emails from being sent. (Known Issue: 000004402)

  • Capacity Management: The roll-up counters (Registered, Attended, Canceled, etc.) on Events were updated to run as a system-level process. Users creating Attendee records do not need edit permissions on the Event object. The counters now reflect accurate totals without relying on current user permissions and no longer produce Blackthorn error logs. Previously, the Event counters were not updated, and BT Logs were created.

  • Session Attendees: Event Organizers can create new Session Attendees from a Session record without receiving an insufficient permissions error. Previously, the Read permission in the BT Rules (bt_base__Rule__c) object setting was missing. (Known Issue: 000004351)

  • Matching Rules: When using custom matching rules, only one Lead record will be created since the Lead’s Country field will be populated before the custom matching rules occur. (Known Issue: 000004244)

  • Leads: Lead Assignment Rules work as expected, triggering immediately upon Lead creation and applying ownership logic as defined in the rule criteria. Previously, Lead Assignment Rules did not function correctly for Leads generated through Blackthorn Forms and marketing events.

  • TouchNet: When using a TouchNet gateway, failed registrations will be automatically refunded, and the related Transaction record will be updated to match the refunded status. Previously, failed registrations did not automatically trigger a refund. Although Salesforce updated the related Transaction record’s Transaction Status to “Completed” and the Payment Status to “Captured,” the related ERS record’s Status was set to “Draft,” and no Attendee record was created.

  • Duplicate Rules: If an Event has the BT Event Attendee Duplicate Rule’s Action on Create set to “Block” and the related Event Settings’ One Unique Attendee Email Per Event is not enabled, Attendees with Attendance Status set to “Invited” can select either a main event or guest Ticket and successfully register for the Event. Previously, the Attendee’s registration appeared successful on the frontend but failed on the backend. The resulting Event Registration Submission record contained a “DUPLICATES_DETECTED” error.

  • Custom Settings: When Blackthorn Pay - Trigger Settings’ Automatically Create Allocation is enabled, and an Event has an associated Payment Processing Fee, Attendees can complete the checkout process without an Allocation error being created in Blackthorn Logs. Previously, a Blackthorn Log with an Allocation error was created. (Known Issue: 000004253)

  • Advanced Visibility: If Community/Partner Accounts are disabled in an org and a user tries to create a BT Rule when Advanced Visibility is enabled, they will see the following message in the Contacts preview. “Preview records are unavailable because Experience Cloud is not enabled for this org.” Previously, when a user tried to match Contacts in the preview, they got an error message stating, “No such column 'IsPartner' on entity 'Account'.” To ensure you can see a specific person in the Contacts preview, please review these settings. (Known Issue: 000004279)

Permission Sets

  • Permissions related to BT Rule and BT Rule Condition fields were updated to allow users with the Blackthorn | Event Organizer permission set to create Session Attendees. Previously, they could not do so and received an insufficient permissions error.

  • Users with a Standard Platform License and the Events Organizer permission set can clone an Event using the deep clone functionality or the Event Builder. Previously, missing permissions prevented users from cloning an Event and resulted in receiving an error message stating, “Insufficient permissions secure query included inaccessible field.” (Known Issue: 000004334)

Scheduled Jobs

  • If a user previously clicked the Schedule Recommended Event Jobs button on the Blackthorn | Events Admin tab but needs to reschedule the jobs, they can click the Schedule Recommended Event Jobs button again. The currently scheduled jobs will be canceled, and a new set will be scheduled. Previously, when a user clicked the Schedule Recommended Event Jobs button the second time, the scheduled jobs had not been rescheduled even though they saw a success message on the Blackthorn | Events Admin page. (Known Issue: 000004284)

  • When a user creates an email schedule in the Smart Scheduler using the following settings, an email will be sent once daily when the scheduled job runs. Previously, users received duplicate reminder emails.

    • The Email Notification Setting Consolidated email frequency in the Smart Scheduler Admin’s Configuration Settings is set to “Once in a day.”

    • The Send Email setting is set to N days before the Event Start Date and Event Start Time.

Enhancements

  • Experience Cloud: New registration logic for Experience Cloud users was added to prevent blank Contact records from being created when the Relationship Settings new Use logged-in EC User as Default Contact field is checked. (Known Issues: 000004157 and 000004188)

    • When true (checked), newly created Attendees will automatically be related to the logged-in user’s Experience Cloud Contact record.

    • When false (unchecked), newly created Attendees will be matched to an existing Contact or other Salesforce record. If a matching record isn’t found, a new record will only be created if the validation rules and required fields are compatible with the submitted Attendee data.

    • Object: Relationship Settings

      • Field Label: Use logged-in EC User as Default Contact

      • API Name: conference360__Use_logged_in_EC_User_as_Default_Contact__c

      • Data Type: checkbox

      • Description: In an Experience Cloud or authenticated iFrame environment, disregard Relationship Settings. If a Contact is not identified in the registration process via “Add Myself” or Express Registration, relate the attendee to the logged-in user’s Contact.”

  • Event Settings: The help text for the Event Settings Allow Edits to Attendee Fields field was updated to include the Event Navigator app. “If true, attendees can edit their attendee registration data. They can edit their Attendee information on AttendeeLink, the attendee mobile app, or in a Community via the BT Listing Component. This excludes name and email.”

  • Campaigns: The following fields were added to the Campaign object to ensure the corresponding Attendee record’s Registration Status or Attendance Status field reflects the value in the recently added Campaign Member’s Status field. If a Campaign Member’s Status is updated, the Registration Status on the related Attendee record will be updated.

    • Field Label: Attendee “Attended” Status

      • API Name: conference360__Attendee_Attended_Status__c

      • Data Type: Text (255)

      • Description/Help Text: Define the Campaign Member Status when an Attendee is created with an Attendance Status of "Attended."

    • Field Label: Attendee “Declined” Status

      • API Name: conference360__Attendee_Declined_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with a Registration Status of "Declined."

    • Field Label: Attendee “Canceled” Status

      • API Name: conference360__Attendee_Canceled_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with a Registration Status of "Canceled."

    • Field Label: Attendee “No Show” Status

      • API Name: conference360__Attendee_No_Show_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with an Attendance Status of "No Show.”

Create Contacts for Guest Tickets

When a primary Attendee registers a guest without a name for an Event and sets the Relationship Settings Relationship Rule to “Create New Record If No Match,” a guest Attendee record and a related Contact record are created.

If you want to prevent the Contact record from being created, use the Create Contacts for Guest Tickets field on the Event Settings record. The Create Contacts for Guest Tickets field allows Event Organizers to determine whether guest Attendees' related Contact records will be created. (Known Issue: 000004401)

  • Object: Event Settings

  • Field Label: Create Contacts for Guest Tickets

  • API Name: conference360__Create_Contacts_for_Guest_Tickets__c

  • Data Type: Checkbox

    • Default value: Unchecked

  • Description/Help Text: Enable this flag to create Contact records for Event Items of type “Guest.” When disabled, contact creation and evaluation of relationship settings is skipped for Guest ticket holders, only Attendee records are created for guests.

Functionality

  • When the field is enabled, Contact records are created for Attendees who registered for an Event Item with Type = “Guest.”

    • If a last name and email for the guest are not provided,

      • The guest Attendee’s Last Name will be the “primary Attendee’s Last Name + Guest [Number].”

      • If an email is not provided for the guest, the primary Attendee’s Email will be used.

    • If a last name and email are provided, a Contact record with those values will be created.

  • When the field is disabled, a guest Attendee record will be created, but a Contact record won’t.

Single Events to Multiple Event Groups

Warning

If Caching 2.0 is enabled in your org and you upgrade Events via direct installation links, your Event Groups will break until you run the CreateEventGroupAssociationBatch batch job. This will occur even if you do NOT plan on using the Multiple Event Groups feature.

Previously, Events and Event Groups had a one-to-one relationship, or a single Event could only be associated with one Event Group. Now, a single Event can be related to one Event Group OR to multiple Event Groups.

This feature gives Event Organizers the ability to

  • Maximize engagement by cross-marketing a single Event to multiple audiences.

  • increase registration, and boost ticket, product, and donation sales.

  • create calendars/event lists for specific groups and interests that overlap.

  • Maintain a master events calendar as well as support a smaller, focused calendar used by a program or department.

IMPORTANT NOTE: After upgrading Events via the Candy Shop, a post-install script will process existing Events with a value in the Event Group field to create Event Group Association records.

  • If an Event has a value in the Event Group field before upgrading to the new version, the upgraded version of Events will automatically create an Event Group Association record with the “Event Name” in the Event field and the “Event Group Name” in the Event Group field.

  • If an Event’s Event Group field is blank, the upgraded version of Events will not create an Event Group Association record.

For those who wish to execute the post-install script manually with a direct link, please execute the following steps after completing the upgrade:

  1. Click the Gear icon (Setup).

  2. Click Developer Console.

  3. In the Developer Console navigation menu, click Debug.

  4. Click Open Execute Anonymous Window.

  5. Enter the following snippet and click Execute.

    • Database.executeBatch(new conference360.CreateEventGroupAssociationBatch());

Click here for more information about setting up and using Multiple Event Groups.

Split Payments

Known Issues

  • Customers using Spreedly must not enable Split Payments as Spreedly gateways are not yet supported by Split Payments.

  • Payment Processing Fees are not currently supported when using Split Payments.

Split Payments allows users to define how to reconcile funds from different types of purchases (e.g., Tickets, Donations, Products) to specific gateway accounts connected to separate bank accounts.

The benefits of using Split Payments include the following.

  • Allow Attendees to pay using both a primary Payment Gateway and a Donation Payment Gateway during a single checkout experience.

  • Improve the user experience by eliminating the need to enter payment details multiple times.

Click here for more information about setting up and using Split Payments.

New Forms UI

Known Issues

There are a few known issues with the new Forms UI.

  • Page Refresh: When using the new Forms UI, you must refresh the page to update the Form after creating or deleting a Form Element. Clicking the New Form Element button after creating or deleting a Form Element will not refresh the page. You will only see the Form Element updates on the Form UI; they will not appear in the modal that opens after clicking the New Form Element button. Click here to see a video.

  • Sort Order: Users should use the Form UI’s drag and drop functionality to re-arrange the question/Form Element order.

  • Conditional Questions: Users should delete conditional questions using the Forms UI. Please do not use the related list or delete questions directly.

The new Forms UI is fully integrated into the Events package, offering a seamless, user-friendly experience for creating and managing forms. The updated interface, accessed via the Forms tab on an Event record or the Event Builder, simplifies workflows, enhances functionality, and delivers powerful new capabilities to event organizers.

Use the new Forms UI for a variety of scenarios, including the following:

  • Conferences: Build detailed Forms with conditional logic that adapt to Attendees’ preferences, such as Session selection or dietary requirements.

  • Workshops: Create multi-page Forms with nested questions that reveal specific options based on user input.

  • Community Events: Simplify group registrations with dynamic Forms that cater to different Attendee types.

Click here for more information about using the new Forms UI.

Webapp Release

(Release Date: February 19, 2025)

Bug Fixes

  • Express Registration: When using Express Registration, a user can select a new Contact in the same Account, and the address will reflect the information in the new Contact record even if the address on that record is blank. Previously, when a user selected a new Contact record with blank address fields, the address information from the first Contact record remained.

  • Keywords: Attendees can search an Event Group webpage using the search-by-keyword functionality. Previously, the search results did not display results even if a Keyword was assigned to an Event. (Known Issue: 000004319)

  • Checkout: If an Attendee enters a phone number with an alphabetic character, such as “A,” when the Event’s UI Experience is set to “Dynamic,” they will receive the following error. "Please enter numbers only, no special characters, except for the plus sign." Previously, Attendees received an incorrect “This is required” error.

  • Events: Text on an Event’s webpage will appear as formatted in the corresponding rich-text fields on the Event record. Previously, Attendees saw extra white spaces between paragraphs in the Event’s Description, which did not match how the text was formatted in the Event record. (Known Issue: 000004264)

  • Time Zones: Events in the European Central time zone will display CET during winter daylight saving time. Previously, Events incorrectly displayed CEST during winter daylight saving time. (Known Issue: 000004320)

  • Event Groups: Attendees can view images stored in the Event Group’s Description rich-text field on an Event Group’s webpage. Previously, images added to the Event Group’s Description field were broken on the Event Group’s webpage. (Known Issue: 000004035)

  • Capacity Management: The following updates were made to Event-level capacity management. (Known Issue: 000004283)

    • If an Attendee selects a Ticket with Type = “Main event ticket,” the number of available Tickets with Type = “Guest” or “Other” will not be impacted. Previously, when an Attendee selected a main Ticket, the number of available Guest Tickets decreased by the number of main Tickets selected.

    • If an Event Item has a value in the Maximum Quantity field, Attendees can only add up to that number of Tickets to the cart. Previously, Attendees could add more Tickets than the number in the Maximum Quantity field to the cart.

  • Mobile Devices: If an Attendee views an Event with the UI Experience set to “Dynamic” on a mobile browser, they can scroll to the bottom of the Speakers’ bios and see all the content. Previously, the content at the bottom of the bio was out of view.

  • Speakers: If a Speaker’s Status = “Confirmed” and Speaker Visibility = “Hidden,” the Speaker will not be visible on the Event webpage’s Speaker list. Previously, the Speaker was visible even though Speaker Visibility was set to “Hidden.”

  • Translations: Translations will be applied to picklist values when an Attendee selects a value to answer a question in a Form Element. Previously, translations were not applied because the picklist values were cached before the translations were applied. (Known Issue: 000004380)

  • User Interface: If an Attendee with Registration Status = “Invited” views an Event with UI Experience set to “Dynamic,” they will see the full RSVP/Redeem Ticket banner at the top of the webpage. Previously, the banner was cut off. (Known Issue: 000003418)

  • Accessibility: When using the screen reader to move between items in the toggle menu on an Event Group with the UI Experience set to “Maple” or “Aspen,” the user’s selection will be kept, and the screen reader will remain focused on that item in the list. Previously, the selection was kept, but the screen reader’s focus returned to the first item in the list.

Event Registration

  • If a user opens multiple tabs in a browser, each with the same Event, the user can register different Attendees in each tab. Previously, the user got a “Checkout failed, please try again later” error because the browser’s local storage was shared amongst the different tabs. Each tab’s data is now stored in its own session. (Known Issue: 000004156)

  • If an Attendee registers for an Event with a high volume of registrations and the Event’s Pending Capacity is greater than “10,” they will see the following message on the confirmation page, “Thank you for your registration! Due to a high volume of sign-ups, it may take a little longer for your confirmation email to arrive. We appreciate your patience and are working to process all registrations as quickly as possible.” Previously, it took some time for Attendees to receive their confirmation email, causing uncertainty about whether their registration was successful. (Known Issue: 000004151)

Enhancements

  • User Interface: Attendees can successfully view and scroll through an Event Group webpage at high zoom levels without titles and website content being cut off.

  • Social Sharing: From an Event webpage, Attendees can open the Share feature and click the Email icon to share the Event via email. Their configured email app will open a new email with the Event title in the Subject and a sharable URL in the body.

  • Translations: The picklist Translation feature now allows users to set translated values on the Translation object using the format “<Original picklist value>:<Translated picklist value>” or “Apple:Manzana”. When a user selects a translated picklist value, the original picklist value will be stored in Salesforce to ensure accurate Form mapping and reporting. Please review our documentation to learn more about this feature.

Accessibility

  • When an Attendee uses a screen reader and keyboard navigation to open a webpage with a cookie dialogue, the user can disregard or tab out of the dialogue without making a selection.

  • When an Attendee uses a keyboard to navigate an Event Group webpage with UI Experience set to “Calendar,” they can either tab from the All Categories picklist to the Calendar icon without listening to the picklist values or click Return to navigate through and listen to the picklist options.

Field/Layout Updates

New

  • Object: Relationship Settings

    • Field Label: Use logged-in EC User as Default Contact

    • API Name: conference360__Use_logged_in_EC_User_as_Default_Contact__c

    • Data Type: checkbox

    • Description: In an Experience Cloud or authenticated iFrame environment, disregard Relationship Settings. If a Contact is not identified in the registration process via “Add Myself” or Express Registration, relate the attendee to the logged-in user’s Contact.”

  • Object: Campaign

    • Field Label: Attendee “Attended” Status

      • API Name: conference360__Attendee_Attended_Status__c

      • Data Type: Text (255)

      • Description/Help Text: Define the Campaign Member Status when an Attendee is created with an Attendance Status of "Attended."

    • Field Label: Attendee “Declined” Status

      • API Name: conference360__Attendee_Declined_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with a Registration Status of "Declined."

    • Field Label: Attendee “Canceled” Status

      • API Name: conference360__Attendee_Canceled_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with a Registration Status of "Canceled."

    • Field Label: Attendee “No Show” Status

      • API Name: conference360__Attendee_No_Show_Status__c

      • Data Type: Text (255)

      • Description/Help Text:  Define the Campaign Member Status when an Attendee is created with an Attendance Status of "No Show.”

  • Object: Event Settings

    • Field Label: Create Contacts for Guest Tickets

    • API Name: conference360__Create_Contacts_for_Guest_Tickets__c

    • Data Type: Checkbox

    • Description/Help Text: Enable this flag to create Contact records for Event Items of type “Guest.” When disabled, contact creation and evaluation of relationship settings is skipped for Guest ticket holders, only Attendee records are created for guests.

Upgrade Instructions

Go to the Blackthorn Candy Shop to upgrade Events to the newest version.

Blackthorn has adopted Salesforce’s managed package installer to simplify the installation process. The installer will confirm that the correct Base Package and Payments versions are installed before upgrading Events.

For step-by-step instructions, click here.

Important Definitions

Breaking Change

A breaking change is a significant change that requires a package upgrade to see the update.

Off-Cycle or Hotfix Release

A hotfix is a release that corrects a problem that impacted extensive functionality.

BT Salesforce Release

The following applies to a Salesforce release.

  • Salesforce fixes REQUIRE a package upgrade to see and utilize the fixes/enhancements.

  • Only users with a System Administrator profile or the ModifyAllData system permission can install packages.

Webapp Release

The following applies to a Webapp Release (previously referred to as a platform release).

  • Webapp fixes/changes usually do not require updates to the Salesforce package.

  • These updates automatically apply to all customers; you cannot opt-out.

If you have any questions or need help with testing, please contact Blackthorn Support.