The DatoCMS Blog

Build the perfect CMS: introducing Plugins

Posted on October 29th, 2018 by Stefano Verna

Possibly the single most-anticipated feature for DatoCMS ever, is finally here: DatoCMS plugins.

While DatoCMS offers a great number of fields with different appearance configurations, it’s obvious we cannot cover every possible scenario. Plugins aim to provide an amazing experience for DatoCMS editors, by letting developers replace the default fields that DatoCMS provides with third-party HTML5 applications, so the editing experience of every DatoCMS project can be fully customised.

What you can do with plugins?

Glad you asked! Basically anything you could think of inside of a form.

Technically speaking plugins are small HTML5 applications that exist in a sandboxed <iframe> and interact with the main DatoCMS web-app through the Plugins SDK. They can be implemented with basic HTML and JavaScript, or using more advanced client-side frameworks such as React, Angular or Vue.

Using our SDK, plugins are able to show/hide record’s fields based on some condition:

Fetch/use/present data coming from external systems like Shopify:

Or just make editing experience more intuitive, like using a star rating widget instead of a plain textual input:

How to install them

Just head over our Plugins section and click the install button: you will be able to specify in which one of your projects you want the plugin to be installed.

Once installed, a plugin can be assigned to one (or many) fields. In the Presentation tab of your field settings, choose the plugin as the field editor, and configure its settings:

Help us build an ecosystem!

We already released an handful of plugins, and we’ll keep on shipping new ones, but the real magic starts if you, our users, will decide to help us build a flourishing ecosystem.

We made it extremely easy to create new plugins. They are just NPM packages, so if you’ve ever released a package, then you’re already pretty far along. We’ve also made available lots of resources to start hacking around right away:

On Slack we’ve just created a new #plugins channel, so please don’t hesitate asking for help!