Entity Pilot in public beta - painless content staging for Drupal 8

Today we're proud to announce that Entity Pilot has entered its public beta phase, just in time for the 8.0.0 release of Drupal 8.

This means you can get started sending and receiving content between your Drupal 8 sites and building up a content-repository to power your content network.

Read on to discover painless content-staging for Drupal 8


Work on Entity Pilot commenced back in April 2014, so reaching the public-beta stage represents a major milestone that has been almost 19 months in the making.

Along the way we've contributed countless patches and bug-fixes to Drupal 8 and spawned a major contributed module in Dynamic Entity Reference.

Content staging has remained one of the major pain points with Drupal development throughout all previous versions. With Drupal 8, we now have the Configuration Management API allowing us to painlessly deploy configuration changes to sites. With Entity Pilot we now have a painless way of sending content-entities between your sites too.

How to get started

To get started sending content between your Drupal 8 sites, sign up for an account, with a variety of monthly plans, Entity Pilot is an affordable content staging and repository solution. Payment is powered by the Pin Payments JavaScript API, meaning none of your credit-card data is ever sent to our server.

After signing up for an account, download the Entity Pilot module and follow the installation instructions.

Once you've installed the module on the Drupal 8 sites you wish to share content between, create an Entity Pilot account on each site and enter the Black Box key and Carrier ID you received during checkout. If you didn't write them down, you can login to your account and retrieve them from the Licenses tab.

Next, create a secret key on one of your sites and copy it to the other site(s). Entity Pilot uses this key, along with the best of breed PHP Encryption library to encrypt your content before sending it to your personal content repository. You can have the module generate an appropriate random key for you, but make sure you use the same key on both sites, otherwise the receiving site won't be able to decrypt your contents. Because your key is never shared outside your own network of sites, your content is safe and secure.

Sending your first departure

Sending content to Entity Pilot is done by creating a new departure on the sending site. Give the departure a name so you can recognise it at the other end and use the Passengers field (powered by Dynamic Entity Reference) to add the items of content you wish to send. You can send any content-entity.

Don't worry about adding dependencies, these are automatically detected for you. For example if you're sending a piece of content (node) that contains an image field and a term reference field, the departure will automatically add the image file entity, any tags you reference and the content author to the departure. After saving your departure you're given the opportunity to approve the dependencies it added, so you can always go back and add some more if you forgot to add something. Some limits apply to the size of each flight, but unless you're sending a large number of high-quality images, these shouldn't be a problem.

From the approval screen you're given the choice to 'Approve' (and save for later), 'Approve and Queue' (approve and send in the background) or 'Approve and Send'. Given this is your first flight, you're probably wanting to go with 'Approve and send'. Now wait while your content is encrypted and sent to your personal Entity Pilot content repository. The time this takes will depend on how big your flight is (and in particular how large your image files are) as well as your upload speeds.

Receiving your first arrival

Now you've sent some content to your personal Entity Pilot content repository, its time to import it on another site.

If your sites don't share the same configuration (e.g. content-types and fields), sync your config. Entity Pilot will silently ignore missing fields, but you need to make sure you're comparing like for like when it comes to content-types and other content-entity bundles. Syncing fields will make sure you get the maximum benefit out of transporting your content between sites.

On the receiving site, you should have already created an Entity Pilot account, adding your Black-Box key, Carrier ID and encryption secret as per the sending site.

Now you need to create a new Arrival. This will present you with a list of the flights you've previously sent to your personal Entity Pilot content repository. Select the flight you wish to land (import).

After saving the new Arrival, your site will download and decrypt the contents of your flight from Entity Pilot and present you with the approval screen.

This gives you the opportunity to preview the incoming content, or in the case of existing content - view a diff. After reviewing the incoming content, select the items you wish to import and approve the Arrival. Again you're given three options: 'Approve' (save your selected approvals for later), 'Approve and Queue' (approve and land in the background) and 'Approve and Land'. Again, as this is your first flight, you'll probably want to 'Approve and land'. Wait while the landing is processed and then view your imported content!

Getting help and reporting issues

As this is still the beta-phase, you might encounter some issues. If that's the case please check the issue queue; read the documentation; or file a new support issue or bug.

Feature requests

See the the roadmap or add a new feature request.

Requesting a demo

If you're an agency and you'd like a demo of how Entity Pilot might fit your client's needs, don't hesitate to get in touch.


To all of those who contributed to Drupal 8, thanks for making such a great product, we look forward to the next chapter in Drupal's history.