Content management with Prismic

Gert-Jan van de Streek

Gert-Jan van de Streek

Published: 1 May, 2014

Our first project that makes use of the writing room and content query API from Prismic has been live for a while now. We are working on a second project using Prismic so it's time to let you know what we think of it.

What is Prismic? It's a content store for structured (website) content. It includes a backoffice with all the tools for writing the content, limited markup capabilities and image editing. To retrieve that content Prismic defines a REST API and to make life easier there are starter kits for JavaScript, Scala, Java, PHP, Ruby, Python, .NET and iOS.

And that's precisely the reason why we like it. We want a good content store with good tooling, but we like to pick our own technology stack to implement the application or website that makes use of that content. We've been using cms's that force you to use Java and while you can get it to work, it's cumbersome if you are a total believer of another hipster dev stack.

So, here's what we like:

  • As discussed above, the freedom of choice
  • The Writing Room is great and especially the image editing is awesome. There are also helpfull tools, like history and version comparison.
  • A publishing process based on releases (including scheduling) helps your content team keep up the content quality
  • json document masks: creating content structures is easy enough and you'll be up in minutes writing the first content. Here's what a simple entity looks like:
    {
    "Testimonial" : {
    "name" : {
    "fieldset" : "A person of flesh and blood",
    "type" : "Text",
    "config" : {
    "placeholder" : "First and last name"
    }
    },
    "job-title" : {
    "fieldset" : "His/her job title",
    "type" : "Text",
    "config" : {
    "placeholder" : "The person's job title"
    }
    },
    "testimonial" : {
    "fieldset" : "Testimonial",
    "type" : "StructuredText",
    "config" : {
    "single" : "paragraph,em,strong",
    "placeholder" : "Kind words (1-2 sentences, 20-30 words)",
    "minHeight" : "100px"
    }
    }
    }
  • A very high quality example project showcasing all of Prismic
  • Decent documentation
  • I already mentioned the API's above, we happily use the JavaScript kit.

Here's what needs improvement:

  • Bulk actions. Content publishing and requests for publishing is currently a tedious task.
  • Ordering. There's a list-like concept (Group) but items cannot be reordered. Especially in early content editing stages this will annoy the heck out of your content writers.
  • The UX/UI experience. There's a couple of things here
    • Keyboard navigation is near to impossible. Tabbing in and out of fields doesn't always work. Vimium and other navigational helpers don't work because of the fancyness of the implementation. Personal, admitted, I would be satisfied with Prismic native keyboard shortcuts and navigation.
    • Publishing (requests) take a lot of mouse clicks (5-6 and really I need keyboard navigation as well here). Plus you have to do this for every item, I mentioned bulk actions above.
    • It looks good, no doubt about it, but if you work with it for a couple days it turned out to be too good for me if that's possible. The interface looks like a big lollipop that tastes good the first minute, but gets a bit sticky after that. Let me explain. All documents are displayed using an extraction of the content, using a title, an image if it's there:
      writing-roomGreat! But not if you're looking for a specific piece of content in a big list. It would help if there was a much more condensed table view on the content, with an option to preview if you if you want to ensure you pick the right item. Blah, I'm being old fashioned here probably, but content editing is work and I need speed, not sweet.

Some of these issues have been reported to Prismic and we've received instant response on every single issue. Based on the reponse I trust Prismic to improve in those areas. The lollipop experience may be very personal for me and I didn't talk to them about it yet.

To sum up, we're very happy with the freedom of choice for our dev stack. Our content writers seem to like the Prismic Writing Room and with their awesome support in mind I can only be very forgiving about the areas for improvement.

We like it and I very much encourage you to check it out!

 

Did you enjoy reading?

Share this blog with your audience!