Static Content Serving
Decision In progress
The various online channels of Napoleon Games have static content, both text and media, both on the Belgian platform and the multimarket platform. We need a content management system to feed all those channels with static content. Potentially even the Superbet channels could be added to this in the future.
Current State
- Hard-coded content
- Whenever a marketeer wants to create or update a page on the new SPA website, they need support from a developer to update the content in the website code and to deploy the new content to production. The Terms and Conditions page requires intervention from the techops team.
- Different sources of content
- There are currently several places where content needs to be managed. Fork CMS is used for mainly configuration and some digital assets, Pimcore is used for tranlated content, content pages and some fragmented digital assets, the website content is hard coded in the website, and we have separate Wordpress campaign websites.
- Personalization through content injection
- Frosmo is used to inject personalized content directly in the website, as it is loaded by the user.
- Web only
- The various content management systems only serve websites and progressive webapps.
Goals
- Content pages
- Marketeers can add or edit content on the various channels without requiring intervention from any development op operations team, and in an environment that is intuitive and productive. If needed, external copywriters can be given access to do the same.
- Unification
- Provide a single content management system for all channels and all platforms. Napoleon Games currently has 2 platforms: the legacy Belgian platform and the greenfield Multimarket platform that will eventually also replace the Belgian one. The CMS should serve both, and potentially even the channels of Superbet, the company that acquired Napoleon Games recently.
- Omnichannel
- A big focus of Project Bayern is to become the mobile reference for online casino games. In addition, the offline and online businesses of Napoleon Games have recently merged again, so we will want to serve offline content using the same CMS.
- Personalized in the core
- Personalization based on customer segments of content will become ever more important for Napoleon Games. We want to manage all personalized content in the same place, and assign it to customer segments that are retrieved from the CDP.
Assumptions
- Focus on online
- We have not yet talked to the offline parts of the company (casino and arcade halls). These might be added in the future, which is taken into account with the 'Evolvability' quality attribute requirement.
- No metadata management
- The chosen solution will only manage static content for the website, not metadata for games etc. This will be done by the admin tool of the gaming platform
- Content push
- Content will be pushed to the various channels and stored/cached there. This means that content will not be dynamically fetched from the CMS every time a page is requested on the website.
RACI
| Responsible |
Accountable |
Consulted |
Informed |
|
|
|
|
Functional Requirements
- Content editing without technical knowledge Must Have
- Someone from the marketing team should be able to update the content of the NG website, without needing a developer to deploy the changes.
- Configurable Content Types Must Have
- The website has several content types, such as banners, game promos, FAQ and About pages, policy pages, etc. The chosen solution should allow to manage these types of content, in a user-friendly manner.
- Support Omnichannel Content Management Must Have
- With project Bayern focusing more on mobile, and a general desire to provide the customer with a consistent omnichannel experience, the CMS should be able to serve all of our channels, both online and offline.
- Multilingual Must Have
- In Belgium, we already have 3 languages. As we move into additional markets, more languages will be needed.
- Simple Workflow capabilities Should Have
- The actual authoring of the content, including review and approval flows, translation by external agencies, etc, will be handled outside of this solution (for now). What is required is a simple staging/production workflow, so as to see whether the content is displayed correctly in the website.
- Custom pages for geoblocking and DDOS Should Have
- Cloudflare allows us to customize pages for geoblocked users and in case of DDOS
- Personalization Must Have
- Based on the segmentation in our CDP (Customer Data Platform), we want to be able to show personalized content from the CMS.
- Content Versioning Could Have
- Ability to track the historical versions of content, and potentially revert to previous versions.
- SEO Must Have
- The resulting website must be able to show SEO-friendly URLs and content.
- Invision (or Figma) export Could Have
- When designing a user interface or marketing website, the copywrite is an essential part of the design. The ability to import the actual copy of the website/channel into the design tool would be a nice feature to have.
Quality Attribute Requirements
- Securability - Joiners Movers Leavers Must Have
-
- stimulus
- A new employee joins Napoleon Games and needs access to the CMS. An employee moves departments and needs access or needs their access revoked. An employee leaves Napoleon Games and needs their access revoked.
- response
- The access management of the CMS needs to be automated in the standard NG JML workflow Response Measure: automatically, without manual intervention.
- Integratability Should Have
-
- stimulus
- a new channel, whether it is a mobile app, an SPA, a static, or a server-side rendered website, is added to the landscape and needs a content management system.
- response
- The chosen solution can be reused without custom development in the CMS itself.
- Maintainability Should Have
-
- stimulus
- The chosen solution has an updated version.
- response
- The upgrade can be performed
- response measure
- Minimal effort, max. 1 man day
- Customizability Should Have
-
- stimulus
- A new content type is added to the website, app or any other channel using the chosen solution
- response
- The content type can be defined and managed
- response measure
- Without development effort
- Interoperability - Digital Asset Management Should Have
-
- stimulus
- An as of now not yet chosen Digital Asset Management tool is added to the IT landscape
- response
- The chosen solution should be able to integrate with the DAM
- response measure
- with minimal development effort.
- Privacy Should Have
-
- stimulus
- Content is stored in the CMS
- response
- We should know where the content is stored, in the context of GDPR
- Static Website Support Would Have
-
- source of stimulus
- The Content Management System
- stimulus
- Content is created or updated.
- response
- Events are pushed from the Content Management System to the static or cached versions of the various channels, as well as the CDN (Cloudflare) that distributes them so as to invalidate the cache.
- response measure
- in realtime
- Evolvability Should Have
-
- stimulus
- New requirements appear, such as more complicated workflows, integration with translation agencies, integration with other systems, etc.
- response
- The chosen solution should be able to fulfill the (reasonable) new requirements, with little or no development.
Constraints
- Budget Should Have
- The chosen solution should offer good quality for a good price, in terms of TCO. Not only license cost should be counted, setup and maintenance should also be reasonable.
- Architecture Principle Match Should Have
- Rent over buy over build
- Vendor Maturity Should Have
- If we invest effort and a considerable budget in a CMS, we want to know that the vendor is reasonably mature, has a number of customers similar to us, and therefore has a good chance of not disappearing in the next 5-10 years.
Options Considered
|
description |
verdict |
| StoryBlok |
Storyblok is a SaaS Headless CMS. It has a fully configurable content model, and claims to be the only one with a fully visual editor. |
Under investigation |
| Strapi Headless CMS |
Strapi is a CMS targeting developers mainly. It is open-source, and fully based on Javascript. There are different pricing models, each offering a bit more functionality. A managed version in the cloud is planned, but not available yet. |
Rejected |
Lifecycle
- Due on 2021-10-15