Configuration Guide

For a large part, Redakt CMS is configured through its pluggable module architecture. The Redakt system consists of modules that can be swapped out for other ones. All Redakt module registration is done in a single place, in your project's Startup.cs file. See dependency injection for a general description on how to register Redakt modules.

Minimum configuration

At the very minimum, you need to separately install and configure a data store module. The data store module is the only required module that is not included in the core Redakt CMS packages.

Redakt CMS requires 4 module types to be installed and configured:

  • Data Store: this is the database where Redakt stores and retrieves your website data.
  • File Store: this is where Redakt stores and retrieves your uploaded files (media, documents, etc.).
  • Application Cache: this is where Redakt stores and retrieves cached data items.
  • Service Bus: this is how multiple Redakt instances communicate with each other in a load-balanced environment.

A default Data Store is not included in the package and should be installed separately. Depending on your targeted hosting environment, other module types may need to be installed and configured as well, or you may be able to use the default modules. See hosting scenarios for a description of several typical hosting scenarios.

Module installation & configuration

Setting up a module is done in 3 steps:

  • Install the appropriate NuGet package
  • Add the module implementation to the services collection through the Redakt builder
  • Set configuration in the appsettings.json file

Install the NuGet package

If you want to use a specific module implementation, you first have to install the appropriate NuGet package. You can find the NuGet package you need on the specific module's documentation page. The default Data Store, File Store and Application Cache modules are already part of the core package and do not require any additional package to be installed.

Add to services collection

Now that you have installed the module's NuGet package, Redakt CMS needs to be informed that you will be using that package. This is done by adding the module's implementation to the services collection in the Startup.cs file, as explained above. All Redakt modules have a single extension method that will do that for you. This is done by calling that method on the IRedaktBuilder action delegate in the AddRedakt call. You can find the exact method name on the specific module's documentation page. For example, the MongoDB data store module would be added with the following code:

services.AddRedakt(this.Configuration, builder =>
{
    builder.AddMongoDbDataStore();
    builder.AddBackOffice();  // The back office module was already added
});

Set module configuration

Most modules also require some configuration to be set in the project's appsettings.json file. Consult the module's documentation for all configuration options.

Feature modules

For most websites, you will also want to add the Redakt back office, and possibly the Headless Content API for single page applications. Consult their respective documentation pages for how to configure these features.

Web configuration

Implementation

After successful configuration of your system, you can start implementing your web application. See the implementation guides for more information.