Customers continue to be the most important assets for any organization and to ensure long-term relationship with your customers, it’s important to cater to their needs in the best possible way.
One of the most effective ways of doing so, is to constantly upgrade your products and services, in a way that fulfils the evolving requirement of your customers. In other words, create new version of your products through new releases and upgrades.
If you are leveraging the Salesforce platform, you will have to keep pace with all the upgrades that it keeps releasing time and again.
What is Salesforce Upgrade?
Salesforce releases new upgrade from time to time and to improve the performance, logic, and usability of your software, it is essential to upgrade it to the new version. Besides releasing regular upgrades that could be used to improve a products functionality and performance, Salesforce has illustrated seamless upgrades that are critical to customer success.
Salesforce takes up to five minutes for upgrades and users will not see any difference when using the new Salesforce release. Changes with the new release will not activate by default and only salesforce admin can activate the new features using the Setup menu.
What is the Impact on Interface?
During the upgrade, our customizations are preserved, and Salesforce gives the same effects having the same consequences.
During the upgrade, the Session Id is inactivated, and if any interface is running at that time, we’ll get ‘INVALID_SESSION_ID’ error.
We cannot run our batches during the upgrade period, as the upgrade window can break our batch, we’ll have both valid and invalid data in our org.
To manage this, what we need to do is:
Monitor the validation/deployment results and check the post-deployment steps. If we need to run a batch after deployment checks the execution result of the batch. If it failed, we have to run it again. This has an impact on our scheduling (stop cascade batches and implement a retry every 30 minutes for example)
We need to plan our batches after or before the upgrade period.
We need to implement to run the same batch once again to continue the process without altering the data already processed.
For a batch update to keep data consistency, we need to use transactions. It is native for batch Apex, but when using the API (custom development, ETL connector (i.e. TALEND, dataloader, etc.), we are not able to keep data integrity. The only way to keep it is by creating Apex Webservices that will be accessed by our batch.
Is there any impact on Connected Users?
During upgrade all the users need to invalidate their Session Idso that they are unable to connect the Salesforce until the upgrade process has finished. Users receive an error message letting them know that the service is unavailable during the upgrade and are prompted to log in again when the upgrade is complete.
To manage this, we need to do:
Share an upgrade timeline plan with all users so they know when you will upgrade, and how often
Inform the user when they can log in into the system
Share the new document, if any, if there is a change in the Salesforce UI/UX
Best Practices to be followed
If the Salesforce upgrade is not planned, there might be cases where end-users may not be able to access Salesforce after the completion of the update.
In order to avoid unexpected service disruptions, we may need to take the following actions:
1) Enable “My Domain”
NOTE: “My Domain” is required for customers who have requested the org migration.
2) Update the hard-coded references if any,
for e.g. test-abc.salesforce.com and make sure to update them to the right URLs (for example, <yourdomain>.salesforce.com, abc.salesforce.com) prior to the org migration. Also, if there is any hardcoded Id in the code, make sure to update them dynamically.
3) If the Salesforce org has set up corporate network settings or any email security filters to restrict the access to only certain IP ranges, make sure to update the lists to include the newest ranges. You can whitelist the IP ranges in the Network Setting of Salesforce.
4) If there is an issue in integration following the maintenance, prepare to refresh integrations.
Why to Upgrade and what are the benefits?
Salesforce has the capability to work with earlier released features even if those features are supplanted by new functionality.
Salesforce keeps all customers on a single version—i.e. the most recent version—of the product. Therefore, Salesforce provides the same experience, coolest Feature, advancement on compatibility and the latest bug fixes.
Conclusion
It is very much required to upgrade the Salesforce version to the latest release as it can eliminate the technical risks involved during the implementation. We understand that there could be a service disruption for couple of minutes but it is must have for your organisation since it could also increase your productivity.
As we know that Change is the only Constant, hence we all must go with the flow and suggest the users/clients to upgrade to the newest version as soon as it is live.
About Girikon:
Girikon is a Salesforce Consulting Partner, committed to deliver excellence by providing customers with wide array of quality services including Salesforce implementation, Salesforce consulting and Salesforce support.