Saturday, September 29, 2007

Last year I built a little tool that migrated blogs from LiveJournal to Blogger. It was aptly named lj2blogger. Today is the release of version 2.5

I've recently extended it to be able to move blogs from LiveJournal, Blogger, WordPress and publish to LiveJournal, Blogger, Windows Live Spaces, WordPress. This means you can move your blog to a new blog name or clone it.

Time to rename the tool, subsequently, it is now called Blog2Blog. Possibly further blogging systems will be integrated in later versions.

We've identified a bug in the latest google feeds and client libraries. (http://groups.google.com/group/bloggerDev/browse_thread/thread/6fa01659eb21b0d for deep details)

Basically as a work-around, you need to put the blogger.com feed SOURCE-API-URL. To find this you will need to view the html source of your blog and look for the string that will contain "service.post" it will contain a URL like:"http://www.blogger.com/feeds/*blog_id_number_here*/posts/default"

Version 2.2.1.0* Publishing to Microsoft's live spaces.* Fetching from and publishing to WordPress.* Delete All for Wordpress, LiveJournal, Blogger.* Subject Title fix for Livejournal* More description in LiveJournal errors.

You liked this application and you'd like to support its author? Feel free to donate:

There is a Blog2Blog Manual included, but the interface is relatively simple. If you are having a problem, please scan through the comments below; many users have discovered the same things and the solutions. If you don't see your problem, please post a comment and send an email to "blog2blog.support (at) gmail.com".

Blog2Blog Manual

Introduction

This tool migrates a blog from online line Blog systems. It uses the public API of LiveJournal, Blogger, WordPress, and Spaces to extract data and create equivalent entries in a different account.

Download from source JournalFirst, Select a source1. Enter username (e.g. user1).2. Enter password (e.g. pass1).3. Enter source-url (the URL of the blog you wish to download): http://user1.livejournal.com.4. (optional) if necessary modify the source-api-url of your journal. This is auto-populated with a typical value.5. Press Fetch Button.

View Entries (optional)6. Press View Entries Button.7. Use the Entry Number Dialog to change the entry being viewed.8. When complete Press the upper right close window (the X).

Save Entries (optional)1. Press Save Entries2. Choose the filename, it is an XML file with the extension (*.B2B)Note: once saved you can load these Entries without downloading from LiveJournal (use the Load Entries button)

Publish to DestinationNext, Select a Destination9. Enter username (e.g. user1).10. Enter password (e.g. pass1).11. Enter dest-url (the URL of the blog you wish to upload): http://user1.blogspot.com.12. (optional) if necessary modify the dest api-url of your journal. This is auto-populated with a typical value. (if you have a non-upgraded blogger blog take note; for non-upgraded blogs you will need to update the dest-api-url! To find the URL you will have to look at the page source of your journal. See below for more information)13. (optional) select options you please; publish private entries and/or wrap http:// with html tags and/or Publish Back Dated posts.14. Press Publish Button.15. Select the Entries you will to publish (defaults to all entries).

Further instructions (non-upgraded Blogger blogs circa late 2006):For non-upgraded blogs you will need to find your feed URI.- To do this you will have to use your favorite browser and type in the URL of you blog (e.g. http://user1.blogspot.com)- Using your browser you will need to 'View Source'. This differs slightly between browsers.- In the source look for link rel="service.post" type="application/atom+xml" title="User1 (Atom 1.0)"- The api-url is the http:// location in the href

Additionally it is not possible to post to an old journal with a new 'google' integrated account (for those of you that have only partially upgraded all your journals). Additionally the publish dates of your livejournal won't be regarded. This is part of the API limitation.

Known issues

· The Application is not multithreaded – The UI refreshes slowly while connected to LiveJournal/Blogger.· Does not import/export comments· found 01/02/2007 - defaults for api-url only work with upgraded blogs.· There are occasional connection problems with the XMLRPC interface to livejournal, but immediately retrying Fetch from Livejournal seems to connect successfully. Just try a couple of times. No harm should be done.

236 comments:

Managed to get further than I ever could with lj2blogger, but for some reason it still won't fetch all of my 330 posts. Only gets 178 or so. Don't know why. I went to check which post was next and there's nothing in it that should cause any problems. I mean, nothing in that one that wasn't in any of the previous ones that got fetched fine. Any ideas?

Unfortunately, the MetaWebLog API that MS has implemented for the Live Spaces programmable access to the journal entries doesn't make this simple. If you have fewer than 20 entries, I could write you a special application. Otherwise, the process has the potential to be destructive (something that would require significant testing if I were to release that to the public).

Hi, I found your tool and used it to fetch all of my livejournal posts. It did, and it said it published them, but only 50 appear now.

I believe this is because of a rule in place that is supposed to protect against abuse, keeping the limit to 50 posts per day. Is there some way to get around this? Otherwise, this will go on for 35 more days for me! I am importing 751 posts.

Indeed it is true that there is a 50 posts per day limit and in fact, yes there is something you can do. You can appeal to a staff member at blogger for temporary lifting of this limit. Please read: http://groups.google.com/group/bloggerDev/browse_thread/thread/3a61916d799f9399 for the details and who to email.

Found your tool very useful, thank you!Yet I can`t download my livejournal. Blog2blog gets maximum of 200 entries (out of total 699) and lj server kicks it off reasoning that "your client repeats requests, fix it or else" - smth like that.Sooo, is there a way to limit post-per-minute speed of downloading?

looks like an awesome program! looking forward to when you can export from live spaces as I'd like to move to blogger instead... but with more than a year's worth of entries... a program like this would be better than manually transferring info. please would you work on it? thanks!

Really great app. I was in blogger, migrated to wordpress and after about 3 months wanted to go back. Found your app and the re-import was a breeze. I second laura's comment. I am willing to donate!!! thanks a lot.

My question is, is there something in the code making it livejournal specific? Because I've run into problems tonight after having the brilliant idea to use it as a restorable backup for my lj clone over at Insanejournal.

We are having this coversation via email. But for all other in a similar situation:

The Spaces username/password is somewhat confusing. You can read about it in the link below, but the summary is that you need to enable email publishing, you need to pick a 'secret', and then your username is the spaces name, and the password is the secret you typed.

I can't seem to post my downloaded LJ entries up to Blogger. I just upgraded my old 2003 account from a blogger one to a google one (already had a google account just not with blogger). I give it the right url (http://chriswiegand.blogspot.com/), and I override the dest-API-URL with the one from my blogger's page source, but it still fails with:

(the \n's are CR/LFs in the actual dialog). I've double-checked my username/password (and it was failing the verifying check when it was wrong, so it appears not to be that problem). Do you have any suggestions? Or is it possible for me to run the source code version so I can debug it (I'm a c# and vb.net programmer myself). Even if I can't import into Blogger, just being able to reliably backup my LJ is great - most of the other tools have crapped out for me in the past.

Was able to download the program today and it worked like a charm! This is amazing and I will be sure to pass the word. Of course with Blogger only allowing 50 posts a day without word verification, it will take me a few days to complete the transfer but it's sooo worth it! Saves me a ton of work. Blessings to you!

paul - thanks for being a lifesaver....i just moved using this tool and i cant believe it was so simple.....thanks again....i have some questions1- i can see only 50 of my posts though while publishing it accepted all. what does this mean?2- do i have to repeat this process to get all my posts??please help...thanks in advance

We've identified a bug in the latest google feeds and client libraries. (http://groups.google.com/group/bloggerDev/browse_thread/thread/6fa01659eb21b0d for deep details)

Basically as a work-around, you need to put the blogger.com feed SOURCE-API-URL. To find this you will need to view the html source of your blog and look for the string that will contain "service.post" it will contain a URL like:"http://www.blogger.com/feeds/*blog_id_number_here*/posts/default"

I very carefully (and even went to blogger and double-checked) have entered my info to 'fetch'. It looks, seems to find it, but then says "Download from BloggerSource Complete (0 entries found)". I chose a small blog with about 50 posts and a few comments, to test this on. I wanted to view the entries, choose SOME, and export those to my WordPress blog. Right now I *manually* collect/copy posts from a variety of blogs to one main one, which sucks for comments lost in transfer. I did the initial import with wordpress, but even though it says it only imports posts it didn't already get, it lies. It re-imports ALL posts. And makes all their tags into categories. It's a nightmare to clean up even on a tiny blog. Let alone from six blogs one with a few years of history. So your awesome and clean little utility could save me!!

But I don't understand why it is not fetching anything from my blog. I've checked the login, password and address repeatedly (though I use this regularly, I know them well). I would be happy to share my personal details privately if it helped with troubleshooting. I will donate something if you point the way. This is an awesome little tool... I think... if I could get it to work for me :-)....!

this thing is great!! thank you so much for making this!! I'm way too lazy to copy my stuff by hand over to blogger and i want to have both available to me! i'm so happy that you made this and it works perfectly!! thank you!!

Worked awesome. You should post your tool on Blurb. Their blogger feature is broken, and as a workaround I used your tool to convert to live journal, and then uploaded to blurb. Saved TONS of time...Loved it!

I'm dying to use this for the purposes of converting my blog to a book but I get an install error. Downloaded the zip file. Double clicked on setup.exe and get a message saying "Cannot download the application. The application is missing required files. Contact application vendor for assistance."

This is a really cool thing that you've created! However I am only a little savvy and I can't for the life of me find my blog's html source on blogger! I got 0 entries and was attempting your fix. Help!

It sounds like you are having an a-typical problem. You could try re-downloading and unzipping. If that doesn't work, then we'll need to figure out what is different on your system then one that this installs correctly on. There are a variety of possibilities -- possibly .NET Frameworks 2.x isn't installed.

If you have some additional information about your system (OS, etc); feel free to open up a conversation with me at blog2blog.support (at) gmail.com.

Perhaps I'm just Linux-handicapped but I need to use this tool to migrate 7 years of livejournal to blogger. Is this really the program I need to use? I only see instructions for Windows users...or perhaps I'm blind too!

Thanks for your blog to blog tool. Unfortunately I have run into something I can't get around. I get an error when I try to install, it indicates that the application cannot be started and to contact the vendor.

I am attempting to create a Christmas gift of my blogger blog and am running into all kinds of difficulty because Blurb no longer supports blogger. So to make the long story short, I am trying to migrate a copy from blogger to Livejournal so that I can use blurb.

Any hints on this process would be appreciated!

Thanks Eric

If you are willing to get into an email discussion my email address is triumph21@lycos.com

This is a great feature! I did run into an error though. I am also trying to transfer my blogger account to LiveJournal so that I can slurp it into blurb. (would be nice if they fixed the slurp). I am able to install the application fine, and I can even import the entries from blogger. When I go to publish to LiveJournal, it successfully publishes entries #1 & #2, but when it gets to #3, it has an error message: "Connection to LiveJournalDest Failed. Please try again. "Exception: Server returned a fault exception: [200] Client error: Missing required argument(s)While posting entry: ***hidden for privacy***"I can send you details if that helps of where my blog is and what the tag ID was. I did read your notes and updated the SOURCE-API-URL to include the Blog ID Number, but still didn't work.Any help you can give me would be great!!

I'm stuck on the 50 posts a day limit, and haven't heard back from Google about a requested increase. Is it possible to save the converted LJ posts as Blogger posts, and then import through the Blogger import mechanism?

This is a common problem for people with new blogger accounts, there needs to be an account verification stage. One way to be sure your account is already setup is by trying to manually post a test entry in your new blogger blog -- and then delete it :).

Paul - I didn't read the comments yet - but I'm sadly assuming that this is a tool that you download and run from your own computer, not from your site? So I further assume it's not available for MAC users? I want to do this to make a blurb book, as they seem only to be able to work with LiveJournal these days, which is not my software. I hate to bother you with such a stupid question, but I gotta.

I was having this same problem "When I go to publish to LiveJournal, it successfully publishes entries #1 & #2, but when it gets to #3, it has an error message:"Connection to LiveJournalDest Failed. Please try again."Exception: Server returned a fault exception: [200] Client error: Missing required argument(s)While posting entry: ***hidden for"I figured out the problem. I opened up the B2B file which is an xml file and searched for the entry it was having a problem with. The entry just below it had no body and just had a (sory can't put the tag in) (less than sign)body /(greater than) tag. I erased that and it then processed again until it hit another one that the post right below was blank with a body / tag. I searched the document for all of the blank body tags, deleted them and it uploaded fine after that. So my guess is the blogs don't like blank posts. Hope this helps.

hi, excellent tool, just what I've been looking for! I've been moving my livejournal to blogger with great ease at the max limit of 50 posts/24 hrs. the only issue that's a little unfortunate is that paragraph spacing isn't preserved in the transition, so my blogger posts are all one large paragraph.

Great tool, and it worked fine in fetching from my blogspot blog, but stalled when I tried to publish to my Windows Spaces blog.Here's the error message:Connectionto SpacesDest Failed . . .Exception: Server returned a fault exception: [3001] Access Denied

Excellent little utility. I really appreciate it. I'm another who would love to be able to back up comments too, but I certainly understand your explanation of having a life. . . ;{)

I am curious about one thing. Is there a particular reason that you chose to install it in C:\Documents and Settings\%username%\LocalSettings\Apps rather than C:\ProgramFiles like most of us geeks would expect? It seems like an odd path choice, at least for a non-programmer such as me.

Paul, I've read the stuff on username and secret for wordpress to livespace but it is still giving me the error message "Connection to SpacesDest failed. Exception: Server returned a fault exception: [3001] Access Denied. Should the username be the space name or the whole space name url? It hasnt worked with just the spacename as the username and the username only allows me to enter the spacename of whatever spacename url i have listed

Thank you!!! Wordpress is currently experiencing errors when importing from Blogger (Google accounts won't grant access)and I could not figure out a way around it until I came across your tool and it worked PERFECTLY. Thank you.

Thanks for this, it worked a treat. My only concern is that now I have transferred my data from wordpress to blogger, can I now delete my wordpress site? I ask as each tome I load up a story from blogger it says transferring data from my url at wordpress?

This is an awesome tool. Thank you for making it available--just sent you a donation via PayPal. Would be really cool if this imported directly from LJ to Squarespace, but I was able to at least to LJ->Blogger->Squarespace!

This is really a very nice tool. What I was trying for days with google open source app. Your tool has done it in 2 seconds. I transferred my 360 blog to wordpress, as it cant be transferred to blogger. Since I am not comfortable with wordpress I have transferred tht worpress blog to blogger using your tool. Only thing is that it didnt import comments as you have mentioned in your post. Please do tell me when you will fix tht bug. My blog is here now http://mylivingthought.blogspot.com/

Hey one more thing I have forgotten to add, Yahoo 360 is closing and people are worried how to save their blogs. Wordpress have the tool to import the blog with comments, but blogger doesnt have yet. Can you develop something to help millions of yahoo 360 users like me?

My wordpress blog was suspended for some unknown reason. I am having trouble getting in touch with them. I was able to download the blog as an xml file. Is there a way to upload the xml file using your application? I want to import into a Blogger blog.Thanks!

Hi I was just wondering, is it possible to use B2B to transport entries from an LJ blog to an LJ community? I used the different API URL for LJ communities http://www.livejournal.com/interface/atomapi/LJCOMMUNITYNAME/post but I haven't had any luck so far.

Hi, and thanks for a great tool. Can you, please, help me with the following problem. When trying to import LiveJournal blog I get following error:"Failure to get all entries from Livejournal.I only fetched items earlier than date 11/30.2008 4:31:20PMYou may want to review the entris and publish at your discretionXmlRpcStruct from LiveJournal is unexpected. Expecting a count of 1 in base item"After that no entries at all are imported from LiveJournal? any ideas what might cause it and how to bypass it?

Hi, I'm having a good bit of problems trying to get my Deadjournal to transfer over. I'm thinking the api url might be different from livejournal, but I can't figure out what it would be. When I try everything with the deadjournal server in the source url, I get an invalid username error. Help would be super appreciated :)

I also get the following error:"Failure to get all entries from Livejournal.I only fetched items earlier than date 11/30.2008 4:31:20PMYou may want to review the entris and publish at your discretionXmlRpcStruct from LiveJournal is unexpected. Expecting a count of 1 in base item"However it appears the date changes to the date you created your LJ, in my case 2003.

"Failure to get all entries from Livejournal.I only fetched items earlier than date 07.07.2003 8:26:53You may want to review the entris and publish at your discretionXmlRpcStruct from LiveJournal is unexpected. Expecting a count of 1 in base item"

LiveJournal blog does not want to be fetched:"Failure to get all entries from Livejournal.I only fetched items earlier than date 03/25/2010 1:24:33AMYou may want to review the entris and publish at your discretionXmlRpcStruct from LiveJournal is unexpected. Expecting a count of 1 in base item"

Hello, I was happy to find your app to move my blog from Wordpress to Blogger but whenever I try to fetch I get an error message saying that it cannot connect to the Wordpress server. I would be so grateful if you could tell me what's causing this.Thanks

As another user commented, I am having the same problem (except with a different date):

"LiveJournal blog does not want to be fetched:"Failure to get all entries from Livejournal.I only fetched items earlier than date 03/25/2010 1:24:33AMYou may want to review the entris and publish at your discretionXmlRpcStruct from LiveJournal is unexpected. Expecting a count of 1 in base item" "

Hello .. firstly I would like to send greetings to all readers. After this, I recognize the content so interesting about this article. For me personally I liked all the information. I would like to know of cases like this more often. In my personal experience I might mention a book called Generic Viagra in this book that I mentioned have very interesting topics, and also you have much to do with the main theme of this article.

And yes, the problem persists with exporing the LJ entries: "Failure to get all entries from Livejournal [...]"But to fix it is a matter of an hour or two, consider testing.

XmlRpcStruct now contains two items. The second contains all the data and was not changed. So it means that all the entries are successfully downloading on the client, but there is need to update the check "if (ljentries.Count == 1)" and skip the first record. I have decompiled the program with reflector and managed to process LJ data and publish it on Blogger using the visual studio.

Why do I feel your article is just incomplete and it surely is not appealing to me? How will it convince the other people…? You’ve got to do something with this problem of yours and try to do well before you lose your fan followers too.

are some candidates who are not eligible for spinal decompression therapy. In their cases, the results of the treatment if carried out are not optimum, besides, there can be minor difficulties in carrying out the treatment. And though cases of patients being totally unresponsive to the treatment are rare, it is possible, and if you want to opt for this treatmentpoker multibancocasino spel online

Does blog2blog support checking if the post is already published? What happens if I pull the post twice? Alternatively blog2blog may maintain the "published" flag for posts which have been already pulled.

It would be also nice, if it can support filtering of posts by date ranges (e.g. "everything earlier than 15.10.2010") and also the custom footer, e.g. "This post was originally published at WorldPress <link to original post>".

Unix, which is not an acronym, was developed by some of the members of the Multics team at the bell labs starting in the late 1960's by many of the same people who helped create the C programming language. The Unix today, however, is not just the work of a couple of programmers. Many other organizations, institutes and various other individuals contributed significant additions to the system we now know today.cheap viagra

wow....! Very nice and useful article. Your way of explanation is beautiful. I learn a lot of things from your article. The stuff you are using that is very useful and helpful. Thanks for sharing a very informative article.

Foreclosure Defense Lawyer have extensive experience defending their clients in all types of contract disputes. These range from standard breach of contract matters, credit card cases, and cases in which an individual or corporation failed to uphold their terms of the contract.

About this Blog

In truth this is my personal documentation area where I hope to save myself time by documenting my home projects, work projects. I also hope to be able to provide others with a simple HOWTO guides, FAQs and other tidbits.