Pluggable Module Architecture
Redakt CMS is built on a highly modular architecture. Many of these modules can be swapped out for other implementations, or you can develop your own module implementation. The Redakt architecture consists of several different module types, which can be divided into three main categories.
Environment-specific data module types
These modules determine how Redakt CMS handles and stores data. This depends primarily on the target hosting environment. Every project setup using Redakt CMS should start with selecting and configuring these environment-specific data modules.
Non-environment-specific module types
Besides environment-specific data modules, Redakt CMS contains other module types that can optionally be changed. These modules are not dependent on the hosting environment chosen. In almost all cases, the default setup will be fine, and only needs to be changed for specific use cases.
Feature modules are single modules and not swappable for other module implementations. Rather, they add a feature to the system, which will not be enabled unless added explicitly. The most commonly used feature module is the Redakt back office.
Feature modules also require their middleware to be added to the request pipeline, whereas other modules do not.
Why do we not enable these (common) features by default? Because for example, this enables you to have a public facing website which does not include the back office, in combination with an internal back office application, isolating your back office from outside attacks and keeping the public website lean at the same time. Fewer features that are enabled by default results in fewer available attack vectors and better performance.