Update CMS code with eXtplorer

Overview

Sample scenario

  • The application you rolled-out announced a code-update.
  • There's a minor release available for your application.
  • You are feeling the need to apply the updated source-code.
  • The only way you can update your application is by downloading the new version and manually uploading to your environment.

Below are example of platforms that has its own branches and source-code release.

Using Drush to update Open Atrium source-code may break your site.

Example: Open Atrium

Example: Managing News


Managing News has custom modules that are uniquely available inside its releases.
Pressflow has its own version-control repository and update-cycle. Example: Pressflow


Technique

The concept is simple: replace old files by extracting an archive to the directory structure.
Challenges
  • Backup the right files & folders
  • Properly overwrite the right files & folders
Why eXtplorer?

eXtplorer is a web-based file-management tool which offer advanced remote-server tools accessible through your browser. With its rich user-interface and intuitive layout, beginners may find it easier to familiarize with.

It is not an all-time replacement for command-line, but it does help in getting the job done.

Step-by-step Guide

Before proceeding, install & configure eXtplorer on your site.
Make sure you have enough disk-space.
Make sure you have undisturbed internet connection.


Step 1: Backup files

GOAL: Backup files by creating an archive of the current files and folder.

Step 2: Upload new software

GOAL: Obtain a copy of your platform's source-update.

Visit the download page, and copy the file's download link.




GOAL: Upload the updated source-code to your site.

Transfer from Another Server

In eXtplorer, select a folder you wish to upload to. Click the [Upload] button.



Click [Transfer from another Server] tab to paste the URL.



Click [Save] and wait for the file to be transferred successfullly.



Step 3: Prepare the update

This step involves generating an archive that will store updated source-code.


GOAL: Extract the downloaded software.
With the new software-release file saved on your remote directory, unpack the archive. Wait for the extraction to finish.
HINT: You may click the [Reload] button to refresh the file-listing.



GOAL: Zip the extracted (new) source-code. Include items that are intended to replace old files.
Navigate to folder of the extracted source-code.


Select the files & folders that you need to replace old files with and zip them.

Name the archive with whatever makes sense to you (for example: managingnews1.2-update.zip)

HINT: If you DO NOT want specific files or folders to be replaced (ex. /sites in Drupal) then don't include it in the archive. You are going to use this archive to update old source-files by extraction-replacement.


Step 4: Replace old files

GOAL: Extract the zip file to overwrite old files.


For this step, you have two options:
  1. Don't delete anything (if you're feeling lazy). Let the extraction process replace the old files.
  2. Delete the old files.
Drag the zipped updates to the root folder of your CMS's directory structure.
It will ask you to copy or move the zip file (your choice).
With the zip file in place, extract it.



Upon extraction, it will replace older files & folders with the new ones.



NOTE: Older items that have no matching file-names are retained. This may cause problems in some situations.



NOTE: Files/Folders without owner write permission are protected (not replaced).
Reload the file-listing in the Browsing Directory and notice the [Modified] date information.



Recent dates indicate that newer files are present.



NOTE: Success! You may now move or delete the archive file or other temporary files created.



That's pretty much it. Of course you'll need to visit your site's administration page to check if files were really updated. You may also need to run database updates depending on the update-instructions of the release.

Do you find this useful?

Let us know what you think! Send your feedback through our contact page.