In most cases, Redakt CMS will be setup in a web project with the back office application and other features included. However, in more advanced scenarios, you can create different applications for web rendering, back office, automation, etc.
In general, there are two common ways to setup different types of applications. For a web application that needs to render web pages, start with the
Redakt.Web package. For other applications, start with the
Redakt.Core package. Here, we describe some of the more common application scenarios.
When you are combining multiple Redakt CMS projects in a single platform, make sure that you install and configure environment-specific data modules the same way for all projects in the platform.
All-in-one web application
The most common setup is a web application that contains the public website rendering as well as the Redakt back office application. This is what you end up with after following the getting started guide. Follow that guide if this is your preferred setup. You can optionally install the Headless Content API feature, if you need website content via an API (e.g. for a single page application).
Separate back office
If you prefer to host the back office application standalone or behind a firewall, you can create a separate back office web application project. You only need to install the
Redakt.BackOffice package, which includes all dependencies for running the back office application, and any required data modules. In this case, you will want to leave out the back office package on the public website application.
This is also a good setup for load balanced environments. In this case, the back office application would be hosted on a single instance, while the public website is load balanced.
Redakt CMS does support a load balanced back office application, however it is recommended to host the back office application on a single instance to avoid concurrency issues.
Single page application
If you are creating a single page application (SPA), and do not need traditionally rendered web pages, you should install the
Redakt.Web.Api package and any required data modules only. The
Redakt.Web package is not needed in this case. You can install the back office in the same project as well if needed. See also Headless Content API.
It is perfectly possible and supported to create a console application with Redakt CMS. A console application could be used for certain automation tasks, like importing from a 3rd party data store or responding to CMS events, without impacting the main website.
When creating a console application, install the
Redakt.Core package and any required data modules. Write your code using the service layer in the
IRedaktApplication implementation taken from the IoC container.
This would work in exactly the same way as with a console application, except the application is hosted in a service host.