UI extensions, as seen in Contentful

I would like to see Prismic implement something similar to Contentful's UI extensions. To me, it is their killer feature.

See https://www.contentful.com/blog/2017/10/09/creating-ui-extensions-with-contentful/ for a full description and walkthrough of how the feature works.

To put it simply, Contentful allows the developer to build their own pieces of UI to use within Contentful's equivalent of the writing room. The UI code the developer has written is loaded inside an iframe, and can communicate with Contentful, for example to get existing field values, and to send back edited ones. They provide a stylesheet you can include so that your widget blends in with the rest of the UI.

I've used this feature in the past to build a custom interface for a "group of text fields" type. The existing UI options were lacking in various ways, and I knew I could build an alternative UI which would solve all of those issues. My extension is available for all to use via Github. I found the process of building it very intuitive and easy. It was an excellent experience and I have since found myself hoping other clients would be in need of similar things so I could do it again.

I found the ability to do this in Contentful wonderful. It meant I didn't have to wait for the staff at Contentful to agree that there was no widget suitable for my use case and didn't have to wait for them to build it even if they did agree; I could just do it myself.

Issue that it solves:

When none of the available field types are suitable for the data I want my content writers to be able to add and edit. I can build a piece of UI just for the purpose, or use one somebody else has built.

One particular example right now is that I want a better way to make a nested data structure. (I opened another thread about this.) If you were to allow arbitrary JSON to be saved in a particular field type, and allow custom pieces of UI for that JSON field, that'd be all I need. I could then write a UI to add and edit this data structure.

1 Like

Thanks for this suggestion, @bart! I'll share it with our product team and follow-up here if we have any updates.

This is being tracked as an open feature request.

If you have another use-case for this feature, you can 'Flag' this topic to reopen. Please use the :heart: button to show your support for the feature and check out our Feature Request Guidelines.