LnBlog 0.6.0 - No Need for passwd.php

LnBlog 0.6.0, "No Need for passwd.php," is now available. You can just grab the archive here or get it from the download page along with checksums and signature. The current documentation is available online or for download. The upgrade procedure is simply the usual process of uploading the new version and copying your existing userdata directory into it.

This release includes a number of new features as well as some file format changes. I'll start with the new features, since they're the point of interest for most people. For the full list of changes, please consult the change log.

The most obvious change is the addition of a native search plugin in the sidebar. The old search plugin (which is still included, but disabled by default) just ran your query through Google, which obviously didn't work if your site hadn't been indexed by Google. The new search utility will simply scan all blog entries for the strings in the search box. You can simply separate all your search terms by spaces and it will return a list of all entries that contain all the terms. Alternatively, you can search using a regular expression by enclosing the expression in slashes (e.g. /micro.*/ would find references to Microsoft.). Note that all searches are case-insensitive.

The next big user-visible change is that the JavaScript post editor has been reworked. First, the controls are smaller and look nicer, plus you can click the (+) and (-) links to hide them. Second, the dual text and attribute boxes for entering the markup are now gone. When you click an editor button, a JavaScript popup will prompt you for the text, just as in most other JavaScript editors. (Anybody who actually liked the text box approach can re-enable it by adding EDITOR_SHOW_INLINE_BOXES=1 in your userconfig.cfg file.) Also, if you select some text and then click an editor button, it will simply apply the markup to that text, e.g. select a word and click the bold button to apply bold tags. Last, you'll notice a section, hidden by default, which contains buttons that add HTML entities for various mathematical symbols. I added these because I wanted them, so feel free to ignore them. You can even turn them off by adding EDITOR_SHOW_SYMBOLS=0 in your userconfig.cfg file.

The last big new feature is the addition of user profiles. When you click on the name of a post owner, it will now take you to that person's user profile. This is just a page that displays the person's name, e-mail address, homepage, etc. You can also upload files to your profile and add custom HTML markup to the end of it. All this is done through the "Edit user information" page linked in the sidebar.

In addition to the basic profile information mentioned above, you also have the ability to add custom fields to be displayed in profiles. This is done by creating a profile.ini file, which has the format:
[profile fields]
fieldname=Description of the field
secondfield=Another field description

You can put this either in your userdata folder, in which case the custom fields will apply to all users, or in a single user profile directory, which will make them apply to only that user.

Note that the addition of user profiles also means a change in the files used to store user information. In other words, the LnBlog/userdata/passwd.php file is no longer needed. New account information will be stored under the user's profile directory. The password information will be in a passwd.php file and the other profile information in a user.ini file. Note that reading the old passwd.php file is still supported, so there is no need to run any kind of update utility. When you edit a user's profile, it will be automatically converted to the new format.

There is also another file format change. The blog data is now stored in a blogdata.ini file. This probably seems pretty pointless, but the general idea here is to try to gradually move away from the plethora of ad hoc file formats that I started with. As with the user information, reading the old blogdata.txt file is still supported, so there's no need to do anything special. The next time you edit your blog settings, the file will be automatically converted to the new format.

Before I forget, I should probably mention the other noticeable changes in this version. First, there's now a blog setting for the default markup mode (auto, LBCode, or HTML) to use for entries. Second, there are now separate options for turning off comments and trackbacks on individual entries. Third, the setting to turn on comments and trackbacks for articles now actually works. Forth, the articles sidebar plugin has a few new options, including the ability to add custom links. The edit link is in the articles section of the sidebar and it uses the same type of format as the sitemap, i.e. a list of hyperlinks separated by newlines.

I think that pretty much covers it for this release. If you have any questions, comments, or find any bugs, please feel free to e-mail me or leave a comment. On the off chance that anyone is interested, I also welcome contributions of code, themes, plugins, or pretty much anything else.