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.
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.