Decide for one or more projects
One of the initial decisions of your Kontent implementation will be how many projects you want to use. The main difference is between using one and using more projects. Both approaches have benefits in different use cases. If you choose well, you can maximize the benefits while not being affected by any downside.
In most cases, a single project is sufficient to cover typical content needs. But there might be some exceptions when you'll benefit from using more projects. The question typically is whether all content can share most of the settings or if you need to separate your content in some way.
Table of contents
- Use one project unless you need to separate content. More projects can create obstacles in reusing content.
- If you choose to use multiple projects, think about connecting them so that your content creators and Kontent administrators don't have unnecessary administration overhead.
- Agencies should always create separate subscriptions for their clients.
Questions that will help you
To decide if you need one or multiple projects, answer the following questions. Are you going to...
- Use one workflow for all content only?
- Use the same set of roles without overlap on all content?
- Keep your content model unified across all content?
- Need to reuse content across all content?
If you’ve answered positively to all the questions, go with one project. If you've answered negatively to any of those, consider multiple projects.
Digital agencies implementing for a client
If you repeat certain patterns when implementing your clients' projects, create a project template. You can clone the template for every new client and use it as a starting boilerplate, to make your life easier.
What's shared within one project
But what are the main settings that are shared within a project? Here are the settings that you can only have once in each project:
- Content model and related functionality
- Workflow (but it's possible to create a workaround for multiple workflows)
- API keys and webhooks
Multiple development environments
One of the typical scenarios that can change your decision is that you want your developers to implement and test separately from your live application. No one wants to have a website down when the devs are working. Yet, you can achieve the best results if developers work with real data.
Kontent allows each project to create more environments for such purposes. Instead of copying projects for your developers, you create an environment with a snapshot of the current data. Your developers can then improve your project and applications feeling safe. When the devs are finished with the improvements, they'll merge them into the live app.
Maximize the benefits of more projects
Even if you've decided on more projects, there still might be some benefits of one project that you'd like to use in your setup.
For example, if you have content managed in one project and the content should be reused in other projects, implement a custom element. This element will allow your editors to reuse content from that “global” project in any number of other projects.
For syncing content among multiple projects, use webhooks and another service suitable for this (such as Azure functions). Or, you might also want to display content from more projects in one place. Both scenarios are possible when you share content between more projects.
Content model reuse is a bit more tricky, but you can use our Management API to keep the content model in sync among multiple projects.
Stay tuned for improvements
We're currently working on significant improvements in this area. It's also another reason to choose only one project as the transition path to use the new functionality will be easier. You can subscribe to our RSSOpens in a new window to get notified about the new additions to Kontent.
Deciding whether to use one or more projects opens the door to creating a content model. But before you do, think about what approach you want to choose for assets, which can affect the content model as well.Choose your asset approach