Posted on by

Debugging in Participants Database

Participants Database is a complex plugin to begin with, adding one or more add-ons advances the complexity even more, so the potential for functionality problems and even bugs is pretty high. This is especially true if you are trying to achieve specific functionality that is outside of the base functionality provided by the plugin, such as with the use of custom templates, or implementing filter and action handlers with your own custom code.

While most of the problems that we need to help administrators with are due to unfamiliarity with the plugin and/or issues with configuration, bugs do come up from time to time. Often the bugs are in custom templates or custom code, but of course our plugins can have bugs too!

Technical support requests are sometimes how we learn about bugs in our code, and following the advice in this post can help figure out if the problem is a bug in our code or a problem on your end. Finding out about bugs is always a good thing, so we appreciate your help in making our code better!

General Troubleshooting Advice

We provide a lot of technical support here, and we’ve seen patterns in how problems come up. With this experience, we’ve developed some simple guidance you can use to help you understand what’s going on and get things working the way you want.

  1. Understand how the plugin is designed to work first. It’s always best to start with a default configuration of the plugin to get a feel for how it works. Once you’ve got that working, you will have a much better idea how to get something special out of the plugin.
  2. Read the documentation carefully. We’ve tried to accurately document how the plugin can be configured. There are a lot of details, and with an unfamiliar plugin understanding how to configure it can take some effort. Most of the problems we help people with are due to them not understanding how the plugin is supposed to work and how to configure it to do what they want.
  3. Set up one thing at a time. If you’ve got several different things you want the plugin to do, set them up one at a time. Take the time to get each thing working before going on to the next. This will help prevent problems getting so complicated you don’t know where to start solving them. If you need support, it’s very helpful to ask for support for a single issue and focus on that issue until it is solved. Trying to solve several problems at once is a recipe for confusion and failure to find solutions.

Using the Debugging Log

A good way to find out what’s going on when you have a technical issue with your setup is to enable plugin debugging. The plugin is set up to log significant pieces of information that can help diagnose issues.

The logging is enabled on the Participants Database settings page under the “Advanced” tab. You can set the level of reporting, which determines how much information is written to the log. Once that is enabled, you will have access to the debugging log, which is a lot like the system php error log.

The debugging log is reached via the Participants Database admin menu. The best way to use the debugging log is to follow these steps:

  • Focus on one specific action that you can take that shows the problem
  • Clear the debugging log
  • Perform the action that produces the problem
  • Check the log immediately afterwards

By following the procedure outlined above, you will be giving yourself the best chance of seeing the problem because you won’t be looking at lots of irrelevant entries. Also, if you do need to ask for help, providing a snapshot from the log that focuses on the problem will make it easier for someone to spot the issue.

Solving Problems with the Debugging Log

Unless you are an experienced coder, it is going to be difficult to interpret the log entries. The best advice I can give on solving problems is to proceed methodically using these guidelines:

  1. Solve one problem at a time. By focusing on a single problem, you increase the chances you can understand what’s going on and how it can be fixed.
  2. Solve first problems first. Technical issues can cascade, making the problems look more complicated than they really are. Try to solve the first problem that comes up before looking at any other problems. Solving the first problem will often solve several others because the first problem is causing other problems.
  3. Use the log in sequence. The log can tell you the order in which things have gone wrong. Use the log to tell you which issues to address first.

You’ll notice that each of these restates the same advice in 3 different ways…that’s how critical this is! Break your problems down into smaller chunks and you’ll have a much better chance of figuring them out.

Asking for Help

We’re happy to provide support for issues with code that we have provided. Please understand that problems with custom code often cannot be solved with the free support we provide. We’ll help you use code provided by tutorials and gists, but if you don’t have the coding skills to build the functionality you want, we’ll probably advise you to find someone with the necessary skills to help you with your site. Sites with custom functionality require technical skills and if you don’t have those skills, you’re going to need someone to help you make all those things work…probably on an ongoing basis.

The guidance given here is designed to help you solve problems on your own, and also prepare you for getting help. When you come to us with a problem, try to ask for help with a single issue so that the conversation can focus on that one issue and is much less likely to be confusing.

Getting Technical Support

There are several ways we provide technical support.

Public Forum for Participants Database

For problems with the free Participants Database plugin it is best to use the wordpress.org public forum for Participants Database. Ask a question about a single problem and state the problem in the title of the thread. If you do have multiple issues, please ask for help with each one in a separate thread. This helps keep the forum useful for other users, and helps us avoid answering the same question multiple times.

Please don’t ask for help with add-ons you got on this site in the WordPress public forums. WordPress.org doesn’t allow it, and it can be confusing to other users.

Product Support for xnau Add-ons

For support for our Participants Database add-ons, please use the support forum for the specific product. This is helpful for other users, and helps us solve your problems by focusing on a single plugin.

Email

If the problem is specific to your setup and won’t be helpful to others, or if you need to include details you don’t want public, please contact us via email at support@xnau.com.

Coding Skills

The problems people often come to us with have to do with the use of custom templates or custom code. Usually this code is provided by one of our tutorials or code snippets (gists). These will always be example code, in other words, the code will need to be altered to fit your specific needs, which requires some coding skills. We most often hear from the people who have limited coding ability because experienced coders can figure this stuff out for themselves.

It is difficult to support requests that involve custom code from people who don’t really understand coding because there are so many really basic mistakes that can be made due to inexperience. If you need to use custom code but it is beyond your abilities, please take the time to use it as an opportunity to improve your coding skills. There is a lot of help out there for learning code, please make use of that so that our support can focus on plugin issues, not basic coding issues.

Leave a Reply

Your email address will not be published. Required fields are marked *

Would you like to be notified of followup comments via e-mail? You can also subscribe without commenting.

Leave a Reply

Your email address will not be published. Required fields are marked *

Would you like to be notified of followup comments via e-mail? You can also subscribe without commenting.