migrating birds

Drupal 8: Import an Atom feed using Migrate

I needed to get events from another system into drupal 8. They were available through an atom-feed. Now, the feeds module is/was, at the time of writing, not ready for Drupal 8.
Another way of importing (external) sources is through the core module Migrate. This has, however, no UI, so it is not a point-&-click-operation.
I like to share with you how to write a (simple) migration plugin. Bare in mind though that each migration is very specific and have their own particular needs.

So what do we need?

This blog post pointed me in the right direction.
Besides core Migrate we need a couple of contrib modules to get what we want:

Later I found that using Migrate File (extended) makes dealing with images real easy!

The source file

We need to know what sort of file we're dealing with exactly, what is in it and how do we get it out?
This is (a part of) the source xml:
I've removed some parts to keep it small, I left only 1 entry, but they are all the same