SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Entwicklungsumgebung
              für den Open Text
            Management Server
            (früher RedDot CMS)
            Umsetzung einer Umgebung für
             Entwicklung/Test/Produktion



Juli 2012
Autor:      Hilmar Bunjes (hilmar.bunjes@erminas.de)
Version:    1.0
Abstract
Nach dem initialen Rollout eines Projekts im Management Server / Delivery Server Umfeld
(früher RedDot CMS und LiveServer) müssen Änderungen am System sorgsam geplant
werden. Da es sich in der Regel um ständig verfügbare Webseiten handelt, können
Auszeiten, Inkonsistenzen und mögliche Fehler nicht akzeptiert werden. Ebenfalls müssen
fertige Entwicklungen häufig durch die Marketing- oder Rechtsabteilung freigegeben
werden, bevor sie der Öffentlichkeit präsentiert werden dürfen. In der Softwareentwicklung
werden für solche Anforderungen getrennte Entwicklungs- und Produktivsysteme genutzt.
Dies lässt sich auch im Management Server / Delivery Server Umfeld umsetzen. Ein
bewährtes Vorgehen hierzu wird in diesem Dokument beschrieben.




erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090      www.erminas.de


                                          Seite 2
Inhalt
1      VORTEILE EINER MEHRSTUFIGEN ENTWICKLUNGSUMGEBUNG                            4
2      AUFBAU UMGEBUNG MIT DEM MANAGEMENT SERVER                                   4
3      VON DER ENTWICKLUNG ZUM PRODUKTIVSYSTEM                                     5
4      AKTUALISIERUNG DER ENTWICKLUNGS- UND TESTUMGEBUNG                           7
5      EINSATZ DES DELIVERY SERVER                                                 8
6      BEHANDLUNG VON CSS UND JAVASCRIPT DATEIEN                                   8
7      ALTERNATIVE ENTWICKLUNG MIT TEMPLATEVARIANTEN                               8
8      ZUSAMMENFASSUNG                                                             9




erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090   www.erminas.de


                                          Seite 3
1 Vorteile einer mehrstufigen
  Entwicklungsumgebung
Ohne mehrstufige Entwicklungsumgebungen müssen Änderungen direkt im
Produktivsystem umgesetzt werden. Dies führt schnell zu Auszeiten, Inkonsistenzen und
Fehlern im Webauftritt und damit zu einer Beschädigung der öffentlichen Wahrnehmung.


Mehrstufige Entwicklungsumgebungen entkoppeln die Entwicklung, das Testen und den
Produktivbetrieb. Entwicklung und Testen finden dennoch in einer Umgebung statt, die der
Produktivumgebung gleicht oder zumindest ausreichend ähnelt. Es lässt sich zur
Entwicklungszeit bereits das spätere Systemverhalten nachvollziehen.


Eine solche Umgebung besteht aus mindestens zwei (Entwicklung und Produktion) oder
drei (Entwicklung, Test und Produktion) Umgebungen, die nach Möglichkeit identisch
aufgebaut sind. Auf die abgeschlossene Entwicklung folgt die Migration in die
Testumgebung. Nach der erfolgten Abnahme wird in die Produktionsumgebung migriert.
Der prinzipielle Aufbau sieht wie folgt aus:


                 Entwicklung           Test                  Produktion




Durch ein solches Vorgehen können Entwickler unabhängig von der live geschalteten
Webseite Änderungen vornehmen, ohne die publizierten Seiten negativ zu beeinflussen.
Größere Änderungen lassen sich problemlos entwickeln und danach testen, bevor sie
online gestellt werden.


Es muss ein Prozess definiert werden, wie Änderungen hin zum Produktionssystem
übernommen werden können. Ebenfalls muss die Rückrichtung behandelt werden, damit
die Entwicklung und der Test möglichst ähnlich der Produktionsumgebung sind. Direkte
Änderungen am Produktionssystem werden bei diesem Vorgehen in der Regel nicht
durchgeführt (außer bei zeitkritischen Problemen).



2 Aufbau Umgebung mit dem Management
  Server
Ein Management Server ohne weitere externe Systeme benötigt einen Windows Server und
einen SQL Server bzw. Oracle Datenbankserver. Generell sollten der Windows Server und

erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090    www.erminas.de


                                          Seite 4
der Datenbankserver auf zwei getrennten Maschinen laufen. Sofern dies aus Lizenz- oder
Ressourcengründen nicht für die Entwicklungs- und Testumgebungen möglich ist, kann ggf.
auf die Trennung verzichtet werden. In diesem Fall sollte jedoch vorher getestet werden, ob
die Performance der Systeme dann noch akzeptabel ist.


In vielen Projekten werden zusätzlich zum Management Server externe Systeme und
Abhängigkeiten wie Dokumenten-/Assetmanagement, versionsverwaltete Dateien und
eingebundene Inhalte verwendet. Hierbei muss im Einzelfall entschieden werden, ob auch
für diese eine Aufteilung in separate Entwicklungs- und Testsysteme sinnvoll und
notwendig ist und welche Kosten dadurch entstehen. Wenn die externen Abhängigkeiten
Teil des Entwicklungsprozesses sind, ist eine Aufteilung unumgänglich.


Neben dem Aufbau der Umgebung müssen zwei Prozesse definiert werden: Die Migration
von Änderungen in Richtung Produktivsystem und das Update der Entwicklungs- und
Testsysteme. Diese Prozesse werden in den folgenden zwei Kapiteln beschrieben.



3 Von der Entwicklung zum Produktivsystem
Der Prozess von der Entwicklung zum Produktivsystem erfolgt in Release-Zyklen. In einem
Zyklus werden alle Änderungen, die übertragen werden sollen, gesammelt und dann in
einem Schritt migriert. Die Zeiten zwischen den Releases können dabei entweder starr sein
(z.B. jeden Monat) oder auch flexibel (z.B. sobald bestimmte Anpassungen fertig sind). Zur
Vereinfachung der Migration sollte sichergestellt sein, dass zum Zeitpunkt des Releases
keine Entwicklungsarbeiten an zu migrierenden Änderungen mehr unfertig vorliegen.


Änderungen an Templates, Servereinstellungen, CSS/JS-Dateien und Programmierungen
werden am Entwicklungssystem vorgenommen und wandern über das Testsystem in die
Liveumgebung. Der Management Server bietet von Haus aus leider keine Mechanismen für
die Migration dieser Änderungen an, wie dies über Transportpakete im SAP-Umfeld
geboten wird. Die notwendigen Migrationsobjekte müssen je nach Projektanforderungen im
Vorfeld definiert werden. Unter anderem können betroffen sein:


        Contentklassen (inkl. Elemente und Templates)

        Workflows, Berechtigungspakete, Publizierungspakete

        CSS/JS Dateien (sofern nicht in den Contentklassen)

        Eingebundene Skripte (z.B. PHP) und Bibliotheken (z.B. DLLs)

        Plugins

        Assets/Dokumente

        Konfigurationsdateien vom Management Server und IIS

        Einstellungen im Betriebssystem (wie Datenquellen)

erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090       www.erminas.de


                                          Seite 5
Die CSS/JS-Dateien, eingebundene Skripte/Bibliotheken, Plugins, Assets und
Konfigurationsdateien     können      meist      einfach     kopiert    werden.    Die
Betriebssystemeinstellungen lassen sich teilweise automatisiert, ansonsten auch manuell
übertragen. Die Contentklassen, Workflows und Pakete können manuell über Exporte und
manuelles Anlegen erstellt werden. Dies wird jedoch sehr aufwändig, wenn mehrere
Elemente betroffen sind, nur Teile von Änderungen übernommen werden sollen oder nicht
alle Änderungen bekannt sind. Ebenfalls ändert sich beim Import und der Neuanlage die
GUID (eindeutige Identifizierung der Elemente), was bestehende Verknüpfungen wie Seiten
zu Contentklassen und Vorbelegung von Contentklassen aufhebt. Diese Verbindungen
müssen anschließend zeitraubend manuell nachgepflegt werden.

Sinnvollerweise sollte daher für die Migration ein Werkzeug wie das CMS Sync Tool
verwendet werden, welches einen Vergleich von Contentklassen, Workflows und Paketen
ermöglicht. Hiermit kann garantiert werden, dass keine Änderung übersehen wird.
Änderungen können bidirektional in kleinstmöglichen Schritten (z.B. Zeilen oder
Elementattribute von Contentklassen) übernommen und ebenfalls in der Versionshistorie
nachverfolgt werden. Beliebig viele Änderungen können in einem Schritt zusammengefasst
werden. Durch Anpassung der Elemente statt einer Neuanlage bleiben die GUIDs und die
damit verbundenen Verknüpfungen und Vorbelegungen ebenfalls erhalten.

Der eigentliche Prozess läuft dann folgendermaßen ab:


                       Deaktivierung der Publizierung vom Zielsystem



                           Migration der externen Abhängigkeiten


                        Migration der Management Server Projekte
                           (z.B. mit CMS Sync Tool) und Assets


                        Test des Projekts im SmartEdit und Preview


                        Aktivierung der Publizierung vom Zielsystem
                                 und ggfs. Testpublizierung


                                Vollpublizierung der Projekte


                       Prozess: Aktualisierung Produktionsumgebung

Eine gute Dokumentation für diesen Prozess ist in jedem Fall unabdingbar, insbesondere,
um auch neue Mitarbeiter schnell einarbeiten zu können. Eine Checkliste ist hierfür ein
bewährtes Mittel. Ebenfalls nützlich sind gemeinsame Dokumente bzw. Wiki-Seiten, in
denen spezielle Anforderungen für das Release, wie Änderungen am Betriebssystem oder
IIS, aufgeführt werden. Hierdurch verringert sich das Risiko, etwas zu vergessen, auf ein
Minimum.


erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090     www.erminas.de


                                          Seite 6
4 Aktualisierung der Entwicklungs- und
  Testumgebung
Nach dem erfolgten Release sollten das Entwicklungs- und Testsystem aktualisiert werden,
damit diese genau dem Stand des Produktivsystems entsprechen. Dies vereinfacht die
weitere Entwicklung und ggf. die Fehlerbehebung am Produktivsystem. Die Aktualisierung
umfasst neben den Management Server Projekten auch die extern angebundenen Systeme
und Abhängigkeiten. Eine gute Dokumentation ist auch für diesen Schritt wichtig. Der
folgende Prozess eignet sich für die Aktualisierung der Management Server Projekte:



                       Publizierungsprozesse und Jobs abschalten


                  Leeren der Caches (u.a. Navigation und Page Cache)


                Papierkorb leeren und ggf. nicht-verlinkter Seiten löschen


                   Ausschalten der RedDot Dienste auf allen Systemen


            Export der Projektdatenbanken (inkl. Archiv) vom Produktivserver
            und Import in Entwicklungs-/ Testsystem mittels Datenbanktools


                      Start der RedDot Dienste auf allen Systemen


                   Anpassung Publizierungsziele auf Entwicklung/Test


              Entfernen der E-Mail Benachrichtigung aus den Workflows auf
                                    Entwicklung/Test


                         Leeren der Caches auf Entwicklung/Test

                      Prozess: Aktualisierung Entwicklungsumgebung




Nach der erfolgten Migration sollte im SmartEdit getestet werden, ob die Seiten wie
gewünscht angezeigt und im Anschluss daran auch korrekt publiziert werden. Hierfür ist
eine Liste der Seiten nützlich, die spezielle Funktionalitäten, wie extern eingebundene
Systeme/Dateien, haben. Ebenfalls sollte zur Überprüfung der Datenbankverbindung
geprüft werden, ob Änderungen an den Seiten durchgeführt werden können und diese auch
richtig versioniert werden.



erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090     www.erminas.de


                                          Seite 7
5 Einsatz des Delivery Server
Beim Einsatz des Delivery Server sollte dieser ebenfalls in die Entwicklungsumgebung
miteinbezogen werden. Neben einer Aufteilung in drei getrennte Systeme ist, je nach
Nutzung des Delivery Server, auch denkbar, Entwicklung und Test gemeinsam auf einem
Server mit verschiedenen Projekten (z.B. Webseite_Dev und Webseite_Test) zu
kombinieren. Der Produktionsserver sollte aus Performance- und Sicherheitsgründen
jedoch separat bleiben. Die Migration von Änderungen lässt sich über Transportpakete
mittlerweile recht einfach durchführen. Je nach Nutzung des Delivery Server kann jedoch
schon eine Vollpublizierung mit Löschen der Caches ausreichend für die Migration sein.



6 Behandlung von CSS und JavaScript Dateien
CSS und JavaScript Dateien müssen häufig speziell behandelt werden. Es lassen sich drei
typische Szenarien differenzieren:


        Direkt im CMS: Die CSS und JavaScript Dateien liegen als Contentklassen im
         Management Server vor und werden auch direkt als Seite eingebunden. In diesem
         Fall ist keine spezielle Behandlung notwendig (aus Performancegründen sollte
         diese Lösung jedoch vermieden werden).

        Direkt im CMS mit Dateisystempublizierung: Die CSS und JavaScript Dateien
         liegen als Contentklassen vor, werden jedoch ins Dateisystem publiziert und von
         dort als Dateien in die Seiten eingebunden. In diesem Fall muss nach der
         Migration jeweils eine Publizierung ins Dateisystem vorgenommen werden.

        In Versionsverwaltung: Die CSS und JavaScript Dateien liegen in einer
         Versionsverwaltung vor und werden von dort aus verteilt. In diesem Fall sollte der
         zu transportierende Commit mit einem aussagekräftigen Tag gekennzeichnet
         werden (z.B. Releasenummer) und in das Zielsystem exportiert oder von diesem
         ausgecheckt werden.



7 Alternative Entwicklung mit Templatevarianten
Wenn die Projekte sehr einfach gehalten sind, keine externen Abhängigkeiten vorliegen
und nur Änderungen an den Templates durchgeführt werden, kann die Nutzung von
Templatevarianten eine Alternative sein. In diesem Fall werden Änderungen immer an einer
Templatevariante durchgeführt, die nicht live geschaltet ist.


Für die Einrichtung muss die Template- und Projektvariante angelegt werden, ebenso wie
die entsprechenden Publizierungsziele für die Entwicklungsvariante. Die Entwicklung findet
dann in der neuen Variante statt und zur Migration der Änderungen wird entweder die
Zuordnung Projekt-/Templatevariante angepasst oder das Template per Copy&Paste
übernommen. Zur Entwicklungszeit kann über die Benutzereinstellung die

erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090        www.erminas.de


                                          Seite 8
Entwicklungsvariante als Standardanzeige genutzt werden, sodass im CMS direkt die
Entwicklung sichtbar ist.


Auch wenn diese Alternative nach einer Möglichkeit klingt, sich die weiteren Server zu
ersparen, so gibt es doch einige gravierende Nachteile. Änderungen und Entwicklungen
können nur an den Templates vorgenommen werden. Anpassungen an externen
Abhängigkeiten und weitere Änderungen im CMS wirken sich immer auf alle Nutzer des
Produktivsystems und ggf. auch auf die veröffentlichte Webseite aus. Inhaltsanpassungen
und das Anlegen neuer Seiten sind in der Regel nicht möglich, da die Webseite damit direkt
geändert werden würde. Nicht zu unterschätzen ist ebenfalls die Gefahr, versehentlich in
der falschen Templatevariante eine Änderung durchzuführen. Aus diesen Gründen ist im
Allgemeinen von dieser Entwicklungsvariante abzuraten.



8 Zusammenfassung
Die Nutzung einer zwei- oder dreistufigen Entwicklungsumgebung ist eine sinnvolle
Methode, die Entwicklung zu vereinfachen und Fehler in Produktivsystemen zu vermeiden.
In der Softwareentwicklung ist dies ein gängiges Vorgehen und bietet ebenfalls im
WebCMS-Umfeld große Vorteile. Auch wenn der Management Server keine vorgefertigte
Lösung anbietet, ist eine solche Umgebung jedoch relativ einfach einzurichten. Neben einer
guten Dokumentation des Prozesses ist der Einsatz von Werkzeugen, wie des CMS Sync
Tools, sehr empfehlenswert. Die höheren Lizenz- und Hardwareausgaben für die
Entwicklungs- und Testumgebung werden meist recht schnell durch verbesserte
Entwicklungsabläufe und zuverlässigere Webauftritte ausgeglichen.




erminas GbR, Nadorster Str. 60, 26123 Oldenburg     +49-(0)441/939 252 090      www.erminas.de


                                          Seite 9
Über erminas
erminas ist ein junges Oldenburger Unternehmen mit Wurzeln in der Region. Wir bieten
effiziente und bedienbare Software-Lösungen. Unsere Schwerpunkte sind Open Text Web
Solutions/RedDot-Lösungen und individuelle Softwareentwicklung im Bereich Web,
performancekritische Systeme und großen Datenmengen. Zusätzlich bieten wir
Schulungen, Projektmanagement nach GPM/IPMA und Agile Softwareentwicklung an.


Unsere Mitarbeiter sind bestens ausgebildet und Experten auf Ihren Gebieten. Für eine
fundierte Grundlage sorgt, neben Studium und Promotion, die Erfahrung in nationalen und
internationalen Projekten. Im Bereich der Webentwicklung sind unsere Kerntechnologien
Open Text Web Solutions (ehemals RedDot), ASP.NET (MVC) und Java/JEE.


Zu unseren Kunden gehören mehrere DAX und NASDAQ Unternehmen, sowie kleine und
mittlere Unternehmen aus der Region. Von der Projektmitarbeit bis zur eigenständigen
Umsetzung von Projekten decken wir ein breites Spektrum ab.


Wir möchten, dass Ihre Software bedienbar und effizient ist. Wenn Sie dies auch möchten:


        Rufen Sie uns an:                   0441/939 252 090

        Schreiben Sie uns eine E-Mail:      info@erminas.de

        Besuchen Sie uns:                   http://www.erminas.de




erminas GbR, Nadorster Str. 60, 26123 Oldenburg      +49-(0)441/939 252 090     www.erminas.de


                                          Seite 10

Más contenido relacionado

Destacado

Dia unserer Schule
Dia unserer SchuleDia unserer Schule
Dia unserer Schule
doormann
 
Vergütung nach 20 jahren
Vergütung nach 20 jahrenVergütung nach 20 jahren
Vergütung nach 20 jahren
erhard renz
 
XING AG Halbjahresbericht 2012
XING AG Halbjahresbericht 2012XING AG Halbjahresbericht 2012
XING AG Halbjahresbericht 2012
XING SE
 
Social Media Event - Christian Hirsig, Atizo
Social Media Event - Christian Hirsig, AtizoSocial Media Event - Christian Hirsig, Atizo
Social Media Event - Christian Hirsig, Atizo
Atizo AG
 

Destacado (13)

Dia unserer Schule
Dia unserer SchuleDia unserer Schule
Dia unserer Schule
 
ÖW Marketingkampagne Sommer 2014 Tschechien
ÖW Marketingkampagne Sommer 2014 TschechienÖW Marketingkampagne Sommer 2014 Tschechien
ÖW Marketingkampagne Sommer 2014 Tschechien
 
Vergütung nach 20 jahren
Vergütung nach 20 jahrenVergütung nach 20 jahren
Vergütung nach 20 jahren
 
OBRAS DE ARTE APTACAN
OBRAS DE ARTE APTACANOBRAS DE ARTE APTACAN
OBRAS DE ARTE APTACAN
 
hipervinculo en word
hipervinculo en wordhipervinculo en word
hipervinculo en word
 
mi biografia
mi biografiami biografia
mi biografia
 
Portafolio competencias de comunicación
Portafolio competencias de comunicaciónPortafolio competencias de comunicación
Portafolio competencias de comunicación
 
XING AG Halbjahresbericht 2012
XING AG Halbjahresbericht 2012XING AG Halbjahresbericht 2012
XING AG Halbjahresbericht 2012
 
Bb
BbBb
Bb
 
Sonnenstrom
SonnenstromSonnenstrom
Sonnenstrom
 
jens christian moesgaard
jens christian moesgaardjens christian moesgaard
jens christian moesgaard
 
Porsche Cayenne
Porsche CayennePorsche Cayenne
Porsche Cayenne
 
Social Media Event - Christian Hirsig, Atizo
Social Media Event - Christian Hirsig, AtizoSocial Media Event - Christian Hirsig, Atizo
Social Media Event - Christian Hirsig, Atizo
 

Entwicklungsumgebung für den Open Text Management Server (früher RedDot CMS)

  • 1. Entwicklungsumgebung für den Open Text Management Server (früher RedDot CMS) Umsetzung einer Umgebung für Entwicklung/Test/Produktion Juli 2012 Autor: Hilmar Bunjes (hilmar.bunjes@erminas.de) Version: 1.0
  • 2. Abstract Nach dem initialen Rollout eines Projekts im Management Server / Delivery Server Umfeld (früher RedDot CMS und LiveServer) müssen Änderungen am System sorgsam geplant werden. Da es sich in der Regel um ständig verfügbare Webseiten handelt, können Auszeiten, Inkonsistenzen und mögliche Fehler nicht akzeptiert werden. Ebenfalls müssen fertige Entwicklungen häufig durch die Marketing- oder Rechtsabteilung freigegeben werden, bevor sie der Öffentlichkeit präsentiert werden dürfen. In der Softwareentwicklung werden für solche Anforderungen getrennte Entwicklungs- und Produktivsysteme genutzt. Dies lässt sich auch im Management Server / Delivery Server Umfeld umsetzen. Ein bewährtes Vorgehen hierzu wird in diesem Dokument beschrieben. erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 2
  • 3. Inhalt 1 VORTEILE EINER MEHRSTUFIGEN ENTWICKLUNGSUMGEBUNG 4 2 AUFBAU UMGEBUNG MIT DEM MANAGEMENT SERVER 4 3 VON DER ENTWICKLUNG ZUM PRODUKTIVSYSTEM 5 4 AKTUALISIERUNG DER ENTWICKLUNGS- UND TESTUMGEBUNG 7 5 EINSATZ DES DELIVERY SERVER 8 6 BEHANDLUNG VON CSS UND JAVASCRIPT DATEIEN 8 7 ALTERNATIVE ENTWICKLUNG MIT TEMPLATEVARIANTEN 8 8 ZUSAMMENFASSUNG 9 erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 3
  • 4. 1 Vorteile einer mehrstufigen Entwicklungsumgebung Ohne mehrstufige Entwicklungsumgebungen müssen Änderungen direkt im Produktivsystem umgesetzt werden. Dies führt schnell zu Auszeiten, Inkonsistenzen und Fehlern im Webauftritt und damit zu einer Beschädigung der öffentlichen Wahrnehmung. Mehrstufige Entwicklungsumgebungen entkoppeln die Entwicklung, das Testen und den Produktivbetrieb. Entwicklung und Testen finden dennoch in einer Umgebung statt, die der Produktivumgebung gleicht oder zumindest ausreichend ähnelt. Es lässt sich zur Entwicklungszeit bereits das spätere Systemverhalten nachvollziehen. Eine solche Umgebung besteht aus mindestens zwei (Entwicklung und Produktion) oder drei (Entwicklung, Test und Produktion) Umgebungen, die nach Möglichkeit identisch aufgebaut sind. Auf die abgeschlossene Entwicklung folgt die Migration in die Testumgebung. Nach der erfolgten Abnahme wird in die Produktionsumgebung migriert. Der prinzipielle Aufbau sieht wie folgt aus: Entwicklung Test Produktion Durch ein solches Vorgehen können Entwickler unabhängig von der live geschalteten Webseite Änderungen vornehmen, ohne die publizierten Seiten negativ zu beeinflussen. Größere Änderungen lassen sich problemlos entwickeln und danach testen, bevor sie online gestellt werden. Es muss ein Prozess definiert werden, wie Änderungen hin zum Produktionssystem übernommen werden können. Ebenfalls muss die Rückrichtung behandelt werden, damit die Entwicklung und der Test möglichst ähnlich der Produktionsumgebung sind. Direkte Änderungen am Produktionssystem werden bei diesem Vorgehen in der Regel nicht durchgeführt (außer bei zeitkritischen Problemen). 2 Aufbau Umgebung mit dem Management Server Ein Management Server ohne weitere externe Systeme benötigt einen Windows Server und einen SQL Server bzw. Oracle Datenbankserver. Generell sollten der Windows Server und erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 4
  • 5. der Datenbankserver auf zwei getrennten Maschinen laufen. Sofern dies aus Lizenz- oder Ressourcengründen nicht für die Entwicklungs- und Testumgebungen möglich ist, kann ggf. auf die Trennung verzichtet werden. In diesem Fall sollte jedoch vorher getestet werden, ob die Performance der Systeme dann noch akzeptabel ist. In vielen Projekten werden zusätzlich zum Management Server externe Systeme und Abhängigkeiten wie Dokumenten-/Assetmanagement, versionsverwaltete Dateien und eingebundene Inhalte verwendet. Hierbei muss im Einzelfall entschieden werden, ob auch für diese eine Aufteilung in separate Entwicklungs- und Testsysteme sinnvoll und notwendig ist und welche Kosten dadurch entstehen. Wenn die externen Abhängigkeiten Teil des Entwicklungsprozesses sind, ist eine Aufteilung unumgänglich. Neben dem Aufbau der Umgebung müssen zwei Prozesse definiert werden: Die Migration von Änderungen in Richtung Produktivsystem und das Update der Entwicklungs- und Testsysteme. Diese Prozesse werden in den folgenden zwei Kapiteln beschrieben. 3 Von der Entwicklung zum Produktivsystem Der Prozess von der Entwicklung zum Produktivsystem erfolgt in Release-Zyklen. In einem Zyklus werden alle Änderungen, die übertragen werden sollen, gesammelt und dann in einem Schritt migriert. Die Zeiten zwischen den Releases können dabei entweder starr sein (z.B. jeden Monat) oder auch flexibel (z.B. sobald bestimmte Anpassungen fertig sind). Zur Vereinfachung der Migration sollte sichergestellt sein, dass zum Zeitpunkt des Releases keine Entwicklungsarbeiten an zu migrierenden Änderungen mehr unfertig vorliegen. Änderungen an Templates, Servereinstellungen, CSS/JS-Dateien und Programmierungen werden am Entwicklungssystem vorgenommen und wandern über das Testsystem in die Liveumgebung. Der Management Server bietet von Haus aus leider keine Mechanismen für die Migration dieser Änderungen an, wie dies über Transportpakete im SAP-Umfeld geboten wird. Die notwendigen Migrationsobjekte müssen je nach Projektanforderungen im Vorfeld definiert werden. Unter anderem können betroffen sein:  Contentklassen (inkl. Elemente und Templates)  Workflows, Berechtigungspakete, Publizierungspakete  CSS/JS Dateien (sofern nicht in den Contentklassen)  Eingebundene Skripte (z.B. PHP) und Bibliotheken (z.B. DLLs)  Plugins  Assets/Dokumente  Konfigurationsdateien vom Management Server und IIS  Einstellungen im Betriebssystem (wie Datenquellen) erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 5
  • 6. Die CSS/JS-Dateien, eingebundene Skripte/Bibliotheken, Plugins, Assets und Konfigurationsdateien können meist einfach kopiert werden. Die Betriebssystemeinstellungen lassen sich teilweise automatisiert, ansonsten auch manuell übertragen. Die Contentklassen, Workflows und Pakete können manuell über Exporte und manuelles Anlegen erstellt werden. Dies wird jedoch sehr aufwändig, wenn mehrere Elemente betroffen sind, nur Teile von Änderungen übernommen werden sollen oder nicht alle Änderungen bekannt sind. Ebenfalls ändert sich beim Import und der Neuanlage die GUID (eindeutige Identifizierung der Elemente), was bestehende Verknüpfungen wie Seiten zu Contentklassen und Vorbelegung von Contentklassen aufhebt. Diese Verbindungen müssen anschließend zeitraubend manuell nachgepflegt werden. Sinnvollerweise sollte daher für die Migration ein Werkzeug wie das CMS Sync Tool verwendet werden, welches einen Vergleich von Contentklassen, Workflows und Paketen ermöglicht. Hiermit kann garantiert werden, dass keine Änderung übersehen wird. Änderungen können bidirektional in kleinstmöglichen Schritten (z.B. Zeilen oder Elementattribute von Contentklassen) übernommen und ebenfalls in der Versionshistorie nachverfolgt werden. Beliebig viele Änderungen können in einem Schritt zusammengefasst werden. Durch Anpassung der Elemente statt einer Neuanlage bleiben die GUIDs und die damit verbundenen Verknüpfungen und Vorbelegungen ebenfalls erhalten. Der eigentliche Prozess läuft dann folgendermaßen ab: Deaktivierung der Publizierung vom Zielsystem Migration der externen Abhängigkeiten Migration der Management Server Projekte (z.B. mit CMS Sync Tool) und Assets Test des Projekts im SmartEdit und Preview Aktivierung der Publizierung vom Zielsystem und ggfs. Testpublizierung Vollpublizierung der Projekte Prozess: Aktualisierung Produktionsumgebung Eine gute Dokumentation für diesen Prozess ist in jedem Fall unabdingbar, insbesondere, um auch neue Mitarbeiter schnell einarbeiten zu können. Eine Checkliste ist hierfür ein bewährtes Mittel. Ebenfalls nützlich sind gemeinsame Dokumente bzw. Wiki-Seiten, in denen spezielle Anforderungen für das Release, wie Änderungen am Betriebssystem oder IIS, aufgeführt werden. Hierdurch verringert sich das Risiko, etwas zu vergessen, auf ein Minimum. erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 6
  • 7. 4 Aktualisierung der Entwicklungs- und Testumgebung Nach dem erfolgten Release sollten das Entwicklungs- und Testsystem aktualisiert werden, damit diese genau dem Stand des Produktivsystems entsprechen. Dies vereinfacht die weitere Entwicklung und ggf. die Fehlerbehebung am Produktivsystem. Die Aktualisierung umfasst neben den Management Server Projekten auch die extern angebundenen Systeme und Abhängigkeiten. Eine gute Dokumentation ist auch für diesen Schritt wichtig. Der folgende Prozess eignet sich für die Aktualisierung der Management Server Projekte: Publizierungsprozesse und Jobs abschalten Leeren der Caches (u.a. Navigation und Page Cache) Papierkorb leeren und ggf. nicht-verlinkter Seiten löschen Ausschalten der RedDot Dienste auf allen Systemen Export der Projektdatenbanken (inkl. Archiv) vom Produktivserver und Import in Entwicklungs-/ Testsystem mittels Datenbanktools Start der RedDot Dienste auf allen Systemen Anpassung Publizierungsziele auf Entwicklung/Test Entfernen der E-Mail Benachrichtigung aus den Workflows auf Entwicklung/Test Leeren der Caches auf Entwicklung/Test Prozess: Aktualisierung Entwicklungsumgebung Nach der erfolgten Migration sollte im SmartEdit getestet werden, ob die Seiten wie gewünscht angezeigt und im Anschluss daran auch korrekt publiziert werden. Hierfür ist eine Liste der Seiten nützlich, die spezielle Funktionalitäten, wie extern eingebundene Systeme/Dateien, haben. Ebenfalls sollte zur Überprüfung der Datenbankverbindung geprüft werden, ob Änderungen an den Seiten durchgeführt werden können und diese auch richtig versioniert werden. erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 7
  • 8. 5 Einsatz des Delivery Server Beim Einsatz des Delivery Server sollte dieser ebenfalls in die Entwicklungsumgebung miteinbezogen werden. Neben einer Aufteilung in drei getrennte Systeme ist, je nach Nutzung des Delivery Server, auch denkbar, Entwicklung und Test gemeinsam auf einem Server mit verschiedenen Projekten (z.B. Webseite_Dev und Webseite_Test) zu kombinieren. Der Produktionsserver sollte aus Performance- und Sicherheitsgründen jedoch separat bleiben. Die Migration von Änderungen lässt sich über Transportpakete mittlerweile recht einfach durchführen. Je nach Nutzung des Delivery Server kann jedoch schon eine Vollpublizierung mit Löschen der Caches ausreichend für die Migration sein. 6 Behandlung von CSS und JavaScript Dateien CSS und JavaScript Dateien müssen häufig speziell behandelt werden. Es lassen sich drei typische Szenarien differenzieren:  Direkt im CMS: Die CSS und JavaScript Dateien liegen als Contentklassen im Management Server vor und werden auch direkt als Seite eingebunden. In diesem Fall ist keine spezielle Behandlung notwendig (aus Performancegründen sollte diese Lösung jedoch vermieden werden).  Direkt im CMS mit Dateisystempublizierung: Die CSS und JavaScript Dateien liegen als Contentklassen vor, werden jedoch ins Dateisystem publiziert und von dort als Dateien in die Seiten eingebunden. In diesem Fall muss nach der Migration jeweils eine Publizierung ins Dateisystem vorgenommen werden.  In Versionsverwaltung: Die CSS und JavaScript Dateien liegen in einer Versionsverwaltung vor und werden von dort aus verteilt. In diesem Fall sollte der zu transportierende Commit mit einem aussagekräftigen Tag gekennzeichnet werden (z.B. Releasenummer) und in das Zielsystem exportiert oder von diesem ausgecheckt werden. 7 Alternative Entwicklung mit Templatevarianten Wenn die Projekte sehr einfach gehalten sind, keine externen Abhängigkeiten vorliegen und nur Änderungen an den Templates durchgeführt werden, kann die Nutzung von Templatevarianten eine Alternative sein. In diesem Fall werden Änderungen immer an einer Templatevariante durchgeführt, die nicht live geschaltet ist. Für die Einrichtung muss die Template- und Projektvariante angelegt werden, ebenso wie die entsprechenden Publizierungsziele für die Entwicklungsvariante. Die Entwicklung findet dann in der neuen Variante statt und zur Migration der Änderungen wird entweder die Zuordnung Projekt-/Templatevariante angepasst oder das Template per Copy&Paste übernommen. Zur Entwicklungszeit kann über die Benutzereinstellung die erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 8
  • 9. Entwicklungsvariante als Standardanzeige genutzt werden, sodass im CMS direkt die Entwicklung sichtbar ist. Auch wenn diese Alternative nach einer Möglichkeit klingt, sich die weiteren Server zu ersparen, so gibt es doch einige gravierende Nachteile. Änderungen und Entwicklungen können nur an den Templates vorgenommen werden. Anpassungen an externen Abhängigkeiten und weitere Änderungen im CMS wirken sich immer auf alle Nutzer des Produktivsystems und ggf. auch auf die veröffentlichte Webseite aus. Inhaltsanpassungen und das Anlegen neuer Seiten sind in der Regel nicht möglich, da die Webseite damit direkt geändert werden würde. Nicht zu unterschätzen ist ebenfalls die Gefahr, versehentlich in der falschen Templatevariante eine Änderung durchzuführen. Aus diesen Gründen ist im Allgemeinen von dieser Entwicklungsvariante abzuraten. 8 Zusammenfassung Die Nutzung einer zwei- oder dreistufigen Entwicklungsumgebung ist eine sinnvolle Methode, die Entwicklung zu vereinfachen und Fehler in Produktivsystemen zu vermeiden. In der Softwareentwicklung ist dies ein gängiges Vorgehen und bietet ebenfalls im WebCMS-Umfeld große Vorteile. Auch wenn der Management Server keine vorgefertigte Lösung anbietet, ist eine solche Umgebung jedoch relativ einfach einzurichten. Neben einer guten Dokumentation des Prozesses ist der Einsatz von Werkzeugen, wie des CMS Sync Tools, sehr empfehlenswert. Die höheren Lizenz- und Hardwareausgaben für die Entwicklungs- und Testumgebung werden meist recht schnell durch verbesserte Entwicklungsabläufe und zuverlässigere Webauftritte ausgeglichen. erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 9
  • 10. Über erminas erminas ist ein junges Oldenburger Unternehmen mit Wurzeln in der Region. Wir bieten effiziente und bedienbare Software-Lösungen. Unsere Schwerpunkte sind Open Text Web Solutions/RedDot-Lösungen und individuelle Softwareentwicklung im Bereich Web, performancekritische Systeme und großen Datenmengen. Zusätzlich bieten wir Schulungen, Projektmanagement nach GPM/IPMA und Agile Softwareentwicklung an. Unsere Mitarbeiter sind bestens ausgebildet und Experten auf Ihren Gebieten. Für eine fundierte Grundlage sorgt, neben Studium und Promotion, die Erfahrung in nationalen und internationalen Projekten. Im Bereich der Webentwicklung sind unsere Kerntechnologien Open Text Web Solutions (ehemals RedDot), ASP.NET (MVC) und Java/JEE. Zu unseren Kunden gehören mehrere DAX und NASDAQ Unternehmen, sowie kleine und mittlere Unternehmen aus der Region. Von der Projektmitarbeit bis zur eigenständigen Umsetzung von Projekten decken wir ein breites Spektrum ab. Wir möchten, dass Ihre Software bedienbar und effizient ist. Wenn Sie dies auch möchten:  Rufen Sie uns an: 0441/939 252 090  Schreiben Sie uns eine E-Mail: info@erminas.de  Besuchen Sie uns: http://www.erminas.de erminas GbR, Nadorster Str. 60, 26123 Oldenburg +49-(0)441/939 252 090 www.erminas.de Seite 10