Now that I’m getting up to speed again on the blog, I decided to update the blog’s theme to allow for paged and threaded comments, as supported under WordPress 2.7. After an afternoon of misery and frustration (and has anything in the history of humankind been more frustating than CSS to use?) everything seems to be working okay.
Hey, I’ve even managed to get Gavatars working!
What fun! (Just don’t tell Brandon, or he’ll be wanting them on his blog too!).
Well, that wasn’t too bad. I have made a couple of minor fixes to the AZIndex’s administration interface while should allow you to edit and modify your AZIndex settings as before (prior to installing WordPress 2.7). The changes are backwards compatible with older versions of WordPress (2.5.x and 2.6.x) so even if you haven’t moved up to WordPress 2.7 yet, you can safely install the new version (not that it will do anything for you!).
I will now work through the backlog of comments to see if there is anything else that needs attention. Thanks for your patience — oh, and a belated Happy New Year to everybody.
It’s good to be back…
Whoops, well, I guess when you start something, you really should see it through…
Apologies to those of you who have been looking for feedback and fixes to AZIndex in the last couple of months, I really don’t have much of an excuse save that I got distracted on to a couple of other things (I am writing a book, no less!) and then assiduously avoided the backlog of questions that was building up on the blog.
Anyway, I’m back, and I have had a quick look through the backlog and see that the changes to the Admin User Interface in WordPress 2.7 has done a number on AZIndex (i.e. stopped people from accessing the settings pages). Oops. Please look for a fix and a new version within the next couple of days. It’s been a while since I looked at the code, so I may need a bit of time to get back up to speed (thank goodness for all those comments in the source code, eh?), but I don’t think it will take too long.
Finally, my thanks to those users who have helped others out with answers, solutions, and workarounds. I will post another more detailed thank you notice once I have gone through the comments in detail. You deserve the recognition.
Several users have asked for the ability to remove certain words like “The” and “A”, or even “Le”, “La”, and “Les” from the front of headings in their indexes. While I have already document how you can do that with AZIndex, the solution is not easy for novice WordPress users because it involves adding PHP code to one of your blog’s theme files, and if you accidentally make a mistake when inserting the code, it’s all too easy to crash your entire blog!
So I thought that there has to be a better, safer way to do this… and there is!
Tonight was a certainly a first for me. I was just setting of on my way to Pflugerville to play volleyball when I was cut off by a minivan driver turning right on red (legal in the US, but not when someone—i.e. me—is coming through the junction). I honked my horn, muttered a few choice words, overtook them, and that was that.
A couple of turns later I was catching up with someone in a truck and thought I would be able to overtake before we came to a T-junction where I had to turn right. So I started to overtake, but the guy (I assume it was a guy) in the truck began to speed up too. One of those people, I guess, who doesn’t like to be overtaken. I probably should have backed off at that point, since the turn was coming up, but I judged that I could still overtaken in time, which I did, but I did leave it a bit close and he honked his horn at me as I pulled in front of him. Fair enough. I was in the wrong, and maybe the adrenaline was still pumping a little from the previous incident.
The SQL problems a couple of users were reporting are probably not because of they are using an old version of MySQL after all. As I was wondering if there was an easy way to support users on MySQL 4.0.x, I noticed something I should have seen before — I had hardcoded the database table names I added to the SQL query to obtain the post ids to be excluded from the index. Elementary mistake — my bad.
Hopefully the new version should work for those of you who had problems on v0.6 and v0.6.1. If it doesn’t then please let me know which version of MySQL you are using, because users of MySQL 0.4.x will still have problems with the exclude feature.
Oops. I just installed AZIndex 0.6 on my own blog and then when I tried to publish a new post, got a nasty error message that never appeared in all the testing I did in the past few days.
Fortunately it was obvious what the problem was and I quickly fixed the issue, and hence the new version — 0.6.1. Nothing else has changed from v0.6.
Well, it seems that in the latest version of AZIndex I might have inadvertently used a feature of MySQL that was not introduced until MySQL version 4.1. When you use the new “exclude categories/tags” feature, the AZIndex plugin constructs a gnarley SQL query that includes something called a “subquery”, and subqueries did not exist in MySQL 4.0.x.
I actually did check to make sure that subqueries were supported in MySQL 4.x, but I didn’t realize that WordPress officially supports all the way back to MySQL 4.0.x.
So… if you find that adding an excluded category or tag to your index causes a nasty SQL error, it is very likely that your server is running a version of MySQL 4.0.x. Now, MySQL 4.1 was released in October 2004, which is almost four years ago, so I can’t imagine that there are very many web hosts who still use an even older version. If you are in that unfortunate situation, it is worth checking with your web host to see if they offer the option of upgrading to a newer version of MySQL. Usually the upgrade process is virtually automatic. I know that my cheap shared web host provides that option, and I am sure that others do also.
I would rather not have to rewrite the AZIndex code to avoid using subqueries if possible. The SQL logical is complicated enough without having to deal with even more cases, so I need to know if there are enough users still on MySQL 4.0.x without the option to upgrade to see if it is worth the risk of complexifying (that’s a word, right?) the code logic even more.
Please feel free to chime in.
I am please to announce that AZIndex version 0.6 has been released. Along with a number of bug fixes, I have made three major functional improvements to the plugin with this release:
- Support for excluding posts from an index using tags or categories.
- An option to include all the children of the categories you specify in the settings.
- Support for the WP Super Cache plugin for full HTML caching of index pages.
The rest of this post goes into more details about how to use each of these features.
Since the latest release of AZIndex (0.6) incorporates full support of the widely used WP Super Cache plugin, I thought it would be a good idea to explain how caching works with the AZIndex plugin. For most of you, especially if your WordPress blog doesn’t use a caching plugin like WP Super Cache, it may be too much information, but for those who want to get the best performance out of their blog’s index pages, read on.