LnBlog 0.7.1 "No Need for Web Browsers"

It's release time again! You can now get LnBlog 0.7.1, "No Need for Web Browsers" here or from the download page. Unlike the last release, upgrading from version 0.7.0 to the new version is as simple as usual. Just rename the old folder, upload the new one in its place, and move over your old userdata folder.

This is a feature enhancement release, including some small features and a big feature. The big feature, which turned out to be surprisingly easy to implement, is support for the MetaWeblog API. This is like the Blogger API, in that it allows you to add and edit posts, but better, because it also allows you to add post metadata and upload files to a blog. Note that, like with LnBlog's implementation of the Blogger API, blog and entry IDs are based on the URL, so that the ID of this weblog would be "lnblog", while the ID of this entry would be "lnblog/entries/2006/05/22_1811".

To go along with this, I've also written a small Python program that I call CLIblog-MW, which is bundled with this release. It's a simple script written for Python 2.3 that allows you to make MetaWeblog API calls from the command line and print out the response from the server. This will allow you, with a little scripting, to automate postings and file uploads. For documentation, run the script with the -h option. Among the more useful features are the ability to store authentication information in a profile file and the ability to create new posts based on the contents of a text file.

The other significant feature is a change to the entry add/edit page. You can now upload files when you initially create a post or edit it. You can set the number of possible file uploads in the system.ini file by setting the AllowInitUpload value in the entryconfig section. By way of example, the following code will give you four upload boxes on the page: [entryconfig] AllowInitUpload=4 The default number of boxes, if no value is specified, is one. To disable the upload boxes on the entry add/edit pages, set this to zero.

The last little changes include a compression of the entry input type selection. Now you select the markup type from a drop-down box rather than three radio buttons. You will also find links on the admin page to edit the system.ini and groups.ini files. This is a poor substitute for a proper configuration interface, but it's better than nothing. And last, there are fixes to the return values for some Blogger API methods. In particular, the newPost method was returning a URL when it should have been a unique ID.

As usual, please let me know about any bugs or ideas for improvement. I've put up a support page that lists the various methods for getting support, including my e-mail, the SourceForge forums, and the SourceForge issue tracker. Or you can just leave a comment on this post. Whatever works for you.

You can reply to this entry by leaving a comment below. You can send TrackBack pings to this URL. This entry accepts Pingbacks from other blogs. You can follow comments on this entry by subscribing to the RSS feed.

Comments #

    Much better...

    Okay, this time, base configuration seems to have worked! This is good - and things are responsive and it feels all right, too.

    However, not everything is working, and since I haven't worked with LnBlog (and you) lately, I've lost track of all your tips (I'll try to catch up, that's for sure).

    Some problems I'm experiencing when working from the administration panel:

    When I click on "Modify site-wide menubar", I get:

    "Fatal error: Call to a member function isBlog() on a non-object in /var/www/virtual/mg/lnblog/sitemap.php on line 103"

    And clicking on "Configure site-wide plugings" reveals only this:

    "Plugin Configuration

    Plugin Version Description"

    Nothing clickable here... nothing to read, either.

    I've been able to fix permissions, and upgrading "blog" to current version reveals:

    "Error: Upgrade exited with status 0." - I guess that's correct since everything's already the newest version... (but I'm completely unsure if I ever grasped the concept behind this function).

    I've already created a blog, and it's working, so I'm not sure what happens or what to do - hints would be greatly appreciated.

    • Comment posted on Thursday 14 Dec 2006 at 5:33pm
    • By MoonMind

    A little thing that's easy to change...

    Okay, posting works!

    However, there's a little flaw here: Posts and Articles look almost the same (which is good), but Articles are displayed with top space than posts - if this is intentional, I apologize, but I'd say it'd make much more sense to have an identical look and feel.

    As I begin to understand, articles are meant to be one-timers, whereas posts grow into blogs - that's helping in putting together whole websites. Is my idea of that concept correct?

    • Comment posted on Thursday 14 Dec 2006 at 5:33pm
    • By MoonMind

    Remove Articles?

    To remove an article, you have to remove the whole directory created for it, am I right? Is there a reason why articles are handled differently from posts in this respect?

    • Comment posted on Thursday 14 Dec 2006 at 5:33pm
    • By MoonMind

    Yay! Progress!

    I'm glad you finally got it working! I'm sorry it took so long, but I really appreciate you sticking with me.

    As for your problems with the administration page, the sitemap error is a bug. If you want the quick fix, open up the sitemap.php file on the server and remove line 101. That's the one that looks like this:
    if (! defined("BLOG_ROOT")) $blog = false;
    I remember seeing that problem before, but I thought I'd fixed it. Apparently not.

    As for the plugin problem, I managed to replicate that just now. It must be a
    PHP version issue, because it worked on my previous PHP 4.3 test setup, but I
    upgraded my test server/workstation earlier this week and now it doesn't work
    under PHP 5. The problem just seems to be that the get_class_methods() function
    now returns mixed-case strings. The fix is to open up the lib/pluginmanager.php
    file and change lines 105 through 107 in the getPluginList() function so that
    "in_array" becomes "in_arrayi", which is a case-insensitive version of the
    function.

    As for the upgrade error message, that means that somefile wasn't written correctly. That's not *necessarily* a problem, depending on where the failure happened. If you didn't get any errors from PHP and everything appears to work, then you probably don't have to worry about it. I do need to make those errors more understandable, but so far I just haven't had time.

    Basically, the upgrade function recreates all the little PHP files within a blog. Each of these files just calls another file from the LnBlog install directory. The purpose of these PHP "wrapper" files is just to make the URLs prettier and tell them where to find LnBlog. I'm working toward removing most of them, so in the future the upgrade function will be less relevant. Anyway, an upgrade of a blog is only required when the new version of LnBlog depends on a new format for these wrapper scripts, which is only with certain upgrades. I'm sure that's as clear as mud, but it's the basic summary.

    If you don't feel like messing with the source (which I wouldn't blame you for), just hang in there on for a day or so and I'll put up a maintenance release.

    You're right about the article versus entry thing. Articles are supposed to look a little bit different because they are for a different kind of thing. If you want them to look the same, you can change the article template and style sheet so that it's the same as for entries. It shouldn't be too hard if you know HTML and CSS.

    As for deleting articles, yes, you just delete the directory. Honestly, since articles are supposed to be fairly static it never even came up until recently, so I just hadn't bothered to implement a GUI for it. I'll see if I can do that in the next release too.

    Applied fixes, things work!

    Hey, Peter :)

    I applied your fixes (as long as I'm told clearly what to do, I'm not at all afraid to "mess" with the code ;)); now it's all about creating a template. I'll have to postpone that a little since workload's going up again at staggering speeds, but, I will do it.

    As for the upgrade function: That might have something to do with the server again which isn't really behaving like your average Apache at all - they've put up all sorts of security enhancements, which makes for some quirky behaviour when it comes to permissions.

    But we've got a really great bottom line here: It's working! And really well, at that.

    The only thing that's bugging me is: Had I achieved this earlier, I wouldn't have resorted to use another software for the site's core (I blame that entirely on myself and the server people, mind) - now I have to reevaluate my decision. In a way, that's great - but it also means more work. If you want to know what I chose (and what LnBlog is quite likely to replace or supplement - I like administering LnBlog a lot more than administering the other package): http://www.textpattern.com/ - as a blogging/CMS software, TextPattern does well. But it's a lot less flexible than LnBlog (yes, indeed!), and I'd have to implement a busload of plugins to get the functionality I'd like to have in the end. The only thing that's a bit easier is templating... ;)

    Thanks a lot for your patience and good work. Things are definitely moving in the right direction now :)

    I'll be back with more - but don't expect that to be too soon (I might write here, but templating will have to wait) - oh, and I'll have a look at the article template on the way - I think there's a simple way to put things the way I'd like them to be, my idea being: Make it work as a CMS type of thing, so that articles make up the "static" side of things - like they're called now already - and posts make up the dynamic side. Like: articles - frame, posts - (moving) picture.

    M.

    • Comment posted on Thursday 14 Dec 2006 at 5:33pm
    • By MoonMind

Add your comments #

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