Problem With Permissions

As I have previously experienced, creating files on the server using webpad can sometimes cause problems with permissions, because the resultant files are owned (on a *NIX box) by the user that Apache was running as. Since that’s not normally the same as your shell user, you can have some problems managing those files later on.

Ideally, I’d have webpad create files, then change them so that a specified user account owns/controls them, but that the Apache user would have access to them. Since I’m yet to get this working (or figure out exactly how I can do it on DreamHost), in the meantime I am just creating files or directories and immediately chmod’ing them to 777 (I know, I know, not secure etc, but the only way I can do it so that I can work with the files later.)

Anyone know a better way of doing it?

I am also considering switching away from HTTP Authentication, and using a form to log in to webpad, which might just allow me to run webpad in CGI mode on DreamHost, and thus solve user problems, because it would run as my user… will keep you posted on that though.

Personal Information Portal

As ‘buzzword’ as that sounds, that’s basically what I’m building for myself. It’s got an integrated bookmark manager, basic email features, news aggregation, calendar, file management, plus to-do list and sticky notes (via web-form or email thanks to the power of blosxom!).

It’s framed like crazy, but will include some cool DHTML tools and things to make it easier to use and more friendly. I’m basing as much as possible on XML/XSL as well, so that is proving to be interesting. I already have a basic version of the sticky notes and to-do list features working (ugly, but operational) and that’s using XML and XSL exclusively (coming from a blosxom backend!)

I hope to build it so that it’s easy to add new tools/features into it, and that it can provide a useful point for me to start whenever I get online, since it’ll be accessible from anywhere, and have access to most things I need!.

Blank File Bug Fixed

I’ve finally figured out a bug in the current development version of webpad that meant once in a while I’d somehow overwrite a file I had previously been working on with a blank file.

Turns out that it was because I was reloading webpad in a window which I had previously used it, so the session (containing filenames etc) was still active. When webpad loaded, it was triggering the ‘save’ operation, and saving the now-empty main window as the file I was previously working on. All I’ve done is make it so that you can’t write a blank file now — if you want to delete something, you should be using the delete operation in the file dialog anyway.

One step closer to release! Blogs are still a sticking point tho… how/what to support on Blogger.com/MovableType is the thing holding me up. Complete blosxom support is already in there, and works wonderfully – I’m using it to maintain my blogs and website. The Blogger Atom API sounds really ugly and excessively complex, but I’ll let it stabilise a little more and then have a proper look at it I think…

API Problem Fixed

Thanks to a suggestion from Bill, I found the problem that AvantBlog has been having when attempting to authenticate with the Blogger.com servers… basically they moved their servers!.

As Robert discovered in this post, the server that responds to API requests moved from plant.blogger.com to www.blogger.com, so basically I was posting authentication requests to a server that didn’t exist. This has been rectified now and it appears to be operating properly.

Enjoy your blogging folks ๐Ÿ™‚

Problems with Blogger.com

Something appears to be wrong with Blogger‘s API server, so AvantBlog authentication is very touch-and-go. I’ve modified the program slightly so that it reports properly when it can’t connect to their server, so at least you’ll know what’s going on. Also, on suggestion from Ron, I’ve added a ‘Try Again’ link so that you can log out/log back in again and see if their servers are responding properly.

This problem appears to have been happening for the last couple days at least, so let’s just hope that Blogger sort it out soon. I wonder if their fancy new Atom API is going to be any more reliable?

File Append Function

Here’s a useful function that I wrote for PHP – it just opens a specified file and appends a string to it. It’s very good for logging things.

<?php
/**
 * @return boolean
 * @param $file FileNameToWriteTo
 * @param $string StringToWriteToFile
 * @desc Writes specified string to the end of the file with a linefeed attached
 */
function file_append($file, $string) {
	if (is_file($file) && is_writable($file)) {
		$fh = fopen($file, 'a');
		if ($fh) {
			fwrite($fh, $string . "\n");
			fclose($fh);
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}
?>

You might want to consider making the fopen() flags ‘ab’ for binary-safe (now reccommended on php.net) and also changing the ‘\n’ part to the appropriate line-endings for your operating system (\n = *NIX, \r\n = Windows, \r = Mac).

BlogLines Is Cool

Have I mentioned BlogLines.com? It really is a cool service, and what’s more – it’s free.

BlogLines is an RSS aggregator; don’t let that big name scare you – basically it allows you to get content from a bunch of sites, organised into your own directories and catgories, all in one place. It’s perfect for keeping up to date on news, reading your daily blogs, or perhaps receiving certain types of updates and things like that.

There’s not much I can say, other than it’s a very well-made system, it’s entirely web-based (so you can access it from all machines you use) and it has some great features which make managing your feed subscriptions really easy. Check it out and see what I’m talking about.

If Not For The Blogs

webpad development is coming along very well, and the UI is streets ahead of version 2.0, with a collection of really useful little extras, some great new features and some bits and pieces that just make life a lot easier while using the program. If it weren’t for the blogging functionality, I’d be this close to releasing a beta version of 3.0 Personal Edition.

Incidentally, adding the functionality for the fantastic blogging application, blosxom was completely trivial, care of it’s wonderful use of the file system of the server that it’s hosted on. In effect, blosxom blogs within webpad are represented as alternate home directories, and use all the same file access operations as the normal server actions do – excellent!

Check it out and get yourself a copy of blosxom if you’re running a blog, it’s the best thing out there if you don’t mind a bit of hackery and custom mods ๐Ÿ™‚

Starting Assignment 3, So Here’s Number 2

Download PDF of Assignment 2 (48Kb PDF)

Assignment Two involved writing up a basic project plan for migrating a retail company to the Internet, to use ‘e-tailing’ for the fictional product — windowsill protectors. These were to be sold in Ireland, Australia and New Zealand, and there was more of a focus on the financial side of things, analysis of sales volumes, ROI and things like that. I don’t have a mark back for this yet, so I don’t know if it’s actually a very good example of what they were looking for on this one ๐Ÿ™‚

File Upload Working

Well, after having some terrible problems with the file upload tool on the new version of webpad, I finally have it working.

Turns out the main problem was that my cleanup script that removes temp files periodically from webpad’s directory was cleaning up the uploaded files before you had a chance to move them to their permanent location. Now that that’s under control, all’s well!