When things go wrong. Five Minutes of Terror.
So I had about 5 minutes of pure terror this morning.
I’ve been seeking to add plugins to the WordPress framework upon which this site has been built. The plugins are intended to make better interaction with social media.
As is often the case with software development, generally, the routines that programmers put together do what they are intended to do internally. Most problems occur when bits of code written by one individual have to play nice with bits of code written by others. That is what happened today.
I added a plugin and immediately got an error. Nervously, I proceeded to try and deactivate the plugin but found that the plugin had created an internal error. It wasn’t possible to deactivate the plugin. In fact, I couldn’t do anything. I was effectively locked out of my own website.
I’ve found that when you get hit in the gut, it’s important to take a moment, collect your thoughts, and think slow. Work the problem. I went to another computer to ensure it wasn’t something at my end. Sure enough the problem was server side. I then made a cup of coffee. I thought about what I should do. Let’s consider the wisdom of others. Google is your friend in such times. After a minute I learned that perhaps a solution would simply to go into the file structure for the site and change the name of the folder for the offending plugin. That way wordpress couldn’t find it and would hopefully as normal.
One of the virtues of the wordpress platform is it’s modular design. Plugins are self-contained in most cases so changes such as these are of lower risk. I made the change and low and behold… I am now typing this blog post on the site with fully restored access.
Whew!
Lessons Learned
There are several good lessons here.
- We remember the importance of good design and the separation of concerns. The more cross connected your structures area, whether that be in design or other organizational systems, the more difficult problem solving is.
- We further are reminded that it is at the point of connection when systems are usually most vulnerable. That is true for business units just as it is for coding.
- When problems emerge, it is important to stay clear headed and maybe to take a step away for a moment to ready yourself for problem solving.
Work the problem by diagnosing and isolating the issue through testing. It does no good to randomly try “something” and hope things work out. - Finally, try and tap into that vast reservoir of knowledge, wisdom, and experience that exists in the large community. Know that most people will try to help you if you simply ask.