Optimizely CMS

Ein proprietäres CMS auf Basis des .NET Frameworks.

Was ist ein CMS?

In den Ursprüngen des Web wurden Websites durch die Ablage von statischen HTML-Dateien auf einem Webserver erweitert. Bei zunehmender Komplexität dieser Sites wurde dieses Vorgehen immer zeitintensiver, da sich Inhalte über mehrere Seiten verteilen können. Zusätzlich war es notwendig, dass ein Entwickler die Änderungen an den Dateien vornahm und auf dem Webserver aktualisierte. Die Inhalte konnten also nicht ausschließlich durch die Redakteure verwaltet werden.

Um die Aufwände in der Entwicklung zu reduzieren, wurden Web Application Frameworks eingeführt, welche Anfragen an den Webserver abfangen und eine dynamisch erzeugte Antwort zurückgeben.  Die Antwort wird dabei durch den Quellcode der im Framework definierten Programmiersprache bestimmt.

Aufbauend auf diesen Frameworks sollen Content-Management-Systeme (kurz CMS) die Inhalte einer Website durch den Redakteur bearbeitbar machen. Diese begründet die Definition von Content-Management:

Inhalt und Inhaltsverwaltung; gemeint sind die Konzepte und Hilfsmittel zur automatisierten Verwaltung und Präsentation von Dokumenten sowie anderen Inhalten im Internet und Intranet; angestrebt wird vor allem eine Kontrolle der Aktualität […]

Des Weiteren ist eine Definition von System notwendig, um den Begriff Content-Management-System vollständig zu beschreiben:

[…] Summe aller Hardware- und Software-Komponenten einer Datenverarbeitungsanlage aus der Sicht ihres Zusammenwirkens.

Was ist Optimizely?

Optimizely ist eine Experimentation-Plattform, also einen Dienst zur Optimierung einer Website. Mögliche Angebote der Plattform sind unter anderem A/B-Testing oder multivariates Tests. Diese Dienstleistungen wurden 2020 um das Software-Angebot des Episervers ergänzt. Seitdem werden folgende Produkte und Dienstleistungen unter der gemeinsamen Marke als Software-as-a-Service angeboten:

    • Content
    • E-Commerce
    • E-Mail-Marketing
    • Optimierung

Hier wird Content, also das Optimizely CMS als Produkt genauer betrachtet, welches die Funktionalität zum Content-Management beinhaltet.

Was ist Optimizely CMS?

Die Features des Optimizely CMS oder dem Software-as-a-Service Angebot Optimizely Content Cloud lassen sich in zwei Gruppen unterscheiden. Für den Redakteur relevante Managementfunktionen sowie Technologien, welche für den Entwickler interessant sind.

  • Management
    • Approval Workflows
    • Content-Management
    • Media Management
    • Authoring & Layout
  • Technologie
    • Azure Hosting
    • Search & Navigation
    • Headless
    • Projektmanagement
    • Integriertes A/B Testing
    • Targeting

Besonders hervorzuheben ist die Authoring & Layout  Managementfunktion. Diese ermöglicht es, neben der textuellen und medialen Verwaltung von Inhalt, auch Layouts und dessen Befüllung durch einen Redakteur in einen WYSIWYG-Editor vorzunehmen. Des Weiteren ist als technologisches Feature noch die Headless-Funktion zu betrachten, welche neben einer traditionellen Ausgabe als HTML auch eine Ausgabe als JSON bieten, z. B. zur Präsentation in einer Single-Page Application.

Die anderen in der Liste  dargestellten Features sind eine von Optimizely getroffene Auswahl, der wichtigeren Funktionen des CMS. In der tatsächlichen Software sind folglich noch weitere Optionen verfügbar.

Der Optimizely Technologie-Stack

Die folgenden Technologien werden im Technologie-Stack genutzt
und sind für die Entwicklung relevant:

  • HTML und CSS
  • C#
  • ASP.NET Core
  • Microsoft Visual Studio
  • NuGet
  • Microsoft SQL Server

Einordnung in die CMS-Landschaft

Das Konzept der Content-Management-Systeme ist eines der verbreitetsten im Bereich des Web. Dementsprechend gibt es eine große Anzahl an Softwareangeboten in diesem Bereich, welche jeweils verschiedene Anforderungen bedienen. Um das Angebot von Optimizely besser einordnen zu können, wird hier eine Einschätzung zur Platzierung im Softwaremarkt vorgenommen.

Konkurrenten im Bereich des Content-Managements sind unter anderem Systeme wie Liferay CMS oder SAP Hybris, welche ein Unternehmenssegment bedienen und einen vergleichbaren Funktionsumfang besitzen. Im Gegensatz dazu stehen Systemen wie WordPress, Strapi oder Ghost, die eher an den Verbraucher-Markt gerichtet sind, und weitestgehend keine ganzheitliche Lösung bieten, sondern eine dominierende Funktion haben z. B. Blogging oder Headless.

Hostingmöglichkeiten

Arbeiten mit Optimizely CMS

Getting Started

Vorraussetzungen

  • npm 6+
  • Visual Studio 2015+
  • SQL Server 2016 Express LocalDB (download here)

Setup

    1.  Clone the Solution from Github
    2. Run setup.cmd
    3. Open MusicFestival.Vue.Template.sln and hit Ctrl + F5
      • Or build with build.cmd, and set up the site on IIS or run site.cmd.
    4. Login on /episerver with either one of the following credentials:

Name: cmsadmin  Password: sparr0wHawk

On-Page Editing

Im WYSIWYG-Editor von Optimizely kann das Layout und der Inhalt der Webseite verändert und angepasst werden. Mit Klicken auf ein editierbares Feld wird eine Eingabezeile geöffnet.

Die Änderung können außerdem in einer Property-Ansicht der jeweiligen Page oder des jeweiligen Blockes getätigt werden. Diese Ansicht gibt außerdem einen Überblick über alle veränderbaren Felder und andere Bearbeitungsmöglichkeiten.

Die getätigten Änderungen müssen dann veröffentlicht werden. Dieser Schritt persistiert die Daten und macht diese in der ausgewählten Umgebung verfügbar. Im betrieblichen Umfeld kann hier z.B. eine Überprüfung (Ready for Review) stattfinden.

Versionskontrolle, Projektmanagement und Analyse

Die Funktionalität der Projects die Optimizely zur Verfügung stellt, ähnelt dem Branching-Modell aus anderen Versionskontrollsystemen. So wird ermöglicht das Änderung nicht direkt am produktiven System gemacht werden müssen oder sogar können. Das verhindert das Veröffentlichen von fehlerhaften Änderungen und bietet die Möglichkeit im Notfall auf ältere Versionen zurückrollen zu können.

Auch für das Projektmanagement bietet das CMS Möglichkeiten. Im Reiter Tasks können je nach Arbeitsschritt Aufgaben (Tasks) angelegt werden, die dann bestimmten Bearbeitern zugeordnet werden können. So entsteht ein nachvollziehbarer Workflow, welcher vor allem für die Fehlernachverfolgung sehr hilfreich ist.

Je nach Rolle und Rechten bietet das CMS außerdem umfangreiche Konfigurationsmöglichkeiten. Diese reichen von der Anlage neuer, beziehungsweise Bearbeitung bestehender Accounts über Logging und Benachrichtigung bis hin zu automatisiertem Testen.

Quellen

P. Fischer und P. Hofer., Lexikon der Informatik., Springer, Berlin, 15., überarb. aufl edition, 2011. OCLC: 699729767.
Aus Episerver wird Optimizely
Content Cloud
Developer prerequisites
Following acquisition, Episerver rebrands as Optimizely
Deployment | Optimizely Developer Community
MusicFestival Vue.js Templates
What is a CMS? | Optimizely Developer Community
Enterprise-Content-Management-System
Qualitätsmerkmale von Software — Enzyklopaedie der Wirtschaftsinformatik