It's almost time for the next release

It's just about that time again: the next release is just about ready. In fact, for anyone who's feeling adventurous, here's a beta release of LnBlog 0.4.1. At least, I think it will be version 0.4.1 - I'm a little torn as to whether to use a higher version number.

You see, aside from a few bug fixes and a couple of small feature additions, there isn't much new in this release. That is, there isn't much new for people who don't program and only speak English. The main focus was adding internationalization support.

The next release includes several fixes for character encoding issues and will be fully translatable. I've added support for PHP's GNU gettext extension as well as an ad hoc translation facility. The idea is that since gettext isn't a standard module, you can also have translations in simple PHP files that don't depend on it. I even added a fix for the character encoding conflict with generated text from strftime(). Sadly, that fix depends on the iconv extension to work properly, but it's better than nothing.

My other focus was documentation. Not end-user documentation, although there's still plenty of that to write, but developer documentation. I used Natural Docs to auto-generate technical documentation from comments in the code. Yes, I know auto-generated docs have a nasty tendency to not be very good, but it's better than hand-written docs that easily get out of sync with the code. Besides, Natural Docs has a really nice syntax which looks a lot like how I would document the code anyway. You can see the results of my furious code commenting in the full LnBlog technical documentation that I've uploaded. It contains documentation on the basic function of all pages, full documentation on configuration constants, and documentation on the methods and properties of the back-end classes. With this, it might actually be possible for people other than me to write plugins that do something interesting.

Lastly, I should probably mention the couple of new features. First, I added a calendar plugin for the sidebar. It still needs some polish before the final release, but I though some people might like it better than the old archive list.

Second, I've added a simplified mechanism for overriding configuration constants. In the previous version, you had to add PHP code to userdata/userconfig.php. Now, you can do it in userdata/userconfig.cfg, which is a plain text file. It uses a simple name=value format. So now, instead of doing something like
define("DEFAULT_CHARSET", "utf-8");
in userconfig.php, you can just do
DEFAULT_CHARSET=utf-8
in userconfig.cfg. Yeah, it's not a big difference, but it's less prone to syntax errors for people who aren't programmers.

Anyway, I still want to do some testing and polishing before the official release. If all goes well, I might make it before Thanksgiving (that's the 24th for those not in the US). If not, then it will probably be another week or so. At any rate, I'm aiming to be done with it by the end of the month.

You can reply to this entry by leaving a comment below. This entry accepts Pingbacks from other blogs.

Add your comments #

A comment body is required. No HTML code allowed. URLs starting with http:// or ftp:// will be automatically converted to hyperlinks.