When you create a new website based on Drupal and wait a few weeks you will find that your #1 enemy of maintenance is the process of updating modules. The Drupal backend (given that your Update Status module is enabled) does a great job of notifiying you of new updates of your system but functions very poorly to help you implementing those.
A very nice helper for this is Drush a command line interface tool for getting basic management work done without the long road of disabling, checking, downloading, uploading, extracting, enabling each outdated module manually one by one on the web interface. As it’s not actually a part of drupal but a separate php script the installation involved some extra steps (1. put the script on an extra folder on your webspace 2. add the path to your .bashrc 3. setting the “drush” file as executable).
Here’s how some basic workflows look like:
Updating modules
1. Listing the current version status of all installed modules and check if new updates are available
drush pm-update
… without further specification this command also will ask you if you actually want to batch update to all new version. I recommend a “no” as this will bring you the complete loose of control in case a module or theme fails to update.
2. Check the actual drupal name of some module you want to update
drush pm-list
… see all installed modules with their unique name in brackets
3. Check the detailed version status of the module you want to update
drush pm-releases modulename
4. Update a specific module
drush pm-update modulename
That’s it. If you already feel comfortable with your module setup, you might only use this last step. Steps 1-3 provide you with information that you might find handy in case the update fails and a version rollback is needed.
Installing a new module
1. Get the unique drupal name. Go to drupal.org, hover over the download link and extract the module name, e.g. views_datasource
2. Download module
drush pm-download views_datasource
3. Enable module
drush pm-enable view_datasource
Uninstalling modules
1. check the list of installed modules
drush pm-list
2. If the module is still enabled, disable it, e.g.
drush pm-disable views_rss
3. Remove the module file + database entries
drush pm-uninstall views_rss
After getting used to those commands you will never want to go back to the Modules overview page in your backend, I promise. :)