The backend of the arvato brochure builder - the web application we built for them last year - is powered by Craft CMS. We haven’t seen much written about this type of use-case so I figured others might find it useful to hear more about the project.
Using a content management system essentially as a web development framework for a custom application is not something we’d always recommend but, as with many things these days, it depends.
Before going any further you might want to first read our launch post, "An online brochure builder for arvato", or watch this demonstration video showing the brochure builder in action.
We ran a requirements workshop with arvato and the high-level needs came down to this:
As well as gathering the requirements, we also used this workshop to discuss any constraints of the project which might impact our decisions.
The major constraint that’s worth mentioning is that, due to the impending launch of their new global brand, we only had four weeks to launch a first release. Yeah, I know. This meant that which ever tools we did choose, we had to have complete confidence in them.
With not much time to accomplish what was needed we quickly moved on to talking about whether we could use any off-the-shelf products to speed up development.
Specifically we asked ourselves, what could we get out-of-the-box if we used our preferred content management system, Craft CMS?
All looking good so far.
Just to be clear, Craft CMS is without doubt the most flexible and powerful content management system we’ve ever used. There’s no way we’d ever consider using Wordpress or similar off-the-shelf products for this type of web application.
While some people may say it could be done, for us the amount of manipulation and custom development required would come with too many disadvantages to make it a sensible decision.
The brochure builder itself would require some custom development.
The interface was no problem - Craft's template system would give us all the flexibility we'd need - but the functionality to merge the PDFs into one would require a plugin.
Is this a disadvantage? Not really. Regardless of whether we used an off-the-shelf product or a PHP framework such as Laravel, the feature would still require some development effort. The questions we had to ask were can we develop this feature using Craft's plugin architecture, and are we making any sacrifices by doing so?
Depending on how much custom development your application requires, you also need to weigh this up against what you're getting out-of-the-box. A simple two-column list on paper is a great way of weighing this up.
We obviously chose Craft CMS as the platform to use for this project and never regretted that decision.
Here's a few notes about how things panned out:
This opened up lots of possibilities for future phases of development. We now have a future enhancements list including giving users a library of brochures they've build, allowing them to edit existing brochures, and exposing analytical data to administrators such as who's using the tool and which inserts are being used the most.
All of this was done without feeling that we'd had to bend or manipulate the off-the-shelf product to do something it wasn't intended for, and without any scent of CMS Smell for the administrators or end-users.
If you need help making a similar decision as described above, or you're looking for a Craft CMS developer for your next project, I love to hear from you.