Can we do that in Contentful? Custom Apps
As a developer, when working with clients new to Contentful headless CMS, I have had a lot of conversations that go something like the following. A specific business case is explained. It’s very unique and may or may not require an integration. Finally, it needs to be this way because it works better with an existing workflow. This conversation always ends with the question, “Can we do that in Contentful?”
The bad news is, for business-specific requirements and workflows, it’s pretty hard to find any CMS that does exactly what you want out of the box. The good news is that with Contentful pretty much anything is doable because of their robust App Framework.
Contentful’s App Framework allows you to create custom apps that integrate seamlessly with Contentful. With the App Framework, you can add new functionality to Contentful, customize the user interface, and create custom workflows to improve your content creation process.
Benefits of the Contentful App Framework
As I mentioned above, the App Framework is great if you need implement a feature specific to your business needs. I wanted to list out some specific benefits of the App Framework that can help when trying to incorporate Contentful into your workflow:
The App Framework allows you to create your own Contentful apps giving you the ability to add new functionality and modify the user interface.
Modifying the user interface is a frequent customer request. With the release of Contentful’s Compose, editors are now presented with an experience more similar to a traditional CMS. People new to Contentful will be able to more easily navigate a headless CMS. The endless customizations allow us to make the experience more comfortable for your team. We can create a simple data view in the side panel to see analytics about a specific page or create a custom field to pull in product data from a PIM.
The App Framework makes it easy to automate workflows, or hook in to existing workflows. While Contentful already has a robust content editor workflow, you may want something custom. This could be anything from a notification in Microsoft Teams to a weekly report about the amount of content edited/created each week.
Each App is its own separate component. If you need to remove, create, or modify an App, it doesn’t effect other apps deployed. As your needs change, you can modify or add new apps to meet requirements
Getting Started with the Contentful App Framework
1. Create an App
To create a new app, you can run the
create-contentful-app CLI (Command Line Interface) to setup a default App. Check out Contentful’s quick start guide on app development for more details and prerequisites.
2. Configure the app
Once you've created your app, you'll need to start developing it to make sure it meets your business needs. This will vary from organization to organization. As we mentioned before, this can include anything from a UI update to integrating with a 3rd party tool. Well-documented requirements will make App development easier. If you need to integrate with a 3rd party service, you may want to check out Contentful’s tutorial on building a backend app.
3. Test your app
Before publishing your app, make sure it meets your requirements and doesn’t contain any bugs. I advise creating a test space to install the app and going through all the functionality to make sure it works as expected. Install and reinstall the app to make sure configuration issues don’t arise.
4. Publish your app
After you have built and tested your app, its time to deploy it to your space. For Contentful to use your app, it needs to be hosted on a public URL. Contentful provides a service for hosting your app.
You can also host it on your own site if you want to be able to use it across multiple Contentful instances. I would recommend setting up continuous integration and continuous deployment from where you code is hosted. CI and CD allows you to immediately deploy updates to your app without manually packaging and adding your code to Contentful.
The Contentful App Framework is a powerful tool that can help you improve your content creation process by creating custom, scalable, and maintainable apps that help you adapt to your business needs.
If you are working in Contentful and need help implementing an App, feel free to reach out and we can discuss how we can make your Contentful experience even better.