Thursday, 21 January 2016

Backing up Google Docs and Sites when changing Domains

After three years teaching, I am moving to a new school. This one is closer to home, (hopefully) making work-life balancework-life satisfaction a lot easier. I'm also teaching a different range of subjects and students, so it will be a good learning experience.

Both my new and old schools use Google Apps for Education. All the teachers I know moving from both of these schools had issues with what to do with the Google Docs and other resources tied up in that GAE domain.

This post is to document some of the moves I made to transfer and/or backup all of the resources and information from my GAE account at my old school.

Google Take-out

On the whole, Google does try to take seriously the idea that you should be able to take your own data once you've done lending it to them.

Pros

Really easy! Just select the services you wish to archive and the formats that it should use, then it bundles it all into a few big zip files ready for download.

Cons

Basically, live objects get archived and lose some properties you want to keep.

Google docs, sheets, slides, drawings and forms get converted to other formats, inevitably losing some formatting or other information. For example, Docs can get converted to either MS Word, OpenOffice Text, PDF, RTF or Plain text.

Blogger sites get archived as Atom XML

Similarly, most data is archived in formats that the average user will not enjoy playing with!

Google sites do not get archived at all...

There are probably good reasons that it is not made too easy to transfer ownership of Google docs outside of your workplace's domain.

Google Docs and Drive Migrator

Although you can't transfer ownership of a Google Doc (or Sheet etc) outside of a domain, you can share it to an outside account that can then copy it. This preserves all of the Google docs formatting, but does lose the sharing settings. Which is good enough for most documents I need for school!

This process is automated using Drive Migrator. This was originally a Google Apps Script that was shared and found in many old sites and forums, but is now packaged up nicely as a Chrome App. The basic idea is that you put all the files you want to copy across into their own folder and then use Drive Migrator to transfer that folder. See their site for more info.

I have two tips to add to their instructions:

You don't have to move files to a folder, which is what simple dragging the file or using the context menu provides. You can copy the file by dragging it while holding down Control (just like in most file managers) or by using the Drive shortcutShift-z.

You will probably have to put the files you want to transfer into a few separate folders so that the script does not timeout.

Google sites

Sites are not part of Google Take-out, so they need to be approached separately. Google did have a Java program called Google Sites Liberation, but it has not been updated since 2011 and was archived when Google Code started switching off as part of their migration of such projects to GitHub. Unfortunately, the password login that the project used is now depreciated, so the program no longer works. Fortunately, it was updated to OAuth2 by a kind soul (thank you!) and the jar file and source code are available on GitHub: Google sites liberation (OAuth2). The only difference in its use to the original version is that instead of entering your login details, you go to a webpage to get a OAuth certificate so that the app can use your account.

The downloaded sites have lost some formatting, but the structures and attached files are still there, which is good enough for my purposes.

There is also a Python project Google sites backup that uses the Google created gdata Python modules and APIs, however it did not work in my first try and I didn't have time to play with it after that. That said, I would like to play with it one day, since the gdata-python-client looks really useful!

Blogger

This one was easy. Just add the other account to the blog as a Administrator and you're done.

Google Docs Add-ons

This one is tricky. I don't know of a good way to transfer ownership of an Add-on and this will be tricky for my Formula Editor add-on.