How to Prepare Your Website for Drupal 8
Drupal 8 may seem a long way off but we are approximately 6 months away from its target release date in fall 2013. Though Drupal 8 won’t be released until all critical issues have reached zero (Are you helping get there?) there are things you can do now with your Drupal site to prepare for Drupal 8’s release.
Audit Your Site
What parts of the site do you use the most? What parts are no longer used? Do you have dead links or bad workflows? Start a living document logging all of these details and continue to update as you think of ideas, problems or workflows you can’t live without. When you are in the process of building a site these tiny details can easily get lost in the shuffle.
Use Version Control
While Drupal is excellent for making quick configuration changes on a site via point and click this can easily break a site as well. In the past Drupal has struggled with moving configurations and GUI changes between different environments. The Configuration Management Initiative (CMI) in Drupal 8 is working to help alleviate these issues. Now is the time to start practicing using version control and Drupal 7 modules such as features or configuration management. Learn to capture updates via code and roll those updates to your production site. By learning and getting into the habit now your Drupal 8 workflow will be all the better and you can always roll back changes when something breaks.
Audit Modules for Support
What modules are being used on your site and which aren’t needed? Audit each module and take a look at that module’s page on Drupal.org to see which are still updated, which have been deprecated, which have lost interest and which have a more preferred way of executing the task. Things to look for is the activity in the issue queue, last commits to the module and module usage. Many modules may not have a Drupal 8 version yet but check to see that the Drupal 7 version is being maintained and active.
Apply Security Updates
Preparing for a new core version of Drupal shouldn’t be the time to start looking at security updates. Core and module security updates should be part of your regular maintenance of a site. Leaving core or contributed modules insecure can leave your site open for attack. If updates haven’t been performed when you do go to upgrade Drupal you’ll need to be on the latest current version and perform the updates at that point. Essentially this means you’ll first need to upgrade Drupal 7 to the most recent version before upgrading to 8 so why not do it regularly and reap the benefits and security. If time is of the issue many companies such as Mediacurrent provide Drupal website support agreements for exactly this issue.
Check Best Practices
Is the custom code in your site adhering to best practices and coding standards? Are calls to fields wrapped with a field_get_items or entity_metadata_wrapper to avoid “und” in your code? Ensure you are adhering to coding standards and API functions. By using standard API functions any changes to upgrade these to D8 will be documented and the upgrade becomes that much easier. As Drupal 8’s release gets nearer third party websites may appear to test your modules and help guide you through the upgrade process.
Besides code, check your site for best practices in configuration. Are you still using nodes for data that isn’t content? Think about switching these to entities or a contributed module solution such as Beans in the future. In Drupal 6, for instance, many sites used an image content type to create images with metadata associated with them. A node reference field would be used to pull this into an article. For Drupal 7 and 8 a simpler way to do this would be to add the metadata fields to the file entity. These issues are especially prevalent for sites that have been around since Drupal 5 or 6 and upgraded into 7.
Whether you are planning to upgrade to Drupal 8 as soon as its released or months down the road after release, following these five steps will not only make the upgrade process easier but day to day maintenance and usability of your site that much easier. If you’d like to get specific and talk about your Drupal support needs, feel free contact us.