Releases: SFDO-Community/Summit-Events-App
0.36.0.5
Critical Changes
- populateAppJSON() method in options.js now is not executed when SummitEventsRegisterAppointments vf page renders
N/A - None
Changes
The issue of having the page blocked after it rendered it's because "fadein()" method was throwing an error (basically a null pointer exception). The "SummitEventsRegisterAppointments" vf page has no any element with id as "backpage" and fadein method was depended on getting at least one element to assing style.display to it.
This is the current order of execution:
- appointmentsReady()
- populateAppJSON()
- checkForRequiredAppointments()
- fadeIn()
- checkForRequiredAppointments()
- InitiationOfAddButtons()
Notes:
- populateAppJSON()
- fadeIn() error was not letting InitiationOfAddButtons to execute
- I'm calling InitiationOfAddButtons() the if block located from line 46 in options.js
There are 2 ways to fix it:
1 - Change the order of execution where populateAppJSON() is executed after InitiationOfAddButtons()
2 - Do not call populateAppJSON in the rendering process.
Since the expectation is not having it open when the page renders, the 2nd option fits better and the accordion will open automatically if it was missed and the user clicked next. - Took field accessibility check off test data factory
- Fix a small typo for the word "Registration".
- Mimicking usage of "regularLists" from SummitEventsRegister. "regularLists" css selector is applied to a div component, not directly to a "p" tag. (Reference line 89 from SummitEventsRegister)
- Guest records are now populated with event instance time formatted
- Fixed bug in letterhead where image urls were not being generated correctly resulting in missing images
- Moved accessibility and dietary questions above address fields
- Added "no-show" status for calculating if registrant can re-register for an event when one reg per registrant is set
- Added feature to lookup custom questions where you can order by your record results
- Added a text field version of birthdate so that matching rules can use it for matching (since date isn't part of Salesforce matching abilities)
- Fixed qr code formula to use new service https://api.qrserver.com . In order for qr codes to appear https://api.qrserver.com needs to be added to an orgs trusted urls.
- Added a qr code of reg id to registration record for checking flow possibilities
- Changed var to let in registration.js for small change for packaging
Issues Closed
#533: [BUG] - Required Appointment Error
#562: [BUG] Registration QR image broken
#580: Convert Registrant Date of Birth field to a Registrant Birthdate Text field so we can leverage Birthdate as part of Salesforce Duplicate Matching criteria.
#582: Add Order By ability for custom questions
#586: [FEATURE] Enhancement to One registration per event adding no-show status to free registration
#592: Move new Accessibility and Dietary need fields above the Address fields.
#593: [BUG] Letterheads not generating correct links to header and footer images
#597: The summit__Event_Instance_Date_Time_Formatted__c field is not being populated for Hosted Guest Summit Events Registration records.
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tVs000000ClWDIA0
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tVs000000ClWDIA0
0.36.0.5
Critical Changes
- populateAppJSON() method in options.js now is not executed when SummitEventsRegisterAppointments vf page renders [PR578]
N/A [PR591] - None [PR594]
Changes
The issue of having the page blocked after it rendered it's because "fadein()" method was throwing an error (basically a null pointer exception). The "SummitEventsRegisterAppointments" vf page has no any element with id as "backpage" and fadein method was depended on getting at least one element to assing style.display to it. [PR578]
This is the current order of execution: [PR578]
- appointmentsReady() [PR578]
- fadeIn() error was not letting InitiationOfAddButtons to execute [PR578]
- I'm calling InitiationOfAddButtons() the if block located from line 46 in options.js [PR578]
There are 2 ways to fix it: [PR578]
1 - Change the order of execution where populateAppJSON() is executed after InitiationOfAddButtons() [PR578]
2 - Do not call populateAppJSON in the rendering process. [PR578]
Since the expectation is not having it open when the page renders, the 2nd option fits better and the accordion will open automatically if it was missed and the user clicked next. [PR578] - Took field accessibility check off test data factory [PR585]
- Fix a small typo for the word "Registration". [PR591]
- Mimicking usage of "regularLists" from SummitEventsRegister. "regularLists" css selector is applied to a div component, not directly to a "p" tag. (Reference line 89 from SummitEventsRegister) [PR594]
- Guest records are now populated with event instance time formatted [PR600]
- Fixed bug in letterhead where image urls were not being generated correctly resulting in missing images [PR600]
- Moved accessibility and dietary questions above address fields [PR600]
- Added "no-show" status for calculating if registrant can re-register for an event when one reg per registrant is set [PR600]
- Added feature to lookup custom questions where you can order by your record results [PR600]
- Added a text field version of birthdate so that matching rules can use it for matching (since date isn't part of Salesforce matching abilities) [PR600]
- Fixed qr code formula to use new service https://api.qrserver.com . In order for qr codes to appear https://api.qrserver.com needs to be added to an orgs trusted urls. [PR600]
- Added a qr code of reg id to registration record for checking flow possibilities [PR600]
- Changed var to let in registration.js for small change for packaging [PR602]
Issues Closed
#533: [BUG] - Required Appointment Error [PR578]
#562: [BUG] Registration QR image broken [PR600]
#580: Convert Registrant Date of Birth field to a Registrant Birthdate Text field so we can leverage Birthdate as part of Salesforce Duplicate Matching criteria. [PR600]
#582: Add Order By ability for custom questions [PR600]
#586: [FEATURE] Enhancement to One registration per event adding no-show status to free registration [PR600]
#592: Move new Accessibility and Dietary need fields above the Address fields. [PR600]
#593: [BUG] Letterheads not generating correct links to header and footer images [PR600]
#597: The summit__Event_Instance_Date_Time_Formatted__c field is not being populated for Hosted Guest Summit Events Registration records. [PR600]
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tVs000000ClWDIA0
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tVs000000ClWDIA0
0.35.0.1
Changes
- Fixed a unit test data factory issue where it was choosing a textarea that was not accessible by guest user
- Fixed a unit test that was asserting poorly when certain times of day would drop an instance off the feed list
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000ltAOIAY
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000ltAOIAY
0.35.0.1
Changes
- Fixed a unit test data factory issue where it was choosing a textarea that was not accessible by guest user [PR583]
- Fixed a unit test that was asserting poorly when certain times of day would drop an instance off the feed list [PR583]
- In "Event_Guest_Submit_List_Label__c.field-meta.xml" typo from "registred" to "registered".
- createPicklistsFromStrings is the method that removes "/" using a regex expression in SummitEventsShared class. The update is about adding "/" into the expression to ignore it.
- Updated to Salesforce API 61.1 (Summer 24)
- Added to google tag manager data layer 'event' : 'summit_' + page type
- Added the ability to use Google reCaptcha v3
- Added new standard question to ask about dietary restrictions
- Added new standard question to ask about accessibility needs for the event
- Updated look of apex messages on top of visualforce pages
- isEventClosed now checks master event status too
- Fixed failing assert of SummitEventsFeed API test. Compare query was updated to match how the feed query works
- Fixed a namespace test for additional questions. A namespaced was applied to the Existing_Picklist_Value__c field which doesn't contain a namespace, but rather deals with the namespace in code
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000ltAOIAY
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000ltAOIAY
0.34.0.1
Critical Changes
- isEventClosed now takes a new argument (master event status)
Changes
- In "Event_Guest_Submit_List_Label__c.field-meta.xml" typo from "registred" to "registered".
- createPicklistsFromStrings is the method that removes "/" using a regex expression in SummitEventsShared class. The update is about adding "/" into the expression to ignore it.
- Updated to Salesforce API 61.1 (Summer 24)
- Added to google tag manager data layer 'event' : 'summit_' + page type
- Added the ability to use Google reCaptcha v3
- Added new standard question to ask about dietary restrictions
- Added new standard question to ask about accessibility needs for the event
- Updated look of apex messages on top of visualforce pages
- isEventClosed now checks master event status too
- Fixed failing assert of SummitEventsFeed API test. Compare query was updated to match how the feed query works
- Fixed a namespace test for additional questions. A namespaced was applied to the Existing_Picklist_Value__c field which doesn't contain a namespace, but rather deals with the namespace in code
Issues Closed
#527: [FEATURE] Honeypot and/or recaptcha on Registration page
#556: Add an Accommodations field and a Dietary Restrictions field on the Summit Events Registration object
#576: When an Event marked as cancelled, the closed event text should appear when someone goes to registration page
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000lt9VIAQ
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000lt9VIAQ
0.34.0.1
Critical Changes
- isEventClosed now takes a new argument (master event status) [PR577]
Changes
- In "Event_Guest_Submit_List_Label__c.field-meta.xml" typo from "registred" to "registered". [PR571]
- createPicklistsFromStrings is the method that removes "/" using a regex expression in SummitEventsShared class. The update is about adding "/" into the expression to ignore it. [PR573]
- Updated to Salesforce API 61.1 (Summer 24) [PR575]
- Added to google tag manager data layer 'event' : 'summit_' + page type [PR575]
- Added the ability to use Google reCaptcha v3 [PR575]
- Added new standard question to ask about dietary restrictions [PR575]
- Added new standard question to ask about accessibility needs for the event [PR575]
- Updated look of apex messages on top of visualforce pages [PR575]
- isEventClosed now checks master event status too [PR577]
Issues Closed
#527: [FEATURE] Honeypot and/or recaptcha on Registration page [PR575]
#556: Add an Accommodations field and a Dietary Restrictions field on the Summit Events Registration object [PR575]
#576: When an Event marked as cancelled, the closed event text should appear when someone goes to registration page [PR577]
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000lt9VIAQ
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000000lt9VIAQ
0.33.0.1
Changes
- Fixed bug where url parameter 'audienceList' passed in audiences were not filtering the calendar drop down and events correctly on the Summit Events App (SEA) calendar page
- audienceList: A comma separated list of audience that will filter events to those that have those audience selected in the event multi-picklist
- Expanded url parameters to full scope of the SEA REST API Feed. These available URL parameters are:
- rectype : filters on salesforce record type id of event records
- viewStart : The date scope of the feed start. (Year month day formatted 2024-03-22)
- viewEnd : The date scope of the feed end. (Year month day formatted 2024-03-22)
- eventId : Shows only the instances under the event umbrella of this id
- type : Filters on "Event Type" field of the Event record (single item only)
- sponsor : Filters on the "Event Sponsor" field of the Event record (can be a comma separated list)
- displayon : Filters on the "Filter Where To Display" of the Event record (can be a comma separated list)
- category : Filters on the "Filter Category" of the Event record ( can be a comma separated list)
- filter : Searches all the fields listed in options as a like statement allowing for a broader search of location information. ( can be a comma separated list)
- account : Filter events on the name of an account associated to the event on the "Account" field on the Event record.
- locationtype : Filter events on the "Location Type" field on the Event record can be overrided on an instance of the event
- building : Filter events on the Building field on the Event record. (can be a comma separated list)
- longdesc : this will substitute the short description with the full event detail. It may not work on the calendar view.
- Added new parameters outside of the REST API for the calendar only
- audienceSelect : when set to false the dropdown of audience does not show.
- template : Allows you to pass in a name of a visualforce page template you have built for SEA on your site. the .page suffix can be removed from the visualforce page name.
- When a question object values is set to default and is visible that value now defaults on the question (including picklists)
- The cancel registration page has been reworked to function correctly especially if the event instance date is in the past
- CumulusCI tasks have been updated to make installing SEA as a dependency with all configurations and data installed much easier. The following are all that is needed in a cumulus.yml file to include SEA as a dependency in another project:
Add SEA as a dependency (it will install the latest packaged version):Add the repo to your sources to reference for tasks:dependencies: - github: 'https://github.com/SFDO-Community/Summit-Events-App.git'
Add the following tasks referencing the github source above can be added to the flow you are installing SEA as a dependency into (task numbers can change but should be in order)sources: sea: github: 'https://github.com/SFDO-Community/Summit-Events-App'
3: task: sea:deploy_permission_set 4: task: sea:deploy_site_config 5: task: sea:deploy_site_settings 6: task: sea:deploy_guest_permission_set 7: task: sea:deploy_namespaced_guest_sharing_rules 8: task: sea:create_fake_school_data 9: task: sea:load_sample_data
- Fixed unit tests so that when run at any time of the day test will succeed. Mostly switched unit test data to GMT to match server time.
Issues Closed
#545: [BUG] - Cancellation Page isn't working as expected
#548: [BUG] Picklist Default Value for Custom Question
#553: [BUG] - Additional information Header Appears when it shouldn't
#554: [BUG] - URL Filtering on Calendar with Audiences
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq0000010QbrIAE
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq0000010QbrIAE
0.33.0.1
Changes
-
Fixed bug where url parameter 'audienceList' passed in audiences were not filtering the calendar drop down and events correctly on the Summit Events App (SEA) calendar page [PR557]
- audienceList: A comma separated list of audience that will filter events to those that have those audience selected in the event multi-picklist [PR557]
-
Expanded url parameters to full scope of the SEA REST API Feed. These available URL parameters are: [PR557]
- rectype : filters on salesforce record type id of event records [PR557]
- viewStart : The date scope of the feed start. (Year month day formatted 2024-03-22) [PR557]
- viewEnd : The date scope of the feed end. (Year month day formatted 2024-03-22) [PR557]
- eventId : Shows only the instances under the event umbrella of this id [PR557]
- type : Filters on "Event Type" field of the Event record (single item only) [PR557]
- sponsor : Filters on the "Event Sponsor" field of the Event record (can be a comma separated list) [PR557]
- displayon : Filters on the "Filter Where To Display" of the Event record (can be a comma separated list) [PR557]
- category : Filters on the "Filter Category" of the Event record ( can be a comma separated list) [PR557]
- filter : Searches all the fields listed in options as a like statement allowing for a broader search of location information. ( can be a comma separated list) [PR557]
- account : Filter events on the name of an account associated to the event on the "Account" field on the Event record. [PR557]
- locationtype : Filter events on the "Location Type" field on the Event record can be overrided on an instance of the event [PR557]
- building : Filter events on the Building field on the Event record. (can be a comma separated list) [PR557]
- longdesc : this will substitute the short description with the full event detail. It may not work on the calendar view. [PR557]
-
Added new parameters outside of the REST API for the calendar only [PR557]
-
When a question object values is set to default and is visible that value now defaults on the question (including picklists) [PR559]
-
The cancel registration page has been reworked to function correctly especially if the event instance date is in the past [PR559]
-
CumulusCI tasks have been updated to make installing SEA as a dependency with all configurations and data installed much easier. The following are all that is needed in a cumulus.yml file to include SEA as a dependency in another project:
Add SEA as a dependency (it will install the latest packaged version):
dependencies: - github: 'https://github.com/SFDO-Community/Summit-Events-App.git'
Add the repo to your sources to reference for tasks:
sources: sea: github: 'https://github.com/SFDO-Community/Summit-Events-App'
Add the following tasks referencing the github source above can be added to the flow you are installing SEA as a dependency into (task numbers can change but should be in order)
3: task: sea:deploy_permission_set 4: task: sea:deploy_site_config 5: task: sea:deploy_site_settings 6: task: sea:deploy_guest_permission_set 7: task: sea:deploy_namespaced_guest_sharing_rules 8: task: sea:load_sample_data
[PR560]
-
Fixed unit tests so that when run at any time of the day test will succeed. Mostly switched unit test data to GMT to match server time. [PR561]
Issues Closed
#545: [BUG] - Cancellation Page isn't working as expected [PR559]
#548: [BUG] Picklist Default Value for Custom Question [PR559]
#553: [BUG] - Additional information Header Appears when it shouldn't [PR558]
#554: [BUG] - URL Filtering on Calendar with Audiences [PR557]
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq0000010QbrIAE
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq0000010QbrIAE
0.32.0.1
Changes
- Added Sample Data generated at the November 2023 Commons Sprint (https://summitevt.org/osc)
- Added unpackaged sharing rule for fee allocation
- Added task in cci yml to only install for admins when installing via metadeploy
- Updated information links for metadeploy for post install info and trailblazer community (not POU anymore)
- Added new sample data generated from the work done at the Salesforce.org Commons Sprint in November of 2023 in Chicago
- Close time is adjusted for the selected time zone on event instance for accurate, by the hour, closing of the event
- Nav/Date crumb that appears at the top of the page is now unaffected by the users timezone and only reflects the time zone selected in the instance
- When an event is set for 12-1AM it displays 12 rather than 0 in time formatting.
- When a future, or past event, is in daylight savings time the nav/date crumb reflects the future/past state rather than the current daylight savings state (CDT/CST as an example)
- Summit Events App (SEA) calendar view now has a link wrapper around the event descriptions needed when view goes into mobile list mode to be clickable.
- All Visualforce metadata is set to availableInTouch = true to facilitate embedding of pages in Digital Experience sites.
- Triggered transactional emails are now bulkified meaning all triggered emails send at once per batch. This may or may not alleviate the SINGLE_EMAIL_LIMIT_EXCEEDED error when triggering more than one status change on registrations when that status evokes an email. Scratch org testing was inconclusive.
- The page progression now detects if there is only the Registration page and the Additional Question Page in play and progress to the confirmation page (eliminating the blank Submit page). The button at the bottom of the Additional Questions page will switch to "Register" rather than "Next" as well.
- Preferred First Name Formatted field relabeled to Preferred Full Name Formatted.
- Amount of guest that can be submitted is now a 3 digit Integer field to allow for up to 999 guests. There may be a theoretical limit to how many guest a registrant can actually enter at once.
Issues Closed
#521: Align Time Zone with the Date the Event is being held.
#526: Increase field size on "Number of Guests" field on Summit Events Registration to 3 digits
#531: Relabel or update the Preferred First Name Formatted field.
#536: [BUG] Nav/Date crumb not correct if guest user timezone not GMT
#537: [BUG] When event set to midnight displays as zero
#538: [BUG] Adjust time element of event close method to adjust for timezone
#540: [BUG] - Blank Submit Page w/ only Custom Questions (no Guests)
#542: [BUG] Transaction email invocations limit reached on mass update of registrations
#543: [BUG] SEA Visualforce Pages for Digital Experience
#544: [BUG] - Mobile Calendar not Clickable
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000001ADSaIAO
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000001ADSaIAO
0.32.0.1
Changes
- Added Sample Data generated at the November 2023 Commons Sprint (https://summitevt.org/osc) [PR528]
- Added unpackaged sharing rule for fee allocation [PR528]
- Added task in cci yml to only install for admins when installing via metadeploy [PR529]
- Updated information links for metadeploy for post install info and trailblazer community (not POU anymore) [PR529]
- Added new sample data generated from the work done at the Salesforce.org Commons Sprint in November of 2023 in Chicago [PR535]
- Close time is adjusted for the selected time zone on event instance for accurate, by the hour, closing of the event [PR539]
- Nav/Date crumb that appears at the top of the page is now unaffected by the users timezone and only reflects the time zone selected in the instance [PR539]
- When an event is set for 12-1AM it displays 12 rather than 0 in time formatting. [PR539]
- When a future, or past event, is in daylight savings time the nav/date crumb reflects the future/past state rather than the current daylight savings state (CDT/CST as an example) [PR539]
- Summit Events App (SEA) calendar view now has a link wrapper around the event descriptions needed when view goes into mobile list mode to be clickable. [PR546]
- All Visualforce metadata is set to availableInTouch = true to facilitate embedding of pages in Digital Experience sites. [PR546]
- Triggered transactional emails are now bulkified meaning all triggered emails send at once per batch. This may or may not alleviate the SINGLE_EMAIL_LIMIT_EXCEEDED error when triggering more than one status change on registrations when that status evokes an email. Scratch org testing was inconclusive. [PR546]
- The page progression now detects if there is only the Registration page and the Additional Question Page in play and progress to the confirmation page (eliminating the blank Submit page). The button at the bottom of the Additional Questions page will switch to "Register" rather than "Next" as well. [PR546]
- Preferred First Name Formatted field relabeled to Preferred Full Name Formatted. [PR546]
- Amount of guest that can be submitted is now a 3 digit Integer field to allow for up to 999 guests. There may be a theoretical limit to how many guest a registrant can actually enter at once. [PR546]
Issues Closed
#521: Align Time Zone with the Date the Event is being held. [PR539]
#526: Increase field size on "Number of Guests" field on Summit Events Registration to 3 digits [PR546]
#531: Relabel or update the Preferred First Name Formatted field. [PR546]
#536: [BUG] Nav/Date crumb not correct if guest user timezone not GMT [PR539]
#537: [BUG] When event set to midnight displays as zero [PR539]
#538: [BUG] Adjust time element of event close method to adjust for timezone [PR539]
#540: [BUG] - Blank Submit Page w/ only Custom Questions (no Guests) [PR546]
#542: [BUG] Transaction email invocations limit reached on mass update of registrations [PR546]
#543: [BUG] SEA Visualforce Pages for Digital Experience [PR546]
#544: [BUG] - Mobile Calendar not Clickable [PR546]
Installation Info
Sandbox & Scratch Orgs:
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tHq000001ADSaIAO
Production & Developer Edition Orgs:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tHq000001ADSaIAO