A brief overview of the technical platform for alpha.bath.ac.uk

Posted in: Beta, Content Publisher, Development

Our current CMS platform was introduced in 2007. It is a large, monolithic Java application which is hard to extend or customise. For the Alpha of a new CMS we wanted to base it on a popular web framework which would allow us to easily customise and extend a core platform, whilst also allowing us to use a broad range of third-party libraries.

We decided to base our Alpha on Rails, Contentful and Hugo. We used Rails to build a lightweight admin interface which changed our content in Contentful. Clicking 'publish' then sent a webhook notification to another Rails application we wrote which then used Hugo to regenerate the static HTML page. This general system design of loose coupling worked well and was a good introduction to the strengths and weaknesses of each of the tools we used.

We will keep Rails and Hugo as we move into the beta, but the libraries for interaction with Contentful were just too slow for us to use in real time. After we'd finished our Alpha a set of third-party libraries were released which might have helped, but nothing would be faster than connecting to a content store running here, and so that's what we'll do for the beta.

Posted in: Beta, Content Publisher, Development


  • (we won't publish this)

Write a response

  • Chris from Contentful here.

    1) Regarding the Ruby libraries "speed limits" for use in real-time: Our ecosystem developers would love to get in touch to learn a little more about your setup and see if we can help you speed it up. Can you send us a mail support [at] contentful.com? That would be really sweet.

    2) Regarding a local data store: Depending on what your use case is, there is a good chance that non-developers will write and edit content later on. In that case, you really want a system that is not just a database/generic data store, but has implemented all the content management features that makes a CMS a CMS: Writing, validations, workflows, audit trails, multi-language support, search, tagging, in-editor content guidelines, etc. That is the value that a content management backend such as Contentful brings to the table.

    That said, we're really excited to see bleeding edge developing done with our API.

    • Hi Chris, thanks for the reply. We did contact support when we were in development and sent sample code across but there was no solution at the time for what we were doing. It appeared to be down to a bug in the contentful gem. It may have since been fixed but we haven't looked.

      We learned a lot from using contentful and I certainly recommend people take a look.

      • Ah, we found it. Indeed, when you guys where working on this the library was way to slow in combination with the rails app that we had as an example. We fixed it in January.

        If you are moving to beta, you may want to give the rails app another look.

        And sorry for taking so long to fix this...