No, we're not quite 50 years old yet — but today marks another milestone. It's our 50th plugin on the Craft plugin store, and that's worth celebrating! It's something we've been working on for a while and kept under wraps, but we think it'll be a game changer for managing content across installs.
You may have also noticed our website has a fresh coat of paint to celebrate the occasion and doubles as the perfect use-case for our new plugin.
​A look back#
Before we get stuck into the new stuff, let's take a look back at the early days of our plugins — and just how far we've come. We can't believe it's been 8 years of plugin development for us 😱.
​Where it all began#
All the way back in 2013, we were still using ExpressionEngine and Wordpress to manage content — like many of you at the time. We'd heard some rumours of Pixel & Tonic (the creators of some excellent ExpressionEngine plugins) working on something called "Blocks" (later changed to "Craft"), and were impressed with the fresh, modern approach of their new CMS. But we were content to stick with "the devil we knew" and keep a watchful eye.
That all changed on November 5, 2013 (opens new window) when Craft 1.3 debuted a new feature called "Matrix". This, to us, was a true game-changer, and decided it was time to make the switch in earnest.
After a few site builds, we'd already started diving into the source code of Craft, to really understand how things work. We were impressed by the quality of code and organisation, and started to tweak things here and there. Eventually, finding our way to the plugin architecture to develop actual plugins that others might find useful.
Before there was a plugin store, there was Straight up Craft (opens new window) from Ben Parizek at Barrel Strength Design. It was your go-to resource for not only plugins with learning how to use Craft. It was here that the very first plugins emerged...
By 2015, we'd become pretty empowered by what Craft offered. With no less than a billion ideas swirling around our heads, we set off on our plugin development extravaganza!
Originally released under the S. Group (opens new window) brand (our parent creative agency), we released our first few plugins:
- Feed Me (Mar 2, 2015)
- Field Manager (Mar 4, 2015)
- Set Table (Mar 5, 2015)
- CP Nav (Mar 13, 2015)
- Comments (Mar 22, 2015)
- Super Table (Apr 9, 2015)
- Expanded Singles (Apr 21, 2015)
- Asset Count (Jun 7, 2015)
- Image Resizer (Sep 19, 2015)
- Workflow (Nov 16, 2015)
Clearly, we didn't sleep during 2015. Set Table (opens new window) was a precursor to Super Table, allowing you to create static rows in a table field. CP Nav (opens new window) came out just hours after a
modifyCpNav() hook was added to make editing the control panel navigation possible.
A distinct memory is the conversation with Brandon Kelly (opens new window) in 2015 about the best way to achieve nested Matrix in a plugin. Which, thanks to that is why we have Super Table (opens new window). Also, asking Ben Croker (opens new window) very nicely to use his Entry Count (opens new window) plugin as the basis for Asset Count (opens new window). Even long chats with Andrew Welch (opens new window) about creating a new forms plugin (despite competition already out there) with Formie (opens new window) and a new content field with Vizy (opens new window).
It's this great sense of community that makes Craft so special, and is why we love creating things for you to use. Craft continues to stay relevant and evolve, which is what drew us to the platform in the beginning — and we're thrilled to see Craft and the community continuing to grow.
So here's to another 50 plugins! 😎
Taking the title of 50th plugin is Zen. It's a plugin all about keeping your environments' content consistent and "in-sync".
Have you ever had a scenario where you've launched a site, and 6 months down the track you need to develop a large new feature? This might include new fields, sections, templates and more. Most of this is stored in Project Config, in a Git repository and can be easily deployed to multiple servers. But what about the content? You'll likely be creating new content such as entries, or modifying existing ones. You could also be adding categories, uploading assets, Matrix blocks, and so much more.
Or maybe your client has a staging site setup where content can be planned and tested (along with any improvements) before being launched on the production site?
Until now, getting all these content changes to production has been a manual copy-paste process. This is clearly time-consuming and error-prone. We think you could spend your time better, and save you from late nights hunched over a desk hitting
⌘+V into what feels like an eternity.
This is where Zen comes in.
​How it works#
Zen is a glorified import/export plugin just for your content. It's geared towards synchronising content on the same project across multiple environments, to address exactly the scenarios as above.
It works by selecting the elements and date-changed range on the source install you want to export content from. This will generate a
.zip file of the element, including any assets used, which you can download.
.zip file, you'll be able to import on the destination install — say a production environment. Zen will compare any existing elements, and provide feedback on whether the content in your export is new, changed, deleted or restored elements. You'll even get a preview to compare the old vs new element. Once prepared, content is then imported with Craft's queue.
Currently, Zen supports all Craft core elements, and Commerce Products/Variants. It also supports content for all Craft core fields, Neo, Super Table and most (simple) third-party fields. But Zen is built when extensibility in mind, so you can extend or add new elements/fields as required.
​Putting it to the test#
You might have already spied some new design elements on our website, as we felt it was high time to refresh things after 6 years. One of the biggest things we wanted to achieve was loading all our plugins on the site, including better categories (due to the sheer number of available plugins), and some more content-driven call-to-actions.
This posed a challenge. How do we go about populating that content, designing and testing it locally for 28 new plugins without having to do everything all over again when we launch the changes?
Such a challenge was exactly what Zen excels at, and as you can see — we made it! In fact, it took about 5 minutes from generating the export, double checking the changes to running the import. Without the heartache and stress of dealing with content migrations, we're happy to say it all went incredibly smoothly. We were able to model up our content locally without having to redo the work on staging/production.
We hope you find Zen useful and another toolkit in your belt when it comes to handling content across multiple environments. We've got some interesting ideas on where Zen might head from here (like a general-purpose import utility, and mapping field content) to rival Feed Me (opens new window), but we'll see where things take us.
Zen (opens new window) is available today for Craft 4 for $99.
Until next time!