1. Event/Function Object
1.1. Add the field ”Hide Speaker Profile Images” to the first column of the section “Microsite Setup and Status” on the “Event/Function Layout” and the “Event Series Layout” Page Layout of the Event/Function Object.
Feature: Microsite Home Page UI
Object Name: Event/Function
Page Layout Names: “Event/Function Layout” & “Event Series Layout”
Section Name: Microsite Setup and Status
Fields Column 1: ”Hide Speaker Profile Images” below “Hide Ticket Types”
1.2. Add the field ”Check In Mode” to the first column and add the field “Allow Check-Out” to the second column of the section “Check-In Setup and Status” on the “Event/Function Layout” and the “Event Series Layout” Page Layout of the Event/Function Object.
Feature: Check In Enhancements and Express Check In
Object Name: Event/Function
Page Layout Names: “Event/Function Layout” & “Event Series Layout”
Section Name: Check-In Setup and Status
Fields Column 1: ”Check In Mode”
Fields Column 2: ”Allow Check-Out”
1.3. Add the field ”After Booking Completion Allow Booker To” to the first column of the section “Booking Options” on the “Event/Function Layout” and the “Event Series Layout” Page Layout of the Event/Function Object.
Feature: Booking Wizard Enhancements
Object Name: Event/Function
Page Layout Names: “Event/Function Layout” & “Event Series Layout”
Section Name: Booking Options
Fields Column 1: ”After Booking Completion Allow Booker To”
Click “Save”
1.4. If your Event/Function Content Tab has not been updated during the upgrade, edit the page for “Event/Function” Flexipage.
Feature: Booking Wizard
Flexi Page: Event or Function Record Page
Tab: “Content”
Select the Event/Functions Tab
Select an Event/Function Record
While on an Event/Function Record, select the Setup Cog and select “Edit Page”
1.4.1.
While on the Lightning Record Pages, Select “Content” Tab.
Select the “Event Content” Related List and click “Upgrade Now” to convert the list into a Dynamic Related List.
1.4.2.
Rename the Event Content list to “Event Content - Tabs”
-
Add the filter “Type” equals “Tabs”
Field = Type
Operator = equals
Value = Tab
Click “Done”
1.4.3.
-
Drag and Drop a new Dynamic Related List - Single to the page underneath “Event Content - Tabs” and provide the following values:
Parent Record = Use This Event/Function
Related List = Event Content
Related List Label = Event Content - FAQs
Related List Type = List
Number of Records to Display = 10
Set “Show list view actions bar” to True
-
Provide the following list of fields under “Related List Fields”
Event Content Name
Sequence No
Type
Question
-
Add the filter “Type” equals “Tabs”
Field = Type
Operator = equals
Value = FAQ
Click “Done”
Click “Save”.
2. Staff/Speaker Object
2.1. Add the Fields ”Speaker Image URL” and “LinkedIn Link” to the respective columns of the section “Optional Details” on the “Speaker Layout” Page Layout of the Staff/Speaker Object.
Feature: Staff/Speakers UI
Object Name: Staff/Speaker
Page Layout Name: Speaker Layout
Section Name: Optional Details
Fields Column 1: ”Speaker Image URL”,
Fields Column 2: “LinkedIn Link”
Click “Save”
2.2. Add the Related List ”Files” to the “Speaker Layout” Page Layout of the Staff/Speaker Object.
Feature: Staff/Speakers UI
Object Name: Staff/Speaker
Page Layout Name: Speaker Layout
Related List: ”Files”
Click “Save”
2.3. If you are using your own EventSpark Flexipage, update the Event Form Flexipage of a Custom Registratoin Form to display ”Event Form Fields” related list on the main page on the right hand side with moving the “Details” to the left hand side.
Feature: Staff/Speakers UI
Flexi Page: Staff/Speaker Record Page
Component: “Spark - Content Upload” on the right of the page
While on any Staff/Speaker record, select the Setup Cog and select “Edit Page”.
Search for Component “Spark - Content Upload” and add it to the Page Layout on the right hand side of the page.
Click “Save”
3. Event Theme Object
3.1. Add a new 2-column section called “Borders” below the “Colors and Fonts” Section on the “Event Theme Layout” Page Layout on the “Event Theme” Object. Add Fields “Thumbnail Image Shape” to this new section.
Feature: Staff/Speakers UI
Object Name: Event Theme
Page Layout Name: Event Theme Layout
Section Name: Borders
Fields Column 1: ”Thumbnail Image Shape”
Click “Save”
4. Content Versions Object
4.1. Add “ Speaker Profile” to the “Use As” Field found under Fields & Relationships on the “Content Versions” Object.
Feature: Staff/Speakers UI
Object Name: Content Versions
Fields & Relationships Field Name: Use As
Add New Value: ”Speaker Profile”
-
Add new picklist value to the Use As field
Label = Speaker Profile
API Name = Speaker Profile
Include in Record Type “EventSpark Content Version”
5. Event Booking Item Object
If you are using your own custom record page for Event Booking Item, the following upgrade steps will need to be followed: 5.1. - 5.6.
5.1. Add the field ”Number of Checked In Delegates” to the second column of the section “Information” on the “Event Booking Item Layout” Page Layout of the Event Booking Item Object.
Feature: Express Check In
Object Name: Event Booking Item
Page Layout Names: “Event Booking Item”
Section Name: Information
Fields Column 1: ”Number of Checked In Delegates”
5.2. Add a new 2-column section called “Financials” below the “Item Snapshot” section on the “Event Booking Item Layout” Page Layout on the “Event Booking Item” Object.
Feature: Volume/Bulk Tickets Discounts
Object Name: Event Booking Item
Page Layout Name: Event Booking Item Layout
Section Name: Financials
5.3. Move Fields “Item Currency” & “Item Price” from the “Item Snapshot” section to the new “Financials” section in column 1.
Feature: Volume/Bulk Tickets Discounts
Object Name: Event Booking Item
Page Layout Name: Event Booking Item Layout
Section Name: Financials
Fields: “Item Currency” & “Item Price”
5.4. Add Fields “Item Total List Price” & “Item Total Price”, to column 1 and “Item Discount Percentage” & “Item Discount Value” to column 2and “Pricing Rules Applied” to this new section.
Feature: Volume/Bulk Tickets Discounts
Object Name: Event Booking Item
Page Layout Name: Event Booking Item Layout
Section Name: Financials
Fields Column 1: “Item Total List Price” &“Item Total List Price”
Fields Column 2: “Item Discount Percentage” & “Item Discount Value”
5.5. Add a new 1-column section called “Pricing Rules” below the “Financials” section on the “Event Booking Item Layout” Page Layout on the “Event Booking Item” Object and add Field “Pricing Rules Applied” to this new section.
Feature: Volume/Bulk Tickets Discounts
Object Name: Event Booking Item
Page Layout Name: Event Booking Item Layout
Section Name: Pricing Rules
Fields: “Pricing Rules Applied”
Click “Save”
5.6. Update the Help Text of the field “Item Total Price” found under “Fields & Relationships” on the Event Booking Item Object.
Feature: Volumne/Bulk Ticket Discount
Object Name: Event Booking Item
Fields & relationships Field Name: Item Total Price
Help Text: “The final price after applying any eligible discounts. Event Pricing Rules are evaluated to determine available discounts. The rule offering the highest discount is automatically applied. The Item Discount Value field shows the amount of any discount given.”
Click “Save”
6. Organizing Entity Object
6.1. Update the section “Event List Configuration e.g., Upcoming Events” to 2 columns and move the “Hide Event Title“ and “Google Analytics Code” fields to column 2. Add the Fields ”No Events Message” and “No Events Matching Filters Message” to the section “Event List Configuration e.g., Upcoming Events” on the “Organising Entity Layout” Page Layout of the Organizing Entity Object.
Feature: Microsite Upcoming Events
Object Name: Organizing Entity
Page Layout Names: “Organising Entity Layout”
Section Name: Event List Configuration e.g., Upcoming Events
Change to 2 Columns: Update “Event List Configuration e.g., Upcoming Events“ to two columns
Fields Column 1: ”No Events Message” below “Event List Info [Contact Selected]”, ”No Events Matching Filters Message” below “No Events Message”
Fields Column 2: “Hide Event Title“, then “Google Analytics Code”
Click “Save”
5.2. Add “Copy pricing rules (also copies related ticket types)” to the “Clone Event Default Settings” & “Clone Event Required Settings“ Fields found under Fields & Relationships on the “Organizing Entity” Object.
Feature: Event Cloning Settings on Organizing Entity
Object Name: Organizing Entity
Fields & Relationships Field Name: Clone Event Default Settings & Clone Event Required Settings
Add New Value: ”Copy pricing rules (also copies related ticket types)”
-
Add new picklist value to the Clone Event Default Settings field & Clone Event Required Settings field
Label = Copy pricing rules (also copies related ticket types)
API Name = Copy pricing rules (also copies related ticket types)
After saving, click on ‘Reorder’ and move the new value to after “Copy ticket types”
6.3. Change picklist value label and API name from “Copy related content e.g. custom tabs“ to “Copy related content (Tabs and FAQs)“ on the “Clone Event Default Settings” & “Clone Event Required Settings“ Fields found under Fields & Relationships on the “Organizing Entity” Object.
Feature: Event Cloning Settings on Organizing Entity
Object Name: Organizing Entity
Fields & Relationships Field Name: Clone Event Default Settings & Clone Event Required Settings
Change value: “Copy related content e.g. custom tabs“
-
Update picklist value on the Clone Event Default Settings field & Clone Event Required Settings
New Label = Copy related content (Tabs and FAQs)
API Name = Copy related content (Tabs and FAQs)
7. Event Collection Object
7.1. Add the Fields ”No Events Message” and “No Events Matching Filters Message” to the section “Content” on the “Event Collection Layout” Page Layout of the Event Collection Object.
Feature: Microsite Upcoming Events per event collection
Object Name: Event Collection
Page Layout Names: “Event Collection Layout”
Section Name: Content
Fields Column 1: ”No Events Message” below “Site Description”, ”No Events Matching Filters Message” below “No Events Message”
Click “Save”
8. Ticket Type Object
8.1. If you are using your own Flexipages, update the Ticket Type Flexipage to display “Related” on the right hand side with moving the “Details” to the left hand side and add Related List “Event Pricing Rules” as the first list.
Feature: Volume/Bulk Ticket Discounts
Flexi Page: Ticket Type Record Page
Update Page Layout: “Related” on the right of the page and “Details” on the left of the page
Add Related List: “Event Pricing Rule”
While on any Ticket Type record, select the Setup Cog and select “Edit Page”.
Move “Related” Tab to the right hand side of the page and add related list “Event Pricing Rules” to the tope of the “Related” Tab.
Click Save
8.2.1. Add the Related List ”Event Pricing Rules” on the “Ticket Type Layout” Page Layout of the Ticket Type Object.
Feature: Volume/Bulk Ticket Discounts
Object: Ticket Type
Page Layout: “Ticket Type Layout”
Add Related List: “Event Pricing Rule”
8.2.2. Edit the properties of the Related List ”Event Pricing Rules” on the “Ticket Type Layout” Page Layout of the Ticket Type Object.
Feature: Volume/Bulk Ticket Discounts
Object: Ticket Type
Page Layout: “Ticket Type Layout”
Related List: “Event Pricing Rule”
Selected Fields: “Event Pricing Rule Name”, “Type”, “Minimum Quantity”, “Discount Percentage”, “Active”, and “Last Modified By”
Sort by “Minimum Quantity” - “Ascending
Click “OK”
Click “Save”
9. Event/Function Walk-Ins Upgrade Script
9.1. Go to “Developer Console” under “Setup”, and copy and paste the upgrade script in the “Anonymous Execute” window.
This script needs to be run before the scripts in steps 10 and 11 or you will receive validation errors.
This script can only be run after the upgrade steps above have been made. It must be run to disable walk-ins for existing Events where the Booking/Registration Tool is Booking Wizard.
/**
* @description : Allow Walk-Ins must be set to false on Booking Wizard events in order to register new delegates.
* @author : Cornelia Smit
* @company : SparkSmiths
* @last modified on : 25-02-2025
* @last modified by : Cornelia Smit
**/
String query = 'SELECT Id, evsprk__Allow_Walk_Ins__c ' +
'FROM evsprk__Event_Function__c ' +
'WHERE evsprk__Booking_Registration_Tool__c = \'Booking Wizard\' ' +
'AND evsprk__Allow_Walk_Ins__c = true ' +
'LIMIT 10000';
List<evsprk__Event_Function__c> eventsToUpdate = Database.query(query);
for (evsprk__Event_Function__c event : eventsToUpdate) {
event.evsprk__Allow_Walk_Ins__c = false;
}
if (!eventsToUpdate.isEmpty()) {
Database.SaveResult[] results = Database.update(eventsToUpdate, false);
//Log events that failed to update, with error message
for (Integer i = 0; i < results.size(); i++) {
if (!results[i].isSuccess()) {
String errorMessage = results[i].getErrors()[0].getMessage();
System.debug('Failed to update Event with ID: ' + eventsToUpdate[i].Id + ' Error: ' + errorMessage);
}
}
}
System.debug('Event_Function__c records have been updated to not allow walk-ins.');Open Developer Console
At the Debug dropdown, select “Execute Anonymous”
Paste the copied code block into the window and click “Execute”.
10. Staff/Speaker Upgrade Script
10.1. Go to “Developer Console” under “Setup”, and copy and paste the upgrade script in the “Anonymous Execute” window.
This script can only be run after the upgrade steps above have been made. It must be run to Hide the default Speaker Avatar on your events that have existing Staff/Speakers.
/**
* @description : Hides the speaker profile images for events with related speakers
* @author : Cornelia Smit
* @company : SparkSmiths
* @last modified on : 19-02-2025
* @last modified by : Cornelia Smit
**/
String query = 'SELECT Id, evsprk__Hide_Speaker_Profile_Images__c ' +
'FROM evsprk__Event_Function__c ' +
'WHERE Id IN (SELECT evsprk__Event_Function__c ' +
'FROM evsprk__Staff__c ' +
'WHERE evsprk__Event_Function__c != NULL) ' +
'AND evsprk__Hide_Speaker_Profile_Images__c = false ' +
'LIMIT 10000';
List<evsprk__Event_Function__c> eventsToUpdate = Database.query(query);
for (evsprk__Event_Function__c event : eventsToUpdate) {
event.evsprk__Hide_Speaker_Profile_Images__c = true;
}
if (!eventsToUpdate.isEmpty()) {
Database.SaveResult[] results = Database.update(eventsToUpdate, false);
//Log events that failed to update, with error message
for (Integer i = 0; i < results.size(); i++) {
if (!results[i].isSuccess()) {
String errorMessage = results[i].getErrors()[0].getMessage();
System.debug('Failed to update Event with ID: ' + eventsToUpdate[i].Id + ' Error: ' + errorMessage);
}
}
}
System.debug('Event_Function__c records have been updated to hide speaker profile images.');
Open Developer Console
At the Debug dropdown, select “Execute Anonymous”
Paste the copied code block into the window and click “Execute”.
11. Event/Function Booker Actions Upgrade Script
11.1. Go to “Developer Console” under “Setup”, and copy and paste the upgrade script in the “Anonymous Execute” window.
This script can only be run after the upgrade steps above have been made. It must be run to allow the booker to cancel, edit details and reassign their tickets on existing Events where the Booking/Registration Tool is Booking Wizard.
/**
* @description : Allow booker to cancel, edit details and reassign tickets on Events using Booking Wizard for registration
* @author : Cornelia Smit
* @company : SparkSmiths
* @last modified on : 28-02-2025
* @last modified by : Cornelia Smit
**/
String query = 'SELECT Id, evsprk__After_Booking_Completion_Allow_Booker_To__c ' +
'FROM evsprk__Event_Function__c ' +
'WHERE evsprk__Booking_Registration_Tool__c = \'Booking Wizard\' ' +
'AND evsprk__After_Booking_Completion_Allow_Booker_To__c = \'\' ' +
'LIMIT 10000';
List<evsprk__Event_Function__c> eventsToUpdate = Database.query(query);
for (evsprk__Event_Function__c event : eventsToUpdate) {
event.evsprk__After_Booking_Completion_Allow_Booker_To__c = 'Cancel Booking;Update Delegate Details;Reassign Tickets';
}
if (!eventsToUpdate.isEmpty()) {
Database.SaveResult[] results = Database.update(eventsToUpdate, false);
//Log events that failed to update, with error message
for (Integer i = 0; i < results.size(); i++) {
if (!results[i].isSuccess()) {
String errorMessage = results[i].getErrors()[0].getMessage();
System.debug('Failed to update Event with ID: ' + eventsToUpdate[i].Id + ' Error: ' + errorMessage);
}
}
}
System.debug('Event_Function__c records have been updated with booker allowable actions.');Open Developer Console
At the Debug dropdown, select “Execute Anonymous”
Paste the copied code block into the window and click “Execute”.