- 28 Feb 2024
- 2 Minutes to read
- Updated on 28 Feb 2024
- 2 Minutes to read
What is Caching?
Caching is a technique that stores a copy of a given resource and serves it back when requested. When a web cache has a requested resource in its store, it intercepts the request and returns its copy instead of re-downloading from the originating server. This achieves several goals: it eases the load of the server that doesn’t need to serve all clients itself, and it improves performance by being closer to the client, i.e., it takes less time to transmit the resource back.
For a website, it is a major component in achieving high performance. On the other side, it has to be configured properly as not all resources stay identical forever: it is important to cache a resource only until it changes, not longer.
How does Blackthorn Events Handle Caching?
Blackthorn uses several caching mechanisms to deliver the best performance we can at this time. As we grow, we will identify better scenarios to serve a larger customer basis.
The Events app supports a maximum of 1000 Event Groups with 1000 published Events per Group. Event Groups with more than 1000 published Events will cause an Error 2006 on the Event Group.
Manage Caching Requests
To prevent multiple cache requests from being sent in a short amount of time after an Event has been modified, the Blackthorn | Events Cache Refresh (NotifyPlatformToRefreshCacheBatch) apex batch job was created.
To enable the new cache batch updates, perform the following steps.
- Go to the Blackthorn | Events Admin page.
- Click the Scheduled Jobs tab.
- Click the Schedule Event Cache Refresh Job button.
- Enter the frequency for the job to occur. The default frequency is 15 minutes.
To disable the job, go to the Scheduled Jobs tab on the Blackthorn | Events Admin page.
Alternatively, you can use the Blackthorn | Events Settings’ Disable Notify Platform custom setting to disable the caching triggers.
When Disable Notify Platform is checked, the Events platform won't be notified when an Event or related record is changed because the Blackthorn | Events Cache Refresh (NotifyPlatformToRefreshCacheBatch) job will disable the triggers, not the batch job. (The job will still appear with the Apex Jobs.)
Complete the following steps to enable the Disable Notify Platform custom setting.
- Navigate to Setup.
- In the Quick Find box, enter and click “Custom Settings”.
- Click Manage next to Blackthorn | Events Settings.
- Click Edit.
- Set Disable Notify Platform = "True" (checked).
- Click Save.
Create an Event
The cache will be refreshed instantly. This means if an event is published or not, it will reflect accordingly on the front end.
Update an Event
Updates to the following objects will trigger a refresh. Please keep in mind updating certain fields will not trigger a refresh. If a refresh is not triggered, click the Update button on the Publish component on the Event page.
Updating the following objects will trigger a refresh:
- Session Attendee
- Event Content
- Custom Tab
- Event FAQ
- Event Keyword
- Form Big List Group
- Data Dictionary
Change the Event’s Status
If an Event is Published AND the Status = "Active" or "Draft", the Event is visible and cached.
If an Event is Published AND the Status is changed to "Completed" or "Canceled", the Event will be removed from the cache after the invalidation webhook runs successfully or someone does a hard refresh on the Event or Event Group page. The Event will no longer be visible.