--- title: "July 2022 - Version 3.69" slug: "july-2022" tags: ["Release Notes", "Events"] updated: 2022-08-02T14:02:44Z published: 2022-08-02T14:02:45Z canonical: "docs.blackthorn.io/july-2022" excludeFromSearch: true excludeFromExternalSearch: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt > Use this file to discover all available pages before exploring further. # July 2022 - Version 3.69 **If you have any questions about the release note, please don't hesitate to reach out to us through our [support form](https://community.blackthorn.io/s/support).** **REQUIRED: The Candy Shop link must be used to upgrade the July release for Events.** The Candy Shop is open! This is your one-stop shop for installs and upgrades. To visit the Blackthorn Candy Shop page, go [here](https://candyshop.blackthorn.io/products). [Embedded content](https://www.youtube.com/embed/EvM22YaZNuU) ## Breaking Changes ### Mobile Check-in App QR Code Update To use the new QR code scan feature, the Mobile Check-in app must be updated to Version 1.0.10. --- ## Enhancements Important Update Blackthorn Events now supports Products and Donations at Checkout, and our Static Translations feature for multi-language Events is now in Beta. ### Front End - An Attendee, who registers for an Event with Products, can now use the quantity selector to select a quantity for each Product when adding it to their cart. - After a user fills out the “Contact Us” form and clicks the **Send** button, the user will see the confirmation message, “Message sent. Thank you for contacting us.”, in the middle of the screen. ### Back End - In the Blackthorn | Events Admin tab, the label “Whitelist Domains” has been changed to “Allowlist Domains”. - To give organizations more control over how UID is set for special use cases, a new Email Settings’ Custom Setting field to define a custom handler was added. Configure the Email Settings Custom Setting field `Custom Email Builder UID Handler` as `TestUIDHandler` using the following format: ``` 1 public class TestUIDHandler implements EmailEditorUIDInterface{ 2 public String getUID(){ 3 return '1234567890'; 4 } 5} ``` - To ensure Event Admins are able to identify the language an Attendee used to register for an Event, a new field was added to the Attendee object. The **Registration Language** field will pull the value from the language of Translation (Source Language) used during registration. - An Event user can now add values to the **Quantity Available**, **Minimum Quantity**, and **Maximum Quantity** fields when creating Products (Event Item **Type** = "Other"). - Users now have the ability to customize the information, including the description and location, in the Calendar Invite that is sent to an Attendee after the Attendee clicks the **Add to Calendar** button. Important to Know The “Donations” and “Products” sections will be updated automatically when Events is install and/or upgraded. The new fields on the Attendee (`Donated` field and `Purchased Products` field) need to be added manually as they are not added by default to page layout. ## Bug Fixes ### Front End - Attendees are now able to register for an Event and its accompanying Session(s) via the Event Registration (**Event Page URL**) page. - If an Attendee clicks the AttendeeLink and the Event’s Event Item has a **Sales End Date** / **Sales End Time** in the past, the Registration Form will be hidden, the “Completed” Banner will appear, and the Attendee will not be able to register for the Event. - Event Group pages will now load without producing the 4XX error. - If an Attendee starts the checkout process via an AttendeeLink, but the **Event Item** field on the Attendee record is left blank, the following checkout process will now occur. 1. An Attendee clicks their AttendeeLink to start the checkout process. 2. The Attendee does not see the Capacity Selector for the Event Item. They only see the **Redeem Item** button next to the Event Item. 3. Once the Attendee clicks the **Redeem Item** button, the selected Event Item will be added to the cart, and the Capacity Selector will be visible. 4. The Attendee will now be able to complete the checkout process. - A user will not be able to register for an Event as a waitlisted Attendee when the Event’s **Remaining Capacity** is greater than “0”. - A Form Element’s default values will appear when registering an Attendee for an Event via the BT Event Attendee Registration Component. - When using a mobile device to register for an Event that is part of an Event Group, users can now view the Event details by scrolling on the device. - An **Event Name** that should include an apostrophe after being translated will now be translated correctly. The HTML Character “L'” will no longer be shown in place of the apostrophe. - An incorrect Finnish translation in the Data Dictionary has been updated from “suomen kieli” to “suomeksi”. #### User Interface - When the **UI Experience** = "Simple", an Event’s venue details will be separated by commas on the **Event Page URL**. - If an Event’s **UI Experience** = "Tabbed" and an Attendee registers for an Event’s waitlist where the Event has accompanying Sessions, the Attendee will no longer see the Sessions during the waitlist registration process. - When an Event has more than one Event Item and the **UI Experience** = "Full-Width", the registrant can now select the ticket amount and complete the registration process. - When using the Simple UI, Attendees with **Registration Status** = "Pending" are now able to register for an Event when the Event is sold out and the waitlist is closed. ### Back End - When the Event Item (Event Item **Type** = "Other") (for Products), the **Quantity Available** and **Quantity Remaining** fields on the Event Item will now update correctly as users purchase the Products. - To prevent duplicate Contact records from being created after registering an Attendee (i.e the Contact) for an Event, the BT Events Attendee Matching Rule will now match on the Contact’s **Phone**. - When registering for an Event with a TouchNet Payment Gateway, an Apex Job error will no longer occur after a successful registration. - The Help Text on the **Option Value** field (conference360__Option_Value__c) has been changed to “This is the value that is saved in Salesforce as the answer.” - The Help Text on the **Option Name** field (conference360__Option_Name__c) has been changed to “This is the text an attendee will see when checking out of an event.” - The Form Big List Options will now be ordered by **Option Name** and sorted by **Option Value**. - The Send Email Component on the Event object is no longer connected to the **Email(Deprecated)** field (conference360__Email__c). If an Attendee's email address is updated, the Send Email Component will use the **Email** field (conference360__Email2__c). - Updating/editing an existing Translation record will no longer cause the "Only one translation may exist for this Language and Speaker record combination" error. - If multiple Event Admins update multiple Events simultaneously and add those Events to a specific Event Group, the available, upcoming Events will now appear correctly on the Event Group URL. - If the Events app was authorized by the original user but a different user later authorized the app, the scheduled jobs will update under whoever last authorized the app. - If the Events app is authorized by a newly created (and authorized) user, newly created records and updated current records will now be found under the new authorized user. - If an Attendee’s **Registration Status** = "Waitlisted - Pending" and space at the Event becomes available, the Attendee’s **Registration Status** will automatically change to "Pending" allowing the Attendee to register for the Event using the Simple UI. #### Cloned Events - A cloned Event will retain the same Custom Tabs sort order that was used in the original Event. If the sort order in the original Event was not defined, the Custom Tabs will be displayed in the order of creation. - After cloning an Event with **Sales Start Date**, **Sales Start Time**, **Sales End Date**, and **Sales End Time**, the cloned Event will now show the correct dates/times. #### Register via an AttendeeLink - After completing the registration process via an AttendeeLink, the invited primary guest will be related to an Attendee Group with their additional (secondary) guests. - When an Attendee registers for an Event via their AttendeeLink and includes a custom Donation Amount with their Ticket purchase, the ERS record will now be created and processed correctly. #### Event Wizard - The **Event Group** and **Payment Gateway** fields will now automatically populate when the Event Wizard is opened to edit an existing record. - Populated custom and packaged Events fields will remain populated when the Event is opened in the Event Wizard. - When using the Event Wizard, users can now change the font color in the Event’s **Description** field just as they can in the Speakers’ **Bio** field and the Sessions’ **Description** field. #### Community - Images uploaded to the Event Banner and the Speaker Profile Photo in the Community Event Wizard will now display correctly. - Community users are now able to successfully save email templates created from scratch and changes made to existing email templates. - Community users can now successfully create, save, and use email templates in production. --- ## Field, Object, and Layout Changes ### New - **Registration Language** field - Added to the Attendee object. - Event Admins can now identify the language an Attendee used to register for an Event. - Pulls information from the language of Translation (Source Language) used during registration. --- ## Mobile Check-In App ### Enhancements - If a user wants to check in an Attendee using the QR code scan feature on the Mobile Check-in app, they can now press the “capture a QR code” button on the home screen and scan the QR code. A valid QR code will start the check-in process and provide the user with relevant details about the Event. ### Bug Fixes - After creating an Attendee record using the Mobile Check-in app, the Attendee’s **Attendance Status** = "Attended" will sync correctly to the Campaign Member Status. --- We’ve added a new Apex class to avoid a common cause of confusion around Event authorization in a newly refreshed partial or full sandbox. This class will reset the authorization components in the newly refreshed sandbox so users are aware that authorization has not yet been completed. Users will need to add the `BTEventsPostSandboxRefresh` class to the sandbox refresh process for this reset capability. ## Admin Upgrade Instructions To upgrade Events to the newest version, go to the [Blackthorn Candy Shop](https://candyshop.blackthorn.io/products). Blackthorn has adopted Salesforce’s managed package installer to simplify the installation process. Since Payments is already installed, the installer will install Base Package and make sure the correct version of Payments is installed before installing Events. For step-by-step instructions, click [here](https://docs.blackthorn.io/docs/blackthorn-events-installation). --- ## Testing From now until **07/14/22**, the directions below will teach you how to test the new front-end features, enhancements, and bug fixes until they are automatically pushed. To Do You will need to replace the Event Page and AttendeeLink URLs 'events.blackthorn.io' domain to a test domain. TEST DOMAIN: [https://preview.events.blackthorn.io/](https://preview.events.blackthorn.io/) For example, when you create your attendee, an AttendeeLink URL is generated with the "events.blackthorn.io" domain like this one: [https://events.blackthorn.io/2E12oua7/attendee/ty2W6t9awokrDMaLWi8Mf4sLMedhdrWSBHw6HS7kqVnJ0kKmCK63yl0IxWpbAUBo](https://events.blackthorn.io/2E12oua7/attendee/ty2W6t9awokrDMaLWi8Mf4sLMedhdrWSBHw6HS7kqVnJ0kKmCK63yl0IxWpbAUBo) You'll then click on the attendee URL so it opens in a new page. Remove "events.blackthorn.io" and replace it with "preview.events.blackthorn.io" so it looks like this: [https://preview.events.blackthorn.io/2E12oua7/attendee/ty2W6t9awokrDMaLWi8Mf4sLMedhdrWSBHw6HS7kqVnJ0kKmCK63yl0IxWpbAUBo](https://preview.events.blackthorn.io/2E12oua7/attendee/ty2W6t9awokrDMaLWi8Mf4sLMedhdrWSBHw6HS7kqVnJ0kKmCK63yl0IxWpbAUBo) **If you have any questions about this or need help with testing, please don't hesitate to reach out to us through our [support form](https://community.blackthorn.io/s/support).**