Apply Webspark release

This provides step-by-step directions for applying a new release of Webspark.

Prerequisites

You must be a team member for this site on Pantheon. The site "owner" can make you a team member. These steps are conducted on Pantheon.

If a Webspark release will require use of Composer (uncommon, will be specified in the release notes), the same required applications apply to these instructions as for adding or deleting a custom Drupal module.

Caution

Do not apply any updates unless you have received official notice that a new release is available. See discussion on the right. 

Overview

The following diagram, by Michael Samuelson of ASU's Enterprise Technology (ET), shows an overview of the steps required.

1. Export-Import Config Database to code. 2. Clone Database and Files from Live to Test. 3. Deploy code from Dev to Test. 4. Sync Config /Code to Test Database. 5. Deploy Code from Test to Live. 6. Sync Config/Code to Live Database

Review the notes that were provided with the new release.

Make any manual changes to the site that the release notes mention.

If the update includes a change to the root composer.json file, there are extra steps necessary, as the site's copy of the root composer.json file must align with the upstream copy for the update to work. This would be a  rare situation, and would be noted in the release notes, along with instructions on how to proceed with the update.

The steps below are what the release notes would most likely specify if it is necessary to align the site's copy of the composer.json file with the upstream (Webspark update) copy.

  1. Make a note of all the custom modules that are included in the site, i.e., the modules that are not part of the Webspark installation.
  2. Follow the steps described under "Add-Delete Drupal module" through "Prepare local repository". If composer asks whether you want to include plugins during the install, say yes. After the local installation is complete, your local copy of the composer.json file matches the upstream copy. 
  3. Delete the local copy of the composer.lock file from your computer.
  4. Open a Git command window, if one isn't already open.
  5. Type "git add composer.json". 
  6. Type "git rm composer.lock" The latter notes that you are removing (rm) the composer.lock file. You do this so that after you push your new composer.json file, Pantheon will generate the new composer.lock file on the dev site.
  7.  Type "git commit -m "Updates to composer.json file".
  8. Type "git push origin master" to send the changes to the dev site.
  9. On the Dev site dashboard in Pantheon, clear caches (button near the top right).
  10. Again on the Dev site dashboard in Pantheon, click the "check for updates link". You should see the Webspark update waiting. Go ahead and install it following the steps below.
  11. After the installation is complete, you will need to reinstall the custom modules that you made a note of in step 1. First delete the local copy of the site from your computer, then follow the directions for "Add-Delete Drupal module" from the beginning, i.e., from "Prepare the site".
  12. If your site was put into maintenance mode during this process, go to Admin-Confi-Development-Maintenance to put it back online. 

If you wish, you can put the live site into maintenance mode, which means it will be offline during this process. People trying to access the site will receive a message that the site is under maintenance and not available. In general, this is not really necessary and can be tricky for you if you forget and log out yourself.

  • Make sure you have login credentials that are not your ASURITE credentials and that have administrative privileges. If you don't have these for the site, set them up in the Administrative - People menu. You won't be able to log into the site with your ASURITE credentials once it is in maintenance mode.
  • In the administration menu go to configuration - development - maintenance mode and click on the box "Put site into maintenance mode", then click on "Save configuration".
  • It is easiest if you maintain a window where you are logged in to the live site so that you can easily take the site out of maintenance mode when finished applying the release.

Alternatively, you can just tell people who might be updating the site to log out and not make any updates until you notify them that your work is done. This allows people to still access the site, but prevents problems that can occur when conflicting updates are being processed.

This means you too! Don't make any other updates while you are processing the site changes.

  1. Make sure all of the application containers are active by loading the home page of the Development, Test, and Live sites. To go to the Development and Test sites, first log in to Pantheon, then choose the environment, then visit. See Idle Containers on Pantheon for more information.
  2. Clone the Live site to Dev. On the Pantheon dashboard for the site, select the Dev tab, then choose Database / Files from the menu on the left.  Choose the Live environment, and make sure all 4 boxes are checked: Clone Database, Clone Files, Run update.php, Clear Caches. Wait for the workflows to complete.
  3. Back up the Dev site. On the Pantheon dashboard for the site, select the Dev tab, then chose Backups from the list on the left, click on the yellow button "Create New Backup".
  4. Back up the Live site if changes may have been made since last night's backup. On the Pantheon dashboard for the site, select the Live tab, then chose Backups from the list on the left, click on the yellow button "Create New Backup".

     

If this Webspark update includes an update of the Drupal version, it may be that the installed custom modules are not compatible with this newer Drupal release. You should check the current versions of the custom modules on the Drupal website. 

  • You can find the module's documentation by navigating to drupal.org/project/module_name, where "module_name" is the name of the custom module with underscore in place of any spaces, e.g. "file_delete"..
  • At the bottom of the page for the module is information about the current release of that module and which version of Drupal it works with. At the very bottom of the module's page is a link "View all releases". If you click on this, you will get a list of prior releases. Click on "Read more" for any one of them to see when it was released and what versions of Drupal it works with.

If the currently-installed version is compatible with the Drupal version that will be running after the Webspark update is applied but there is a later version, you may want to update to the later version -- at least to the most recent compatible version. Sometimes this is important for security reasons or for feature enhancements. Do not update any of the modules that are part of Webspark. Update only the custom modules that are not included in Webspark.

If there are desirable or required updates, use the Add-Delete Drupal Module process to perform the update. You can either push the updates through to the live environment, or just to the Development environment. In the latter case they will be processed along with the Webspark update. 

  1. On the Pantheon dashboard, the Dev tab, Code page, make sure the site is in Git mode. The new release should be waiting there. Pull down the Update Options box and check the box next to "Auto-resolve conflicts". Click on Apply Updates. 

     

  2. Review the site pages to make sure everything looks as it should. If you see problems, you may need to submit a ticket to Enterprise Technology -- in which case stop here and wait to hear from them. Alternatively, you may be able to restore the Dev site from your backup and try again.
  3. Return to Pantheon, the Development site, Code tab. Refresh the browser. If the changes just made are waiting, enter a name such as "Webspark 2 v2.3" and commit. When the process finishes, refresh the browser again.There should not be anything waiting to commit.

     

  1. Go to the Pantheon dashboard for the site, and chose the Test tab.
  2. On the left, click on Deploys. You should see your changes waiting -- a commit for the changes you made and another one for the new release. Enter a Deploy Log Message such as "Webspark 2.5.0". Make sure all three boxes (Run update.php, clear caches, Pull files and database from live) are checked, and then click on Deploy Code from Development to Test Environment. Wait for the process to finish.This is shown as steps 2 and 3 on the overview diagram.
  3. Again, make sure everything looks okay on the test site web pages. Stop here if you see problems. Review your steps. 

  1. Go to the Pantheon dashboard for the site, and chose the Live tab.
  2. On the left, click on Deploys. You should see your changes waiting. Enter a Deploy Log Message such as "Webspark 2.5.0" and click on Deploy Code from Test to Live Environment. Wait for the process to complete. This is shown as steps 5 and 6 on the overview diagram. it applies the changes to the Live code.

     

  3. Again, make sure everything looks okay on the live site web pages. There should not be any issues if you have checked the Dev and Test sites before proceeding, and stopped if there are problems. If, however, you see problems on your live site, you can restore from the backup you created before beginning this process. 
  4. If you put the live site into maintenance mode before beginning, return it now to "live" mode.
    1. If you forgot and logged out of the site after putting it into maintenance mode, go to [sitename].asu.edu/user/login and log in with your non-ASURITE credentials.
    2. In the administration menu, go to Configuration - Development - Maintenance mode, uncheck the "put site into maintenance mode" box, and click on "Save configuration".

About Webspark releases

ASU issues new releases of Webspark about once each calendar quarter, or more often when needed. The new releases include Drupal core and module updates, bug fixes, and additional functionality.

Administrators of ASURA's websites should be on the ASU web community email distribution list. The form to request being added is on the ASU Enterprise Brand and Marketing Guide Web community page. 

Administrators should also be subscribed to the ASU Web Community channel of Slack at ASU. This may require requesting a guest account, since retirees do not automatically have access to ASU Slack. Most typically, new Webspark releases are discussed at the monthly ASU Web community meeting and are officially announced on the Slack channel. Even if updates appear to be ready to install on Pantheon, they should not be installed until the official notice appears on the Slack channel.

Getting help with Webspark

If there are problems that you cannot resolve while updating a site, you will need to get help from ASU Enterprise Technology (ET).

To report a problem and to get help, use the Web Service Center (with ET). There is a Webspark 2 (Drupal 9) choice that is what you would normally use.


Updated 23 Oct 2024 by Connie McNeill