Skip Navigation
Expand
Preserving rollback functionality when making major changes to Customer Portal
Answer ID 12879   |   Last Review Date 08/06/2024

How can we ensure that we can use the rollback button in Customer Portal Administration to roll back major changes?

Environment:
  • Customer Portal (CP) 3.x, all versions
  • Custom code
  • CP administration page
Issue:
 
New custom code put into Customer Portal caused an outage. Built-in rollback functionality could not restore the Customer Portal to its known working state.
 
Cause:
 
Bad code changes were staged and promoted to production during off-peak hours (overnight). Then, a small additional change was also staged and promoted. The problem had not been caught in testing, because it was load-based.
 
The rollback functionality in the CP administration area only rolls back to the prior production version, in this case the version before the minor change but after the major changes. So it could not be used to roll back to the known working code base.
 
Resolution:
 
Consider the following best practices.
  • Test your CP customizations in development, staging, and production modes.
  • Promote changes during off-peak hours.
  • Wait until you are sure that the changes work properly before promoting a second time.
  • If you need to make another change before you can be sure everything is working (for example, you find a small bug and need to fix it):
    • Stage the additional changes from development to staging and test them.
    • Roll back production so that it is on the known working version of customizations.
    • Promote the new changes from staging to production. Now if you need to roll back again, you will once more roll back to the known working implementation.
Notes:
 
If you have promoted twice and need to restore the prior version, you will need to upload the old version of all modified files to development and manually stage and promote them. Preserving the rollback functionality will make it easier and faster to restore your end-user pages to a working state if you accidentally bring your site down.