Add Single Events to Multiple Event Groups

Prev Next

Pre-Requisites

Caching 2.0

Caching 2.0 must be enabled to use the Multiple Event Groups feature. If it is not enabled, users will see an error when creating or updating an Event Group Association record.

Post-Install Script

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.

Please contact Blackthorn Support to run the script or for additional support.

Overview

Benefits

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 multiple Event Groups.

This feature gives Event Organizers the ability to

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

  • Increase registrations 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.

New Functionality

The Event object’s Event Group (conference360__Event_Group__c) field has been updated as follows.

  • The new Field Label for the conference360__Event_Group__c field is now Primary Event Group.

  • The Description/Help text is now: “Select an Event Group for this Event. All Events grouped together will appear on the same list. To view the list, click on the Event Group URL field on the Event Group record. If this Event is related to multiple Event Groups, then the value from this field will be used as the primary Event Group.”

  • If an Event is related to multiple Event Groups, the value selected in the Primary Event Group (conference360__Event_Group__c) field will be used as the primary Event Group.

The existing Event Group Association (conference360_Event_Group_Association_c) object is now the junction object between the Event and Event Group objects.

Relevant Fields on the Event Group Association Object

  • Field Label: Event URL

    • API Name: conference360__Event_URL__c

    • Data Type: Formula

    • Help Text/Description: Event URL related to this event group

  • Field Label: Event Group

    • API Name: conference360__Event_Group__c

    • Data Type: Lookup

  • Field Label: Event

    • API Name: conference360__Event__c

    • Data Type: Lookup

Updated Permission Sets

  • Permission Sets: Blackthorn | Events (Admin), Blackthorn | Events (Organizer), and Blackthorn | Events (Community/Platform User)

    • Object: Event Group Association

      • Object Permissions

        • Read

        • Create

        • Edit

        • Delete

      • Field Permissions

        • Event: Read, Edit

        • Event Group: Read, Edit

        • Event URL: Read

  • Permission Sets: Blackthorn | Events (Lite User), Blackthorn | Events (Read Only), and Blackthorn | Events (Limited Access)

    • Object: Event Group Association

      • Object Permission: Read

      • Field Permissions

        • Event: Read

        • Event Group: Read

        • Event URL: Read

Required Page Layout Updates

Add the Event Group Association Related List to the Event and Event Group page layouts.

  1. Go to the Blackthorn | Events Admin tab.

  2. Click the Upgrade tab.

  3. Click the Upgrade Events Layouts button.

Logic

In Salesforce

The following Event Group Association logic explains how single Events can be related to multiple EEvent Groups.

Case 1

If you set the Event’s Primary Event Group (conference360__Event_Group__c) field to “EventGroup1,” and the Event has no related Event Group Association record, then the Event is related to the Event Group Association record.

The new Event Group Association record includes Event (conference360__Event__c) = "this event" and Primary Event Group (conference360__Event_Group__c) = "EventGroup1."

Case 2

An Event’s Primary Event Group (conference360__Event_Group__c) field is blank, and the Event has no related Event Group Association record.

You create a new Event Group Association record with the Event Group (conference360__Event_Group__c) set to “EventGroup2.” The Event’s Primary Event Group field now contains “EventGroup2.”

Case 3

An Event’s Primary Event Group (conference360__Event_Group__c) field is set to “EventGroup1,” and the Event is related to an Event Group Association record with Event (conference360__Event__c) = "this event" and Event Group (conference360__Event_Group__c) = "EventGroup1."

If you delete the Event Group Association record, then the Event will no longer be related to an Event Group Association record because the Event Group, “EventGroup1,” is automatically removed from the Event’s Primary Event Group field.

Case 4

The Event’s Primary Event Group (conference360__Event_Group__c) field is set to “EventGroup1,” and the Event is related to an Event Group Association record with Event (conference360__Event__c) = "this event" and Event Group (conference360__Event_Group__c) = "EventGroup1."

The value in the Event’s Primary Event Group field is changed to “EventGroup2,” updating the related Event Group Association record to “Event (conference360__Event__c) = "this event" and Event Group (conference360__Event_Group__c) = "EventGroup2."

Case 5

The Event’s Primary Event Group (conference360__Event_Group__c) field is set to “EventGroup1,” and the Event is related to the following Event Group Association records.

  • Event Group Association: Event (conference360__Event__c) = "this event" and Event Group  (conference360__Event_Group__c) = "EventGroup1"

  • Event Group Association: Event (conference360__Event__c) = "this event" and Event Group  (conference360__Event_Group__c) = "EventGroup3"

The value in the Event’s Primary Event Group field is changed to “EventGroup2,” which creates a third Event Group Association record.

  • Event Group Association: Event (conference360__Event__c) = "this event", Event Group  (conference360__Event_Group__c) = "EventGroup1"

  • Event Group Association: Event (conference360__Event__c) = "this event", Event Group  (conference360__Event_Group__c) = "EventGroup3"

  • Event Group Association: Event (conference360__Event__c) = "this event", Event Group  (conference360__Event_Group__c) = "EventGroup2"

Case 6

The Event’s Primary Event Group (conference360__Event_Group__c) field is set to “EventGroup1,” and the Event is related to the following Event Group Association records.

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group  (conference360__Event_Group__c) = "EventGroup1"

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group  (conference360__Event_Group__c) = "EventGroup2"

The value in the Event’s Primary Event Group field has been removed, and the field is now blank. This deletes the Event Group Association record with Event Group = "EventGroup1” and leaves one Event Group Association record remaining.

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group  (conference360__Event_Group__c) = "EventGroup2"

Case 7

The Event’s Primary Event Group (conference360__Event_Group__c) field is set to “EventGroup1,” and the Event is related to the following Event Group Association records.

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group (conference360__Event_Group__c) = "EventGroup1," and CreatedDate = ”02/03”

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group (conference360__Event_Group__c) = "EventGroup2," and CreatedDate = ”02/04”

  • Event Group Association: Event (conference360__Event__c) = "this event," Event Group (conference360__Event_Group__c) = "EventGroup3," and CreatedDate = ”02/05”

The value in the Event’s Primary Event Group field is removed, causing the Primary Event Group field to be automatically changed from “null” to “EventGroup2” since “EventGroup2” is the oldest Event Group.

Case 8

The Event Group Association record with Event (conference360__Event__c) = "Event1" and Event Group (conference360__Event_Group__c) = "EventGroup2" exists in an org. If a user tries to create a duplicate record, they will see this error: “This Event Group Association already exists; you cannot add a duplicate.”

Attendee Experiences

Scenario 1: View an Event associated with one Event Group

Event A contains the following values:

  • Primary Event Group (conference360__Event_Group__c) = “Event Group A”

  • Event Group Association (conference360__Event_Group_Association__c) = null

From Event Group A’s webpage, the Attendee goes to Event A, which has Event Group set to “Event Group A.” When the Attendee clicks the Back Arrow on Event A, they are taken to Event Group A.

Scenario 2: View an Event associated with multiple Event Groups

Event A contains the following values:

  • Primary Event Group (conference360__Event_Group__c) = null

  • Event Group Association (conference360__Event_Group_Association__c) = null

Event A is associated with Event Group A, Event Group B, and Event Group C, but Event A’s Primary Event Group field is blank. When an Attendee goes to Event Group A’s Event Group URL, they see and select Event A. From Event A, they can click the Back Arrow on Event A and go to Event Group A.

Scenario 3: View an Event across multiple Event Groups

Event A’s Primary Event Group (conference360__Event_Group__c) is set to “Event Group A.” Event A is also associated with Event Group B, Event Group C, and Event Group D.

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group B”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group C”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group D”

When an Attendee goes to each Event Group, they will see Event A is listed under Related Events.

Scenario 4: Assign an Event Group ID based on the Event Group

Scenario 4.1: View an Event with an Event Group ID from Event Group A

Event A’s Primary Event Group (conference360__Event_Group__c) is set to “Event Group A.” Event A is associated with Event Group B, Event Group C, and Event Group D.

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group B”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group C”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group D”

From Event Group A’s webpage, the Attendee sees and clicks Event A. When the Attendee clicks the Back Arrow on Event A, they are taken back to Event Group A since the Event Group ID associated with Event A comes from the Event Group where the Event was opened.

Scenario 4.2: View an Event with the Event Group ID from Event Group B

Event A’s Primary Event Group (conference360__Event_Group__c) is set to “Event Group A.” Event A is associated with Event Group B, Event Group C, and Event Group D.

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group B”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group C”

  • Event Group Association: Event (conference360__Event__c) = "Event A," Event Group (conference360__Event_Group__c) = "Event Group D”

From Event Group B’s webpage, the Attendee sees and clicks Event A. When the Attendee clicks the Back Arrow on Event A, they are taken back to Event Group B since the Event Group ID associated with Event A comes from Event Group B.