Skip to content

Exports made easy with Element Exporter for Craft CMS

I'm happy to release a first version of my new plugin today: Element Exporter. The plugin tries to take the hassle out of exporting data from your Craft CMS website, and it was built with customizability in mind. Let's have a look!

In at least 3 out of every 5 projects I've ever built at work, some sort of data export was needed and usually it needed to be custom built, since the format or the processing the client requested didn't match the default output of the CMS or framework in question.

So we'd spend lots of time, repeatedly, building similar solutions for different clients, just different enough each time to make it so we couldn't copy over what we did for the previous project. That's expensive for the client and not the most thrilling work as a developer.

So I decided to try and build a plugin that handles exports in a flexible, scalable manner - while leaving room for integration and customization when needed.

The plugin relies on a couple of core principles:

  • Exports are handled through Craft's Queue system (specifically the batched queue jobs)

  • Exports are delivered through e-mail when the queue job has finished

  • Each field can take up 1 column in the export

In the first release, the plugin has support for exporting:

In the first release, the plugin has support for exporting:

  • Craft's Entries & Categories

  • Formie Submissions

What about Craft's built-in exporter?

In version 4.x, Craft added an export option to element overviews. And it works - sort of. It only allows the user to export the items that are currently in view - limiting it to exporting 100 items at a time for core Craft elements. It comes with JSON or CSV formatting, and contains all data available for the element.

The combination of these limitations results in the core export function not being an ideal solution for most clients.

I've had lots of fun building this plugin and I've learned a ton along the way. It was also my first time working with Sprig in the control panel and probably couldn't have made it  this far without it :).

Documentation on how to use the plugin and how you can extend and customize it can be found here.

I really hope you'll give it a try the next time you have a need to create a custom export!


Studio Espresso

Studio Espresso Monthly

Once a month, I send out a personal newsletter where I talk about my work, life and interesting things I’ve seen and done. Broader than web development and a bit more personal. If you’re interested you can subscribe below.
© 2024 Studio Espresso