Thursday, November 7, 2013

How to move your blogs around.

In this post I am going to describe how to move your blog from one platform to another. Since there are many famous platforms that offer various kind of user experience, it is more tend to keep several blogs in different platforms that has the same content. To synchronize these blogs we have to have some kind of automation.


Blogspot powered by google has functionality that support Wordpress but not Tumblr. In the other hand Tumblr support both Wordpress and Blogspot. Also Wordpress support backs both Tumblr and Wordpress.



1. Moving from Blogspot to Tumblr.


This tool  gives an api to move your Blog in Google’s Blogspot platfrom to Tumblr.


2. Moving from Tumblr to Wordpress


This tool is giving you the ability to move your Tumblr blog posts to Wordpress platform. Its source code also available in Git repository to download and host in your own server.


3. Moving from Wordpress to Blogspot.


This tool gives the ability to move your blogs from Wordpress platform to Blogspot platform.


4. Moving from Tumblr to Blogspot.


This is a bit tricky task since google’s Blogspot does not expose an Api to directly support Tumbler platform. Hence we have to be bit tricky. First convert your Tumblr into Wordpress format by using the tool given in section 2. This will download a XML file into your computer which is in Wordpress format. Now using the tool given in section 3 convert the downloaded xml file into Blogspot fomrat and save the XML file. Go to settings>import and import the downloaded XML file.

Tuesday, November 5, 2013

Google App Engine DataNucles Enhancer error

When you update your GAE version to the latest, you might have been struck in the following error.



java.lang.UnsupportedClassVersionError: com/google/appengine/tools/enhancer/Enhance : Unsupported major.minor version 51.0


at java.lang.ClassLoader.defineClass1(Native Method)
at java
.lang.ClassLoader.defineClassCond(Unknown Source)
at java
.lang.ClassLoader.defineClass(Unknown Source)
at java
.security.SecureClassLoader.defineClass(Unknown Source)
at java
.net.URLClassLoader.defineClass(Unknown Source)
at java
.net.URLClassLoader.access$000(Unknown Source)
at java
.net.URLClassLoader$1.run(Unknown Source)
at java
.security.AccessController.doPrivileged(Native Method)
at java
.net.URLClassLoader.findClass(Unknown Source)
at java
.lang.ClassLoader.loadClass(Unknown Source)
at sun
.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java
.lang.ClassLoader.loadClass(Unknown Source)

Reason for this is that the JDK versions and JRE versions you use are conflict with either each other or the version compatible with the latest GAE SDK version.


First thing I did is check for Java versions installed in my machine. I found out that I have java 1.6 and 1.7 both installed. So I change the default JDK to 1.7 (since newer GAE tends to be more support for java 7).


Change your JDK_HOME, JRE_HOME and PATH variables to reflect the location of newest JDK in your machine.


Though this solve the above error, it might introduce a new error which is eclipse is not able to recognize the appengine-sdk at all.


Failed to initialize App Engine SDK at [path]


The reason might be that when eclipse launch it do not use the default Java runtime. To force eclipse to use the default runtime, add the “-vm” argument to <eclipse-folder>\eclipse.ini file.


-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
—launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20130807-1835
-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe