Sunday, February 7, 2010
Written by Kodi Wolf at 2:01 AM
Yet again, I've been reminded why I really shouldn't put my trust in external services when it comes to running my site (see my "I Quit Mambo" post).
On February 2nd, I received an e-mail from Blogger telling me they were discontinuing FTP (File Transfer Protocol) publishing from their list of services effective March 26th (that's less than two months' notice, by the way). Publishing via FTP was the main reason I went with their service in the first place, so I was a little annoyed by this news.
For those of you who don't know what Blogger's FTP service is, let me explain.
Most people who sign up for Google's Blogger service simply choose a unique name for their blog and then Blogger creates a subdomain of their domain, so you end up with an URL like "myblog.blogspot.com" (sort of like any free Web hosting service where you end up with www.hostingservice.com/~yourusername/). You don't have to purchase and register a domain name or pay for an ISP to host the domain, so it's really easy to get started, not to mention free. This is great if you don't already own your own domain and intend for your blog to basically be the full extent of your site.
However, for someone like me, who already owns a domain name and pays an ISP to host my site, Blogger's FTP service still fit the bill. Basically, their FTP service allowed me to use their blogging software, while hosting the pages on my own site. That's where the FTP part came in. I filled in the post form on blogger.com and it FTPed the post, along with any other affected files, to the directory I specified on my own server (www.kodiwolf.com/blog). I was able to very quickly and easily create a template based on my site's template to wrap the blog code in, so it looked seamless. A reader never left my site and my content stayed on my own server.
Well, Blogger is dropping FTP and their only solution is to use their Custom Domains, which amounts to you creating a subdomain of your domain (ex: myblog.mydomain.com) and then have Google host it on their servers, while the rest of your site (ex: www.mydomain.com) stays on its current servers. They even came up with a migration tool to help you move your blog from its current location to the new one and... Oh, wait, that won't be ready until sometime around February 22nd, which is about three weeks from now, so you can either try to do it manually and probably screw up your site in the process or you can wait and pray the tool actually works, since you'll only have about a month to fix it if it doesn't... Are you starting to see why I might be a little upset?
Basically, they're saying, "Give us all your blog pages or your blog dies."
Well, I came up with another option. I've just spent the past several days recoding my blog pages so they're now completely under my control. Everything is hardcoded (as opposed to automated), but it's still fairly flexible, since I use PHP. (Oh, that was another thing. Google's servers won't let you use PHP, which for me was a complete deal-breaker, beyond the whole "they want my content" issue I'm having with them.) It won't be as simple as writing text into a form box and hitting "Post", but I'm satisfied that my system will be easy enough.
Basically, it works like this (I'm mostly writing this out so I have something I can reference if I get stuck later, so you can skip the following geek-speak if you want).
Create a new post:
Open post_TEMPLATE.html
'Save As' now, so you don't accidentally 'save over'
Enter the long date, post title, and .php file name in the post's permanent link (come back and enter the current time just before you're ready to upload all the files)
Write the actual content of the post
Save file
Create the post's .php file:
Open TEMPLATE_2010_01_01.php
'Save As' now, so you don't accidentally 'save over'
Enter the date in the title and the name of the post's .html file in the PHP include
Save file
Update the News index.php file:
Open the index.php file
Delete the last post's PHP include
Cut the post_border div above it and paste it above the first post's PHP include
Copy the new post's PHP include from the post's .php file and paste it above the post_border div
Save file
If it's the month's first post, create the month's archive .php file:
Open TEMPLATE_archive_2010_01.php
'Save As' now, so you don't accidentally 'save over'
Enter the month in the title and the main content box title, and the name of the post's .html file in the PHP include
Save file
If the month's archive .php file already exists, add the new post to it:
Open the archive .php file
Copy the post_border div from the index.php file (or within the archive .php file, if there are already two posts) and paste it after the last post's PHP include
Copy the post's PHP include, either from the post's .php file or the index.php file, and paste it below the post_border div
Save file
Update the News Archives menu:
Open the NEWSarchives.html file
Copy a previous month's link (or a year section if starting a new year) and paste it into the appropriate position within the list
Change the newly pasted link to point to the new archive .php file and enter the correct month for the link's text
Save file
Update the site:
Upload any image files used in the new post
Upload the new post's .html and .php files
Upload the archive .php file
Upload the NEWSarchives.html file if a new month/year has been added
Upload the index.php file
You know, written out like that, it looks like a ton of work, but except for the actual writing of the post, it's mostly just opening files, typing in a couple characters (or copying/pasting), and then saving.
For example, to make this post, I wrote my post using my template file, which I renamed 2010_02_07.html (writing took me several hours, but I was also working on the site intermittently). I then created the post's .php file using the template for that, which I renamed 2010_02_07.php (took me maybe 10 seconds). I then created the archive for February using the archive template file, which I renamed archive_2010_02.php (took maybe another 10 seconds). I then edited the index.php file to add the PHP include to the new post at the top and remove the last post at the bottom in order to maintain the 5 most recent posts on the main News page (about 20 seconds). Then I added the new year and month to the NEWSarchives.html file (maybe 30 seconds). So, by my calculations, minus the actual writing time, adding a new post shouldn't take me more than a couple minutes, max.
Anyway, if you want to get an idea of how others have received this news, check out Blogger's FTP Info blog and start reading the comments. All I can say is I'm glad I only had one blog and plenty of time to focus on fixing it. (I just keep thinking of the line from Galaxy Quest when Gilligan's Island is mentioned to the aliens... with heads solemnly bowed, "Those poor people.")
By the way, because I'm not using Blogger now, I don't have the commenting option for my blog anymore, so if you want to comment on any of my posts, you'll have to e-mail me directly. I won't post them to the site (that takes a lot more work), but I will read them and respond to them the way I would any other e-mail (meaning probably not, unless you ask a question). I have, however, preserved the comments originally posted through Blogger, so those haven't been lost.