November 30, 2016
In episode 133 we talk about something that everyone does when building and supporting websites, debugging.
Listen:
direct LinkTopics
- Can you determine where the issue originates from? Is it front end, backup, css, or a module.
- RIR Strategy - Reproduce, Isolate and Resolve.
- Reproduce
- Gather pertinent information to help resolve a bug quicker
- Train your customer and provide a bug report form to help them provide you the best information.
- When trying to reproduce an issue, make sure your development/QA enviroments mirror the production environment. For example, do you PHP version match? Listen to show #127 Local Development with Vagrant.
- If an issue cannot be reproduced in a development environment, look at the server configuration and data.
- Isolating
- When the issue can be reproduced, isolating it is the next step.
- Tools and techniques you can use to help
- Drupal and server logs - check your log files first.
- Turn on error reporting for PHP to display errors
- Inspector - use the Console and Networking sections in the inspector. This will help identify front end issues. I common issue is javascript not loading from third parties.
- What are the last things that changed? Looking back at the most recent code or configuration changes will uncover the source of a bug.
- Peer Programming - work with someone else to resolve a problem. Often, just explaining it will help resolve it.
- Walk Away - Taking a short break from a difficult bug will you have fresh perspective.
- Note Pad - Take notes during the research will help you organize your isolation process.
- Resolve
- Fix it.
- Think about how you can prevent this in the future.
- Document it.
Module of the Week
This module provides a framework for easily creating searches on any entity known to Drupal, using any kind of search engine. For site administrators, it is a great alternative to other search solutions, since it already incorporates faceting support and the ability to use theViews module for displaying search results, filters, etc. Also, with the Apache Solr integration, a high-performance search engine is available for this module.
Developers, on the other hand, will be impressed by the large flexibility and numerous ways of extension the module provides. Hence, the growing number of additional contrib modules, providing additional functionality or helping users customize some aspects of the search process