LnBlog 0.2.2 is out

The next iteration in the 0.2 series, LnBlog 0.2.2, is available. You can get it from the download page.

This release adds a "show all" page for the blog entry archive and a simple Javascript-based editor for posting. It also fixes a quote-escaping problem with post previews.

I'm kind of excited about the editor, since I managed to include what I think are a couple of cool features. This is an accomplishment for me, since I konw only slightly more about Javascript than I do about PL/1. Anyway, I made the acronym and abbreviation buttons in the editor remember the title text you enter for them, so the next time you use that acronym, you only have to enter the actonym itself, not what it stands for. I also found a function to insert text into the textarea at the cursor location rather than at the end. And the best part is that it actually works in the latest version of Opera!

The only thing I'm not sure about is my choice of using text boxes for the editor instead of input popups, which seem to be more popular. The popup inputs do have something going for them in that you can just click a button, type, and hit enter. Using text boxes adds an extra mousing step (click text box, type, click button). On the other hand, popup input boxes are modal, which really, really sucks. I guess it's a balancing act. Although I suppose it would be possible to make this configurable....

LnBlog 0.2.1 released

I just uploaded version 0.2.1. This has some minor bug fixes and feature enhancements. You can get it from the download page.

This release fixes an error in the handling of post dates which caused the original post date to be changed when an entry was updated. It also fixes a bug in the LBCode regular expressions for lists and a bug which kept HTML code from being stripped correctly when using LBCode or auto-markup.

As I mentioned in my last post, I've added a preview button for posting and RSS feeds for comments. I added sidebar entries for comments when a blog or article that has comments is showing.

I also added link elements to the head section of some pages that point to the RSS feeds. If you're not familiar with this, all it is in linking an RSS feed to the page, much like you would do with a stylesheet. The benefit of this is that many modern web browsers, such as Firefox and Opera, will pick up on this and offer you a nice little interface element to view the feed. For example, Firefox has a "live bookmark" feature that shows up in the status bar whenever there is a linked RSS feed in the page, and Opera gives you a nive "RSS" icon in the address bar, which you can click on to open the feed in Opera's RSS reader.

Things for the future

I'm working on the next minor release. I fixed a few bugs, added RSS feeds for entry and article comments, and added a feature that I really need - a preview button. I never even thought of that feature until I posted one too many entries that had a minor typo or LBCode error. A text-book case of "scratching your own itch."

I think I'm going to have to add a real user authentication system. I just don't think the "one user per blog, plus the admin" thing in going to work for me. For instance, it would be nice if more than one person could update the news page. Of course, I can do that now by simply telling soneone else the password, but it would be nice to allow readers to differentiate between the people posting the entries. I would also like to add an "e-mail on comment" feature, and it would be nice to have real user account for this.

I think that will have to wait until version 0.3.0, though. For the time being, I should probably get the smaller problems and features worked out. Like a Javascript editing interface.

LnBlog 0.2.0 has been released

I just finished uploading version 0.2.0 of LnBlog. This is a major improvement over version 0.1.0 and includes lots of bug fixes and several feature additions. You can get it from the download page.

The main feature addition is FTPFS, which is what I call the module for FTP file writing support. Basically, this allows you to write files on the web server through FTP, rather than using PHP's native filesystem functions. This has several advantages:

  1. It lets LnBlog work in Safe Mode.
  2. Your user account will own the files, not the web server account.
  3. You do not have to change any file permissions on the web server to make things work.


Given the above, using FTPFS is highly recommended.

In light of the addition of FTPFS, I've also changed the initial setup program to start by configuring file writing support. To use FTPFS, just select the appropriate option button on the form and fill in you username, password, and host. This information is stored in a PHP file, so it can't be viewed by the web population at large.

The other main feature addition is file upload support. There are now entries in the sidebar to upload files to the weblog root, or to the current entry or article. Combine this with FTPFS and you almost have a mini-CMS

The rest of the feature additions are faily minor. I added links for various inaccessible features, such as deleting entries and comments. New articles are now displayed in the sidebar by default. Lots of updates to the BBCode support. In fact, I've renamed it to LBCode, because I added some non-standard elements (e.g. equivalants for the HTML <abbr> and <q> tags) and I want it to be clear that I'm not even trying to maintain compatibility with the "official" BBCode markup, if such a thing exists.

And, despite what I said in my last post, I still haven't put up a SourceForge project yet. I'll probably get around to it sooner or later. I may put up a listing on Freshmeat while I'm at it.

Maybe it should be 0.2.0....

Well, all the really annoying bugs seem to be out of the code for now. The FTP bug was easily enough fixed by switching from ASCII to binary mode. (Duh!) I fixed quite a few other bugs in the past couple of days, so things are starting to look pretty good. Also, I tested it out on my workstation, and when using FTPFS (my name for the FTP file writing module), LnBlog officially works in safe mode.

I'm thinking that the next release will be in a day or two and it will be version 0.2.0, not 0.1.1, since I've added several new features and made some fairly sizable changes to some of the back-end classes. I think I'm going to set up a SourceForge project first, though. I figure I might as well. When I first started coding, I did a search to see how many other people had already invented this particular wheel, and turned up much fewer results than I thought. Oh, don't get me wrong - there were half a dozen working file-base weblog packages, but there seemed to be a disproportionate number of projects in the "pre-alpha" stage, meaning they never got off the ground.

Anyway, I think most of the core functionality that I'm aiming for right now is in place, so after the next release it will be time to focus on the user interface and clean everything up. Maybe add a couple of themes, document the theme system, add a Javascript rich text editor. You know, the fun stuff. After that I can get to things like trackback, polls, and whatever else is on the TODO list.