Exports made easy with Element Exporter for Craft CMS

Studio Espresso March 11, 2024
Source
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!

Discussion in the ATmosphere

Loading comments...