1. Introduction

Companies must be where their customers are. Simply providing information on their own company website is therefore no longer sufficient. Instead, customers have to be addressed through various channels, the number of which is growing at an ever faster rate. The ability to distribute content flexibly is a basic requirement for this.

Content as a Service (hereafter referred to as CaaS) offers companies the agility necessary for this customer communication. It enables the provision of content fragments and has an interface for their retrieval. Without any additional implementation effort, data can thus be reused indefinitely. Publishing to a targeted channel is no longer necessary.

In accordance with the best-of-breed philosophy, the design and composition of the presented contents are thus completely detached from FirstSpirit. This increases independence, flexibility and speed in project implementation.

2. Architecture

The functionality of CaaS is realized by an architecture of different components.

These components are:

  • CaaS platform

  • CaaS Connect module

The CaaS platform is backwards compatible with the CaaS module v2. For migration scenarios the modules in version 2 and 3 can be installed in parallel on a FirstSpirit Server and connected to the same CaaS platform.

caas architecture
Figure 1. Architecture

The interaction of the components follows the following scheme:

  • The creation and editing of editorial content takes place in FirstSpirit.

  • Changes made in the editorial environment are automatically transferred to the CaaS platform. (When the CaaS module with version 2.x is used, changes get transferred via FirstSpirit generation schedules)

  • The CaaS platform provides the data using the same model that was being used when transferring data to it from FirstSpirit. Preview and release data are stored separately. Historical data is not available via the CaaS platform.

  • To access the repository data, the CaaS platform provides a REST & GraphQL Interface. It provides various filter and projection options for querying. The access is secured via API keys.

  • The customer’s client application requests the stored information from the CaaS platform as needed.

3. Components

CaaS contains the following components:

Table 1. Components
Component Documentation

CaaS platform

CaaS Connect module

CaaS module v2
(deprecated - should only be used for migration purposes)

Further information is available in the separate documentation listed in each case. These cover topics such as installation, operation and use, as well as all information regarding the update of the components, in particular release notes.

In addition to the CaaS components, the Omnichannel Manager (OCM) is used for editorial work. With OCM content can be managed directly in the customer web application. The Navigation Service is used to provide navigation data to the customer web application. It is available as part of our SaaS offering.

You can find more information about these components here:

4. Migrate CaaS module v2 to Connect

In 2020 the new FirstSpirit module CaaS Connect has been developed as successor of the former CaaS module. This offers many advantages and is the new standard to connect FirstSpirit to CaaS.

The CaaS module v2 was superseded by CaaS Connect in July 2020. Crownpeak Technology GmbH still provides compatibility to the CaaS platform and to FirstSpirit.

The main advantages of CaaS Connect over the previous module are:

  • simplified configuration of the module, in particular no definition and configuration of template sets

  • unified JSON schema for all FirstSpirit content

  • generic URL scheme based on unique FirstSpirit UUIDs

  • automatic deployment of both preview and release data without executing schedules

  • improved support for media and datasets

This consolidated representation in CaaS also serves as the foundation for developing additional functionality and services for the digital experience platform. However, migration to CaaS Connect cannot be automated as some fundamental principles differ between modules.

4.1. JSON Format

With CaaS Connect, the JSON format defined by FirstSpirit is used, so there is no need to define and configure a specific template sets. The FirstSpirit form is used as the basis for generating the data. Changes to this are automatically applied to the resulting JSON when data is changed.

At the same time, however, changing the data format for migration also means that the consuming applications and web pages must be adapted.

4.2. HTML generation

Previously, it was possible with the CaaS module to generate arbitrary HTML as part of the JSON. After deployment to the CaaS platform, the HTML could be displayed directly in the frontend.

With CaaS Connect, this approach will no longer be possible. Instead, the focus will be on pure JSON content in the CaaS platform. This will more strictly separate the definition and presentation of the content. Potentially needed HTML must therefore be generated in the frontend or other clients.

4.3. URL Schema

In addition to the data format, CaaS Connect also defines a standardized URL scheme for the CaaS. The FirstSpirit UUID of the corresponding objects is used as a basis for the URLs, so that a uniqueness of the data in CaaS can be guaranteed.

In addition, CaaS Connect manages preview and release data in the same CaaS database, but still separate collections.

4.4. Migration strategy

Since migration is a certain effort, we made sure that the modules can be run simultaneously, even within the same project. This approach minimizes the effort on the part of the FirstSpirit project, allowing you to focus on migrating all consuming applications and frontends step-by-step.

The preconditions of the following migration strategy are a functional FirstSpirit server, a configured CaaS module v2 and as deployment target of it a CaaS platform instance. So, provided you are already using CaaS in your FirstSpirit projects, there is nothing to stop you from migrating.

4.4.1. FirstSpirit

The following preparatory steps are to be performed on the FirstSpirit server:

  • Installation of the CaaS Connect module

  • Configuration of CaaS Connect against the existing CaaS platform

  • Initial deployment to the CaaS platform by the CaaS Connect module.

From this point on, the FirstSpirit eventing will automatically update the data.

Now the data of the FirstSpirit project is available twice in the CaaS platform. Once as before in the specially defined format by the CaaS module and once in the standardized format by CaaS Connect. Since the URL schemes are different, there is also no risk of overwriting each other’s data.

4.4.2. CaaS Consumers & Frontends

Once the dataset is available in both formats in the CaaS platform, this provides an ideal foundation to iteratively migrate the consuming applications and frontends.

At this point, due to the individual project situations, we can unfortunately only give you the idea of the migration and no concrete steps. Essentially, it is necessary to define a sensible iterative procedure for the migration. This can be based on various criteria, depending on your specific project situation and the number and complexity of the CaaS consumers and FirstSpirit projects.

You can either proceed iteratively per FirstSpirit project or per consumer. Both on FirstSpirit project and on the consumer side there are more small-scale building blocks that can be migrated independently, such as:

  • pages & page references

  • global content

  • data sets

  • media

4.4.3. Completion of the migration

Once all consumers have been migrated and the data in the format of the CaaS module is no longer consumed, this module can be uninstalled. Subsequently, the corresponding databases and/or collections can also be removed from the CaaS platform.

CaaS is a product of Crownpeak Technology GmbH, Dortmund, Germany.

Only the licence agreed with Crownpeak Technology GmbH applies to the user.

Details of any third-party software products used that are not produced by Crownpeak Technology GmbH, their own licences and, where applicable, update information, can be found in the file 'THIRD-PARTY.txt', which is supplied with the relevant CaaS component.

6. Help

The Technical Support of the Crownpeak Technology GmbH provides expert technical support covering any topic related to the FirstSpirit™ product. You can get and find more help concerning relevant topics in our community.

7. Disclaimer

This document is provided for information purposes only. Crownpeak Technology GmbH may change the contents hereof without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Crownpeak Technology GmbH specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. The technologies, functionality, services, and processes described herein are subject to change without notice.