This will be the last AZIndex-related post on my personal blog at englishmike.net. Since Christmas, AZIndex has all but taken over this blog, which is fine, but a bit of a bore for those who are not interested in the plugin, or WordPress even. I was also having problems figuring out how to carve out a section of my site so that I could expand the documentation and examples for the plugin, which would involve creating all sorts of dummy posts, cluttering up the place.
I thought about setting up another WordPress blog dedicated to AZIndex, but I already had four other WordPress installations and it’s a pain having to keep them all up-to-date, and I was reluctant to add another to the list. But then I came across the wonderful WP-Hive which allows multiple WordPress blogs to share the same codebase (sort of like WordPress-MU, but much easier to set up).
And so, after a bit of effort writing the content, the AZIndex for WordPress blog was born, on the azindex.englishmike.net subdomain. Everything is now up and running on the new site, so if your only interest is AZIndex (and the technical WordPress stuff), then that is where you will find it from now on. (You are, of course, welcome to continue dropping in on my personal site too, whenever the mood takes you.)
AZIndex v0.8.0 has been released and includes several substantial upgrades, but the one most people are waiting for is the ability to sort posts by tag and category names. Yes, even if a post has gazillions of tags, it will appear a gazillion times in the index, if you select tags as your headings.
[WARNING: I have made a lot of complex changes to the plugin code in this version (remember, the plugin is still under development!) and even though I have done a lot of testing, there may be a few teething problems in the first few days. If you are using AZIndex as a critical part of your blog, please test the new version with your index first to make sure it is all working]
AZIndex is about to become even more useful! In a couple of days I will be releasing AZIndex v0.8.0, which includes several substantial upgrades, but the one most people are waiting for is the ability to sort posts by tag and category names. Yes, even if a post has gazillions of tags, it will appear a gazillion times in the index, if you select tags as your headings.
[WARNING: I have made a lot of changes to the plugin code in this release (remember, the plugin is still under development!) and even though I have done a lot of testing, there may be a few teething problems in the first few days. If you are using AZIndex as a critical part of your blog, please test the new version with your index first to make sure it is all working]
Well, I didn’t see that one coming. A silly bug in WordPress 2.7.1 that hit the streets yesterday broke indexes where you have the “ignore characters” option set, and possibly other things as well, if you were running on a server that still uses PHP4. (By the way, if you did see the problem, it’s worth checking to see if your web host gives you the option to upgrade to PHP5 — mine does.)
Anyway, v0.7.6 provides a workaround to the bug (i.e. never calls the broken function) so everything should be up and running again.
This incident does prove, however, that you should exercise caution whenever you are upgrading your blog to a just released version of WordPress. Unless you desperately need something in the new release, or it patches a severe security hole, then there is no reason why you should upgrade immediately. Avoid the pain! Give the plugin developers (and early adopters) a few days to discover and resolve issues, bugs, and incompatibilities in the latest version before you upgrade yourself.
Well, almost a full day has passed since I put out AZIndex 0.7.5 and no reports of any problems, so far, touch (knock on) wood. I won’t be putting out another version for a week or so, but I thought I would tease you with a bit of information I know that plenty of people have been asking for (though whether they will even see this post is debatable, of course 🙂 ).
Probably the number one feature request for AZIndex has been support for sorting by tags and categories. Well, after months of saying, “Bah Humbug!” and “Not Possible!” to everyone, I decided to take another look. The problem was allowing one post to be listed more than one time (under different tags/categories). My indexing code was not written for that possibility, and I thought it would take a major rewrite to support multiple entries. Well, turns out that is wasn’t as difficult as I thought I would be (though the caching code was still a little hairy to get right), and I now have working examples of indexes sorted by tags and categories.
So, watch this space…
Oh, and talking about “this space,” I am also about to give AZIndex its own web site. The plugin has somewhat taken over my personal blog, and I also wanted a better way to show off what AZIndex can do, as well as provide better documentation and discussion area. I will begin moving things over in a few days and will then make a formal announcement, but the site is already up and running, so there is a prize of one free copy of AZIndex ( 😀 ) to the first person who provides the correct link in the comments.
I have just uploaded AZIndex v0.7.5 to the WordPress Plugin Directory, so it should be available for download shortly. This is mostly a maintenance release, and I have been working out some of the smaller kinks and issues with the plugin. There should be no issues with upgrading from 0.7.4.
Here is a list of the changes:
- Rewritten the upgrade process for when a database table change is required. From now on, the old settings will not be deleted until the plugin has confirmed that the upgrade was successful.
- Started internationalizing the text in the plugin. This is the text like “(more)” and “(continued)” that appear on the index page. I will do the admin pages too once the plugin gets closer to being finished. I will, of course, make the POT file available for people to translate into their languages. Just email me the translated files and I will incorporate them into a later release.
- Added titles to the links in the alphabetical links and page links in the index (text is included in the POT file)
- The headings in the index now link back to the top of the index, not the top of the page. This is more convenient for the user when you have a large heading or a lot of text above the index.
- Added a <div> around the whole index and given it the id of “azindex-<index-id>”. This was to let me point the links back to the top of the index, though it’s also a good idea in the long run too. I haven’t given it a class name yet, see below for the reason why.
- Fixed a couple of spelling mistakes and some validation issues (not all!)
- Fixed the stray </style> end tag (now closes the spans properly)
- Fixed a problem with the admin page’s custom field text box not appearing in some browers when selected.
- Fixed a bug in the sorting of non-alphanumeric characters.
- Fixed the “ignore characters” option which has been almost completely broken since 0.7.0.
- Completely rewrote the alphabetical index code so that it doesn’t stop displaying links when the contents of the index are not in the expected order.
- And last, but not least, tweaked the multi-column code to fix a problem where it would sometimes not work on IE6/IE7.
Phew! That’s more than I thought. No wonder it took me so long!
Finally a couple of words about upcoming releases. First, I have already warned you about a change coming in AZIndex v0.8.0 which will likely break people who are using their own “custom comparison function” (i.e. just a few of you!). I will be adding more filters to the code to give you a greater ability to tweak the sorting of your index, but I want to rename a couple of array key names so that everything is more consistent. If you have written a custom comparison function, the change you will need to make is a very small one — just a quick rename.
The next big change, probably not for a few weeks yet, will be a complete overhaul of the HTML and CSS stylesheet generated by the plugin. When I first introduced the plugin, my HTML and CSS was a bit rusty and the plugin does some things that are not helpful to those who really want to go to town on modifying the appearance of their indexes. But to do this I will have to break just about everyone who is not using the default stylesheet, which is why I am giving everyone lots of warning anout this.
I will, of course, fully document the changes ahead of time, and it probably won’t be very difficult to tweak your customizations to get them working again, but I don’t want anyone to be surprised when it happens!
I will be releasing AZIndex version 0.7.5 within the next couple of days. This is a minor bug-fix release, focusing on a few layout issues and continuing to resolve some of the national language support problems. There is still more work left to be done to get the national language support completely right with AZIndex, so don’t expect all those problems to go away just yet!
Also, after the problems with people losing their settings during a necessary upgrade of the plugin’s database table, I have greatly improved the error checking for the next time that is necessary (usually when new options are added). From now on, if the upgrade process fails because of a database error, no settings will be lost and you will be able to revert back to your previously installed version of the plugin and continued using your indexes as before.
There will be no database table upgrade when moving from v0.7.4 to v0.7.5
Important Advanced Warning for AZIndex 0.8.0
This is advanced notice of a change that will be made to AZIndex 0.8.0 (i.e. not to 0.7.5 nor any other release before 0.8.0).
Note: If you are not using the advanced option to use your own custom comparison function for sorting your indexes, then you can safely ignore this warning.
I will be making a small change to AZIndex that will almost certainly break indexes that use a Custom Comparison Function for sorting an index. For example, if you added a function to sort items numerically (which I know a couple of people have done) or to workaround problems with sorting in other languages, then you will probably have to make a minor change to your custom function.
The change you’ll need to make will be small—simply renaming a index key—but if you install AZIndex 0.8.0 without modifying your custom comparison function, next time your index needs to be sorted, it will cause error messages to appear on your public index pages.
More details of the changes you will need to make will be provided a few days before version 0.8.0 is released.
I have just added a new support feature to the blog — an email subscription list for important announcements about AZIndex.
As I continue to work on AZIndex in the weeks ahead, I will be making a few changes to the code that might break some indexes that use the more advanced features of the plugin–like filters, custom sorts, and customized CSS styling.
While I will attempt to keep these changes to a minimum, they are necessary as part of the continuing development of the plugin, and there is no doubt that a some users (hopefully, only a few) will be affected.
I will, of course, blog about these changes before I make them to give you all fair warning of what to expect, but unless you are subscribed to the English Mike RSS feed, you are likely to miss them. Therefore I have created an AZIndex Announcements Email List for those of you who would like an easy way to be kept informed of important changes and updates to AZIndex as they happen.
If you subscribe to this list, you will receive an email whenever I post an important announcement about AZIndex–i.e. information about a new version of AZIndex, and advanced warnings about impending changes that might break some indexes. You may, of course, unsubscribe from the list at any time by clicking on the unsubscribe link provided in the emails sent to you.
In case you are interested, after trying out several WordPress plugins, I decided that the easiest way to do this was to use the email feature in FeedBurner (now part of the Google empire) which makes use of the RSS feed capabilities of WordPress to send new posts to subscribers. In this case, any post I put in the “AZIndex Announcements” category will be sent as an email to all subscribers. I will probably add another email list for “AZIndex Hints and Tips” at some point soon.
Yesterday, a German AZIndex user asked if it was possible to convert German index headings containing umlauts to their non-accented equivalents when sorting indexes with German names in it. The mappings would be:
Ä => Ae ä => ae
ß => ss
Ö => Oe ö => oe
Ü => Ue ü => ue
Thus Österreich becomes Oesterreich and Müller becomes Mueller. I am told this is a common feature of German telephone directories, for example.
If you are having problems with installing or activating the latest version of AZIndex (0.7.4), and you are an advanced WordPress user, I need your help in trying to track down the problem.
If you see the error message when you go to the AZIndex settings page:
AZINDEX_PLUGIN_ERROR: The required AZIndex database table – wp_az_indexes – does not exist. Please deactivate then re-activate the AZIndex plugin to correct the problem.
and it doesn’t go away when you try reactivating, I would like to know the following information:
- the version of WordPress you are running
- the version of PHP you are running
- the version of MySQL you are running
- run PHPMyAdmin and take a look at your WordPress database tables — is there a table called something like wp_az_indexes in there? (It might have another prefix like wp_xxx_az_indexes).