113
2018 Konzeption eines Vorgehens für die Durchführung eines Upgrades von TYPO3 Autor: Sammy Baghdadi, geboren am 19.12.1987, Radebeul, Deutschland Matrikelnummer: 458982 Erstprüfer: Prof. Dr. Marcus Birkenkrahe Zweitprüfer: Sebastian Kreideweiß, M.Sc. Eingereicht am: 01. Februar 2018 Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science Hochschule für Wirtschaft und Recht Berlin Fachbereich 1 Studiengang Wirtschaftsinformatik

Konzeption eines Vorgehens für die Durchführung eines Upgrades … · Der Funktionsumfang von TYPO3 kann mittels Erweiterungen, sogenannter Extensions, erhöht werden. Hierfür

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

2018

Konzeption eines Vorgehens für die

Durchführung eines Upgrades von TYPO3

Autor: Sammy Baghdadi, geboren am 19.12.1987, Radebeul, Deutschland

Matrikelnummer: 458982

Erstprüfer: Prof. Dr. Marcus Birkenkrahe

Zweitprüfer: Sebastian Kreideweiß, M.Sc.

Eingereicht am: 01. Februar 2018

Bachelorarbeit

zur Erlangung des akademischen Grades Bachelor of Science

Hochschule für Wirtschaft und Recht Berlin

Fachbereich 1

Studiengang Wirtschaftsinformatik

Eidesstattliche Erklärung

Hiermit erkläre ich an Eides statt, dass ich die vorliegende Abschlussarbeit

selbstständig und ohne fremde Hilfe verfasst und andere, als die angegebenen Quellen

und Hilfsmittel, nicht benutzt habe. Die den benutzten Quellen wörtlich oder inhaltlich

entnommenen Stellen (direkte oder indirekte Zitate) habe ich unter Benennung des

Autors/der Autorin und der Fundstelle als solche kenntlich gemacht.

Sollte ich die Arbeit anderweitig zu Prüfungszwecken eingereicht haben, sei es

vollständig oder in Teilen, habe ich die Prüfer/innen und den Prüfungsausschuss

hierüber informiert.

Berlin, 01. Februar 2018__________

Ort, Datum Unterschrift

Abstract

Deutsch:

Das Ziel der vorliegenden Bachelorarbeit ist es, zu prüfen wie ein ideales Vorgehen für

das Upgrade einer TYPO3-Installation aussehen kann. TYPO3 ist ein Open Source

Content Management System mit dessen Hilfe Websysteme, vorrangig Webseiten,

entwickelt werden können. Im Verlauf der Arbeit wird das Wort Upgrade definiert und

von einem Update abgegrenzt. Es wird außerdem untersucht, welche Arten von

Qualität für Software eine Rolle spielen. Auf Basis der erarbeiteten theoretischen

Grundlagen wird ein Interviewleitfaden entwickelt, der bei der Befragung von sechs

TYPO3-Experten zum Einsatz kommt. Die Interviews werden ausgewertet und mithilfe

der BPMN wurden einzelne Modelle entworfen und textlich beschrieben. Es wurde am

Rande betrachtet, welche Faktoren für ein Upgrade wichtig sind und wie moderne

Ansätze, wie automatisiertes Deployment oder die Nutzung des Tools „Composer“, in

dieses Vorgehen mit einfließen können. Die Arbeit richtet sich vor allem an Personen,

die bereits grundlegende Erfahrungen mit TYPO3 haben und eine Grundlage bzw. ein

Hilfsmittel für ein Upgrade suchen.

English:

The aim of this bachelor’s thesis is to examine the current best-practices for upgrading

a TYPO3 installation. TYPO3 is an open-source content management system. Using

TYPO3, companies and individuals are able to quickly develop internet information

systems and websites. During the course of this work, the term "upgrade" is defined

and differentiated from the term "update". Additionally, the indicators of quality software

are examined. On the basis of the established theoretical principles, an interview guide

is developed which is used to direct the survey of six TYPO3 experts. Using the

principles of BPMN, individual models are created and recorded. The requirements and

preconditions for an upgrade are briefly considered, including the influence of modern

software transition approaches such as automated deployment, and, additionally, the

use of the dependency management tool "Composer", in order to devise an optimal

upgrade procedure. This work is aimed primarily at individuals who currently retain

basic experience with TYPO3 and who are in need of a guide or toolkit to conduct an

upgrade.

Inhaltsverzeichnis

1 Einleitung ............................................................................................................... 1

1.1 Motivation ...................................................................................................... 1

1.2 Problemstellung und Forschungsfrage .......................................................... 1

1.3 Aufbau der Arbeit .......................................................................................... 1

2 Grundlagen ............................................................................................................ 2

2.1 TYPO3 .......................................................................................................... 2

2.1.1 Verbreitungsgrad und Budget .................................................................... 3

2.1.2 Roadmap ................................................................................................... 4

2.1.3 LTS – Long Term Support ......................................................................... 5

2.1.4 Technische Abhängigkeiten ....................................................................... 6

2.2 Einordnung von Upgrade und Update ........................................................... 7

2.3 Composer...................................................................................................... 8

2.4 Release Management, Integration und Deployment ...................................... 8

2.5 Softwarequalität........................................................................................... 10

2.5.1 Qualitätsmanagement ............................................................................. 11

2.6 Dokumentation ............................................................................................ 12

2.7 Standard- oder Individualsoftware ............................................................... 12

2.8 Der Wartungsprozess .................................................................................. 12

2.9 Technische Gründe für ein Upgrade ............................................................ 13

2.10 Finanzielle Gründe für ein Upgrade ............................................................. 15

2.11 Aktueller Stand in der Literatur .................................................................... 16

3 Forschungsmethode ............................................................................................ 17

3.1 Leitfadengestütztes Experteninterview ........................................................ 18

3.2 Erstellung des Interviewleitfadens ............................................................... 18

3.3 Auswahl der Interviewpartner ...................................................................... 19

3.4 Auswertung der Interviews .......................................................................... 22

4 Ergebnisse .......................................................................................................... 23

4.1 Upgrade und Update aus Sicht der Experten .............................................. 23

4.2 Gründe für ein Upgrade ............................................................................... 24

4.3 TYPO3 und Metriken ................................................................................... 24

4.4 Akteure eines TYPO3-Upgrades ................................................................. 25

4.5 Phasen eines TYPO3-Upgrades ................................................................. 28

4.5.1 Angebotsphase 1 .................................................................................... 29

4.5.2 Analysephase – Upgrade Check ............................................................. 30

4.5.3 Angebotsphase 2 .................................................................................... 36

4.5.4 Vorbereitungsphase ................................................................................ 37

4.5.5 DEV-Phase.............................................................................................. 39

4.5.6 Stage-Rollout-Phase ............................................................................... 43

4.5.7 Testphase / Abnahmephase .................................................................... 45

4.5.8 Live-Rollout-Phase .................................................................................. 47

4.6 Häufige Probleme bei einem Upgrade ......................................................... 48

4.7 Wichtige Tools bei einem Upgrade .............................................................. 48

4.7.1 Fehlende Tools ........................................................................................ 49

4.8 Zukunft von TYPO3 und Konsequenzen für Upgrades ................................ 50

4.9 Diskussion der Ergebnisse .......................................................................... 51

5 Fazit .................................................................................................................... 53

6 Abkürzungsverzeichnis ........................................................................................... I

7 Literaturverzeichnis ................................................................................................ II

8 Abbildungsverzeichnis .......................................................................................... VI

9 Tabellenverzeichnis ............................................................................................. VII

10 Anhang .......................................................................................................... VIII

1

1 Einleitung

1.1 Motivation

Die Motivation diese Arbeit zu erstellen, fußt vor allem auf den bisher gesammelten

Erfahrungen im Umgang mit dem Open Source CMS TYPO3 und den Schwierigkeiten

bei einem Upgrade des Systems. In der bisherigen Arbeit und auch bei Gesprächen,

welche ich während vieler Veranstaltungen (z.B. Barcamps) geführt habe, war dies ein

sehr unbeliebtes Thema und es schien so, als ob jeder seine eigene Strategie für

diesen Prozess parat hat.

1.2 Problemstellung und Forschungsfrage

Da dies ein relativ unbefriedigender Zustand ist, soll der Kern der Arbeit die Frage

beantworten, wie ein ideales Vorgehen für ein TYPO3-Upgrade aussehen kann. Es soll

weiterhin geprüft werden, welche Faktoren ein solches Upgrade beeinflussen und wie

flexibel es gehalten werden muss. Um dies so genau wie möglich darzustellen, müssen

die Begriffe „Upgrade“ und „Update“ definiert und voneinander abgegrenzt werden.

1.3 Aufbau der Arbeit

Zu Beginn findet eine Heranführung an das Thema statt. Es wird dargelegt, was

TYPO3 ist und welche Begriffe im TYPO3-Universum von Bedeutung sind. Zusätzlich

werden Technologien und Programme betrachtet, die für das Upgrade eine Rolle

spielen können und die eventuell auch zusätzliche Thesen bzw. Fragen für die weitere

Bearbeitung im Hauptteil generieren. Es soll auch über die Literatur herausgefunden

werden, ob schon Vorgehensmodelle existieren oder andere Modelle, die

Rückschlüsse auf den zu erstellenden Prozess erlauben.

Im Hauptteil wird auf Basis von geführten Experteninterviews ein Vorgehen für die

Durchführung eines TYPO3-Upgrade entwickelt. Die Visualisierung des Vorgehens soll

mittels der BPMN durchgeführt werden. Die Ergebnisse sollen dargestellt und diskutiert

werden.

Im letzten Teil wird ein Fazit aus den Erkenntnissen gezogen und ein Ausblick

aufgezeigt.

2

2 Grundlagen

Im folgenden Kapitel werden notwendige theoretische Grundlagen vermittelt. Es sollen

Begriffe aus dem TYPO3-Bereich erklärt und für die Arbeit wichtige Erkenntnisse aus

der Literatur aufgezeigt werden. Weiterhin wird durch die Definition von Begriffen auch

eine Abgrenzung von diesen untereinander ermöglicht.

2.1 TYPO3

TYPO3 ist ein Open Source „Content Management System” welches von Kasper

Skårhøj im Jahr 2000 erstmalig als Beta-Version veröffentlich wurde.1 Die

Überlegungen ein eigenes CMS zu entwickeln, reiften bei Kasper Skårhøj schon im

Jahr 1997 als der Begriff CMS noch nicht wirklich weit verbreitet war.2 Zu Beginn wurde

TYPO3 als kommerzielles Produkt für seinen damaligen Arbeitgeber „superfisch.com“

entwickelt. Nach Meinungsverschiedenheiten im Jahr 1999 trennte er sich von seiner

Firma und entwickelte TYPO3 nun selber weiter.

Der Name TYPO3 lässt sich auf den Erfolg der Version 3 zurückführen. Ursprünglich

gab es auch die Version 1, 2 und 2.5. Seit dem Launch der Version 4 stand aber fest,

dass das System von nun an TYPO3 heißen soll.3

TYPO3 wird unter der Open Source Lizenz GNU General Public License (GPL)

veröffentlicht.4 Die GPL Lizenz definiert vier sogenannte Freiheiten. In diesen ist

beschrieben, dass in der Praxis für eine Software unter GPL keine Lizenzgebühren

erhoben werden dürfen, aber Dienstleistungen rund um das Produkt (wie z. B.

Einrichtung, Konfiguration oder Erweiterungen) kommerziell angeboten werden

können.5

Für die Konfiguration von TYPO3 wurde eine eigene Konfigurationssprache mit dem

Namen „TypoScript“ entwickelt. Mittels TypoScript lässt sich beschreiben wie die durch

1 (Meyer & Helmich, 2016, S. 10)

2 (Meyer & Helmich, 2016, S. 9)

3 (TYPO3 Association, kein Datum-a)

4 (Lobacher & Krell, 2013, S. 10)

5 (Lobacher & Krell, 2013, S. 11)

3

TYPO3 verwalteten Daten aus der Datenbank in das Ausgabedokument gelangen

sollen.6

Der Funktionsumfang von TYPO3 kann mittels Erweiterungen, sogenannter

Extensions, erhöht werden. Hierfür steht innerhalb des TYPO3 CMS das PHP-

Framework „Extbase“7 und die Templating-Engine „Fluid“8 zur Verfügung. Extbase ist

die API-Schnittstelle, die seit TYPO3 4.3 zum Einsatz kommt, neben der klassischen

pibase-Schnittstelle. Fluid ist eine eigens für TYPO3 entwickelte Templating-Engine,

die den Anforderungen der TYPO3-Entwickler gerecht werden soll9, welche aber auch

im neuen PHP Framework „FLOW“ (ursprünglich „FLOW3“) zum Einsatz kommt.10

Die TYPO3 Association (Dachorganisation hinter TYPO311) bezeichnet TYPO3 selbst

als Enterprise Open Source CMS (was dessen Fokus vermuten lässt) gibt aber auch in

den Key Features an, für kleine bis große Webseiten nutzbar zu sein.12

2.1.1 Verbreitungsgrad und Budget

Laut der Webseite „CMSCrawler“ befindet sich TYPO3 in einem weltweiten Vergleich

der CMS auf Platz fünf der am häufigsten eingesetzten Systeme.13 Schaut man sich

die Verteilung nur innerhalb von Deutschland an, steht TYPO3 sogar an Platz zwei.14

Die Webseite „webkalkulator.com“ attestiert TYPO3 auch einen zweiten Platz hinter

dem CMS „Wordpress“. In dieser Auflistung wird auch das durchschnittliche Budget

eines Webprojektes mit dem jeweiligen CMS gezeigt. Als Bemessungsgrundlage

dienten 42.421 Projekte, davon 25.857 in den letzten zwölf Monaten. Es wurde ein

durchschnittliches Budget für TYPO3-Projekte von insgesamt 5.430 € ermittelt. Im

Vergleich dazu belegen Platz eins Wordpress mit einem Budget von 2.240 € und Platz

drei „Joomla!“ mit durchschnittlich 2.060 €.15

6 (Meyer & Helmich, 2016, S. 77)

7 (Meyer & Helmich, 2016, S. 293)

8 (Meyer & Helmich, 2016, S. 60)

9 (Frömken, 2012)

10 (Wikipedia - Flow Framework, 2017)

11 (TYPO3 Association, kein Datum-b)

12 (TYPO3 Association, kein Datum-c)

13 (CMSCrawler, 2017)

14 (CMSCrawler, 2017)

15 (Webkalkulator, 2017)

4

Besonders interessant ist dabei die Abbildung 1 von der Webseite „Webkalkulator“.

Diese Grafik zeigt die jeweiligen Budgetdurchschnittswerte im Verhältnis der

unterschiedlichen Auftragnehmer und Auftraggeber. So zeigt sich, dass bei größeren

Agenturen mit Unternehmen als Kunden der Durchschnittswert bei 20.000 € liegt.

Abbildung 1: Umsatz für Webprojekte nach Marktsegmenten Quelle: (CMSCrawler, 2017)

Da die im späteren Verlauf gewählten Experten für die Interviews, alle einen

Erfahrungsschatz aus dem Bereich der größeren Agenturen haben, wird sich die

Erstellung des Vorgehens an deren Struktur orientieren.

2.1.2 Roadmap

Die Entwicklung von TYPO3 erfolgt anhand einer sogenannten „Roadmap“. Diese

spiegelt die Planung der sogenannten „Sprint-Releases“16 (Versionen zwischen den

LTS-Versionen) wieder. Für den jeweiligen Versionsstrang (in Zukunft also die

Version 9) gibt es eine vorher geplante Abfolge von Releases bis zum Erscheinen der

LTS-Version. Die Abbildung 2 zeigt die geplante Roadmap auf.

16 (TYPO3 YouTube Channel, 2017)

5

Abbildung 2: Roadmap Quelle: (Weiland, 2017)

Statt der offiziellen Grafik der TYPO3-Webseite17 wird die erweiterte des TYPO3-

Hosters „jweiland.net“ hier dargestellt. Diese zeigt zusätzlich zu den Laufzeiten einer

LTS-Version auch die jeweilige Entwicklungszeit und auch die sogenannte „ELTS-

Version“ die einen kostenpflichtigen verlängerten Support durch die TYPO3 GmbH

darstellt.18 Weitere Erklärungen zum Begriff LTS und auch ELTS folgen im nächsten

Kapitel.

2.1.3 LTS – Long Term Support

Aufgrund der Abwärtskompatibilität werden immer mehrere TYPO3-Versionszweige für

eine Dauer von ca. drei Jahren ab Erstveröffentlichung mit Updates versorgt. In jedem

Versionszweig ist die sogenannte LTS-Version die letzte Minor-Version in diesem

Zweig. Ausgehend vom semantischen Versionieren (Semantic Versioning19) ist die

jeweilige Hauptversion die Major-Version (also TYPO3 Version 6 oder TYPO3

Version 7). Die nächste Stelle nach dem Punkt ist die Minor-Version. Die höchste

Nummer bildet hier den LTS-Release (also TYPO3 6.2 oder TYPO3 7.6). Die letzte

Zahl nach dem Punkt gibt die Patch-Version an (also TYPO3 6.2.11 oder TYPO3

7.6.5). Innerhalb einer LTS-Version gibt es einen sogenannten „feature freeze“. Es

kommen keine neuen Funktionen hinzu. Es werden lediglich Bugs und

Sicherheitsprobleme behoben. Für den Betrieb einer Webseite können zwar auch die

17 (TYPO3 Association, kein Datum-d)

18 (TYPO3 GmbH, 2017)

19 (Preston-Werner, 2013)

6

Versionen zwischen einer LTS-Version und der nächsten genutzt werden, es wird aber

empfohlen auf eine LTS-Version zu setzen, da nur für diese offizielle Upgrade-Pfade

zur Verfügung gestellt werden.20

Die im vorherigen Kapitel erwähnte ELTS-Version spielt hier eine gesonderte Rolle.

Die TYPO3 GmbH, gegründet durch die TYPO3 Association21, bietet hier die

Möglichkeit, gegen Zahlung weiterhin mit Sicherheitsupdates versorgt zu werden. Es

gelten weiterhin die Grundsätze des semantischen Versionierens. Dieser zusätzliche

Service wird nach eigenen Aussagen unter anderem angeboten, um den Zeitraum für

eine Migration zu vergrößern oder auch um das System mit alten Softwarebibliotheken

kompatibel zu halten.22

Rückschlüsse über den Verbreitungsgrad der einzelnen LTS-Versionen lässt auch die

Webseite „t3census.info“ zu. Auf dieser Seite werden die Ergebnisse aus einem

automatischen Durchsuchen des Webs (sogenanntes „crawling“) nach den

Versionsnummern von TYPO3-Installationen aufgezeigt. Es zeigt sich, dass wie

empfohlen, hauptsächlich auf LTS-Versionen gesetzt wird.23 Sehr weit verbreitet sind

noch die Versionen 4.5 und 6.2 die jedoch nicht mehr unterstützt werden. Die LTS 7.6

hat hier noch einen recht geringen Anteil.

2.1.4 Technische Abhängigkeiten

Der Code von TYPO3 basiert auf der Open Source Skriptsprache PHP (steht für „PHP:

Hypertext Preprocessor“ als rekursives Akronym) und ist eine Sprache hauptsächlich

für Webanwendungen.24 PHP selbst braucht noch einen Webserver25 wie z. B. Apache

oder Nginx um den interpretierten Code an einen User (meist per HTML26 und per

HTTP27 oder besser HTTPS, also gesichert durch Secure Sockets Layer28) ausliefern

zu können. Im Hintergrund arbeitet eine relationale Datenbank29 wie z. B. MySQL oder

MSSQL um die vom CMS verwalteten Daten zu speichern.

20 (TYPO3 YouTube Channel, 2017)

21 (TYPO3 GmbH, 2017)

22 (TYPO3 GmbH, 2017)

23 (Krause, 2016)

24 (php.net, kein Datum)

25 (Casteleyn, Daniel, Dolog, & Matera, 2009, S. 241)

26 (Casteleyn, Daniel, Dolog, & Matera, 2009, S. 11)

27 (Casteleyn, Daniel, Dolog, & Matera, 2009, S. 10)

28 (Thomas, 2001, S. 158)

29 (Abts & Mülder, 2017, S. 169)

7

Für den Betrieb von TYPO3 kommen verschiedenste Betriebssysteme und Webserver

in Frage. Besonders geeignet ist jedoch TYPO3 im Zusammenspiel mit einem Linux-

basierten Betriebssystem. Man spricht hier auch vom Akronym „LAMP“ welches für

„Linux, Apache, MySQL and PHP“ steht.30

Die neuste TYPO3 Version 8.7 gibt folgende technische Abhängigkeiten an:

- PHP Version 7.0 oder größer - MySQL Version größer 5.5 - Webserver wie z. B. Apache oder IIS31

Außerdem sind noch weitere Bibliotheken wie z. B. ImageMagick und Erweiterungen

des Webservers notwendig.32

Da der Server und dessen Komponenten die Basis für die Lauffähigkeit für TYPO3

bilden, sollten sich hier auch Fragen für das Vorgehen ableiten, die in den Interviews

gestellt werden.

2.2 Einordnung von Upgrade und Update

Laut dem Gabler Wirtschaftslexikon handelt es bei einem Update um eine "erweiterte

und/oder verbesserte Version eines Softwareprodukts.“33 Wobei es sich bei einem

Upgrade um eine „Aufrüstung von Hardware oder Software zu höherer

Leistungsfähigkeit, ohne dass ein neues Modell erworben werden muss.“34 handelt.

Beim Update bleibt die Leistungsfähigkeit also gleich und wird lediglich minimal

verbessert, beim Upgrade wird diese deutlich erhöht.

In dem Buch „Softwarewartung“ wird ein Upgrade als eine neue Version einer Software

bezeichnet, die alle Mängelkorrekturen vorausgegangener Updates enthält. Weiterhein

unterliegen Upgrades keiner besonderen Dringlichkeit und können deshalb geplant

werden. Da aber Aufwände aus den Upgrades sehr hoch sein können, werde diese

oftmals lange hinausgezögert.35 Diese Definition veranschaulicht zwar schon besser

den Unterschied zwischen dem Update und dem Upgrade, jedoch ist hier immer noch

Raum für eine genauere Definition der Begriffe. Um für weitere Klarheit zu sorgen und

auch um festzustellen ob die Begriffe im TYPO3-Bereich in andere oder gleicher Form

30 (Abts & Mülder, 2017, S. 63)

31 (TYPO3 Dokumentation, 2017)

32 (TYPO3 Association, kein Datum-e)

33 (Gabler Wirtschaftslexikon, kein Datum-a)

34 (Gabler Wirtschaftslexikon, kein Datum-b)

35 (Bommer, Spindler, & Barr, 2008, S. 84)

8

verwendet werden, sollen auch die Interview-Teilnehmer nach ihrer Ansicht befragt

werden.

2.3 Composer

Das Tool „Composer“ ist ein sogenannter „Dependency Manager“ geschrieben in PHP

für PHP-Applikationen. Komplexe PHP-Applikationen setzen sich in der Regel aus

einer Reihe von Fremdbibliotheken verschiedenster Versionen zusammen. Um diese

Abhängigkeiten nicht manuell pflegen zu müssen, gibt es das oft genutzte Tool

Composer.36

Auch in der TYPO3-Welt hat Composer mittlerweile einen festen Platz. So ist es Teil

des TYPO3-Wiki und TYPO3 und Extensions können dadurch installiert werden.37

Mithilfe von Composer ist es möglich, TYPO3 und seine Extensions automatisiert zu

installieren. Wenn man diese Option anwendet, ist es danach nicht mehr möglich, über

andere Wege TYPO3-Extensions zu installieren.38 Der Vorteil liegt aber darin, dass die

Versionskonfiguration des Projekts über eine Datei (die „composer.json“39)

durchgeführt werden kann. Dies hat den Vorteil, dass die Datei wiederum auch (z. B.

mit Git) versioniert werden kann. Hinsicht dieser Arbeit gilt es herauszufinden,

inwieweit die Nutzung von Composer den Prozess eines Upgrades von TYPO3

beeinflusst.

2.4 Release Management, Integration und Deployment

Unter Integration, versteht man die Zusammenführung von einzelnen Komponenten zu

einer bekannten Konfiguration für ein System. Diese besitzen jeweils eine

Versionsangabe und ihre Wirkungsweise und Schnittstellen sind aufeinander

abgestimmt und führen eine gemeinsame Aufgabe aus.40 Am Beispiel von TYPO3

wären dies unter anderem die Konfiguration mittels TypoScript oder die Konfiguration

von TER-Extensions. Die Zusammensetzung dieser Konfiguration (meist in Dateien)

kann manuell geschehen aber auch Teil eines „automated integration“ oder

36 (Rees, 2016, S. 2)

37 (TYPO3Wiki, 2016)

38 (Meyer & Helmich, 2016, S. 22)

39 (Rees, 2016, S. 18)

40 (Balzert, 2008, S. 431)

9

„continuous integration“ Systems wie z. B. „Jenkins“41 sein. Den Vorgang des

Zusammensetzens selbst nennt man „builden“42

Das Deployment (Ausliefern der gebauten Konfiguration) selbst ist speziell für Web-

Systeme wie TYPO3 ein wichtiges Thema. Da die gebaute Konfiguration meist auf

entfernte Webserver ausgeliefert werden muss, gibt es auch hier ein Interesse diesen

Vorgang zu automatisieren. Man spricht hier von „continuous deployment“43. Auch das

kann ein Jenkins-System leisten.

Mittels einer Frage im Interview soll geklärt werden, an welchen Stellen des Vorgehens

dieser Punkt eine Rolle spielen könnte. Diese Aspekte werden nicht detaillierter

Bestandteil der Arbeit, weil es sich um sehr spezielle Themen handelt. Es erfolgt hier

lediglich eine Randbetrachtung mit der Absicht, die Nachhaltigkeit der zu erstellenden

Modelle zu erhöhen.

Anders verhält es sich mit den Empfehlungen aus ITIL und dem darin definierten

„Release Management“. Auch hier gibt es diese Begriffe („build“ wird synonym

verwendet aber anstatt „integration“ spricht man von „rollout“ bzw. „deploy“44). Hier wird

das ausführliche Testen von sogenannten „Releases“ (Veröffentlichungen)

beschrieben.45 Die Abbildung 3 zeigt eine Unterteilung in Test- und Produktivsystem.

Diese wichtigen Elemente sollen Bestandteil des Interviews sein, um zu klären, wo

diese im Prozess zum Einsatz kommen.

41 (Jenkins Webseite, kein Datum)

42 (Bergman & Priebsch, 2010, S. 377)

43 (Bergman & Priebsch, 2010, S. 367)

44 (Köhler, 2007, S. 252)

45 (Köhler, 2007, S. 102-109)

10

Abbildung 3: Deploy von getesteten Releases auf Test- und Produktivsystem Quelle: (Köhler, 2007, S. 106)

2.5 Softwarequalität

Die Frage nach der Definition von Softwarequalität ist zunächst auch eine Definition

des Begriffes Qualität und abhängig von der Software. Zum einen liegt es sehr nahe,

die Definitionen einiger Normenwerke zu betrachten. Diese Definitionen zieht auch

Balzert in seinem Lehrbuch heran. Sie unterscheiden sich aber durchaus. Er stellt fest,

dass „… selbst in den Normenwerken der Qualitätsbegriff unterschiedlich definiert“46

wird. Er führt die Definition von Qualität dabei auf folgende fünf Ansätze zurück:

▪ Der transzendente Ansatz o Qualität ist universell erkennbar, absolut, einzigartig vollkommen.

▪ Der produktbezogene Ansatz o Qualität ist eine messbare, genau spezifizierte Größe, die das Produkt

beschreibt und durch die man die Qualitätsunterschiede aufzeigen kann. ▪ Der benutzerbezogene Ansatz

o Qualität wird durch den Produktnutzer festgelegt. ▪ Der prozessbezogene Ansatz

o Qualität entsteht durch die richtige Erstellung des Produkts. ▪ Der Kosten/nutzen-bezogene Ansatz

o Qualität ist eine Funktion von Kosten und Nutzen.47

46 (Balzert, 2008, S. 461)

47 (Balzert, 2008, S. 460)

11

Weiterhin folgt er der Definition der ISO/IEC 9126-1 die zwischen einer externen und

internen Qualität für Softwareprodukte unterscheidet.48

Die externe Qualität interessiert vor allem den Kunden bzw. den Nutzer einer

Anwendung. Externe Qualitätsmerkmale sind unter anderem:

▪ Funktionalität ▪ Gebrauchstauglichkeit ▪ Reaktionsfreudigkeit ▪ Sicherheit ▪ Verfügbarkeit ▪ Zuverlässigkeit49

Interne Qualität spiegelt vor allem die Bedürfnisse der Entwickler bzw. Administratoren

wieder. Hier spielen Faktoren wie z. B. die Qualität des Codes, bewertet durch Aspekte

wie z. B. Lesbarkeit, Verständlichkeit, Anpassbarkeit und Erweiterbarkeit, eine wichtige

Rolle.50 Im Verlauf der Arbeit wird untersucht, welche dieser Aspekte durch ein

Upgrade wie beeinflusst werden.

2.5.1 Qualitätsmanagement

Die oben beschriebenen Faktoren für Qualitätsmerkmale sind also Grundlage für die

Bemessung von Qualität. Sollte eines der genannten Merkmale nicht erfüllt sein,

können wir von einer geringeren Qualität ausgehen.51 Mittels dem

Qualitätsmanagement und dem Regelkreis der Qualitätssicherung geht es um die

Einhaltung dieser Merkmale.52 Das Messen von Qualität ist auch über die sogenannten

Metriken möglich. Hierbei wird versucht, Aspekte dieser Merkmale zu quantifizieren.

Ein Beispiel wäre dafür die Anzahl der Codezeilen geteilt durch die Anzahl der

gefundenen Fehler. Vergleicht man nun auch noch den Wert vor und nach einem

Upgrade, kann man daran messen, wie sich dieser verbessert oder verschlechtert hat.

Während der Interviews sollen Fragen formuliert werden, die bei den Experten in

Erfahrung bringen, was für sie geeignete Messwerte sind. Mithilfe der Antworten soll

ergründet werden, inwieweit diese bereits berücksichtigt werden.

48 (Balzert, 2008, S. 462)

49 (Bergman & Priebsch, 2010, S. 4)

50 (Bergman & Priebsch, 2010, S. 5)

51 (Bommer, Spindler, & Barr, 2008, S. 87)

52 (Bommer, Spindler, & Barr, 2008, S. 113-115)

12

2.6 Dokumentation

Die Dokumentation ist ein weiterer wichtiger Bereich der Softwarewartung. Es gibt

dabei zwei Blickwinkel: Welche Dokumente existieren bereits und unterstützen die

Wartung? Welche Dokumente müssen gepflegt und aktuell gehalten werden?

Die Dokumentation muss also mit dem Produkt mitwachsen. Da die Motivation dafür

vergleichsweise gering ist, sollte die Pflege dieser, fester Bestandteil des Prozesses

sein.53 Im zu erstellenden Vorgehen wird dies berücksichtigt werden. Es soll außerdem

bei den Experten in Erfahrung gebracht werden, welche Dokumentationen sie

üblicherweise erstellen und pflegen. Anhand der Interviews soll auch herausgefunden

werden, an welchen Stellen im Upgrade-Prozess diese Aktivität am besten

durchgeführt wird.

2.7 Standard- oder Individualsoftware

„Um Standardsoftware handelt es sich, wenn die Software bereits entwickelt worden ist

und nunmehr an einen nicht von vornherein feststehenden Kundenkreis vertrieben

werden soll.“54 Aus der Aussage von Balzert lässt sich ableiten, dass es sich bei

TYPO3 um Standardsoftware handeln muss. Denn die Individualsoftware auf der

anderen Seite ist für einen Auftraggeber speziell entwickelte Software anhand der

gesammelten Anforderungen.55

Dies bedeutet also, dass zwar TYPO3 selbst eine Standardsoftware ist, die

Erweiterungen selber sich aber auch noch einmal in Standard- und Individualsoftware

unterteilen lassen. So sind die Extensions, die sich im TYPO3-TER (TYPO3 Extension

Repository, öffentliches Verzeichnis für freie Extensions)56 befinden, als

Standardsoftware zu sehen. Diese sind bereits entwickelt worden und können von

einem unbestimmten Kundenkreis genutzt werden. Im Umkehrschluss bedeutet dies,

dass die Extensions, die im speziellen Kundenauftrag entwickelt worden sind, eine

Individualsoftware darstellen.

2.8 Der Wartungsprozess

Der Wartungsprozess nach Bommer, Spindler & Baar ist die Grundlage für diese Arbeit

und das Erstellen eines Vorgehens für ein Upgrade von TYPO3. Zu betrachten ist hier

53 (Bommer, Spindler, & Barr, 2008, S. 119-121)

54 (Balzert, 2008, S. 335)

55 (Balzert, 2008, S. 335)

56 (TYPO3 Extension Repository, kein Datum)

13

die Ablauf- und Aufbauorganisation. Die Autoren haben dafür den aus der IEEE1219

stammenden Wartungsprozess angepasst, da sie nur bedingt einen Erfolg

versprechenden Prozess sahen. Sie haben dafür zusätzliche Fragen formuliert, die es

im Rahmen des Prozesses zu beantworten gilt. 57

Weiterhin wurden für diesen Prozess diverse Beteiligte in Form von Rollen definiert.

Diese sind: der Wartungsmanager, Wartungsingenieur/-mitarbeiter,

Testmanager/Verifizierer, Konfigurationsmanager, Qualitätsmanager, Produktmanager

und Validierer.58 Ob und inwieweit diese Rollen beim Upgrade von TYPO3 Anwendung

finden, gilt es zu betrachten. Eine Frage dazu soll im Interview gestellt werden.

2.9 Technische Gründe für ein Upgrade

Einer der Gründe für ein Upgrade von TYPO3 aus technischer Sicht, kann der Abbau

sogenannter „technischer Schulden“ sein. Der erstmals mit Ward Cunningham in

Verbindung gebrachte Begriff (er sagt zwar im Artikel nicht direkt „technical debt“ aber

im Zusammenhang mit dem Begriff „debt“ und „code“ lässt sich dies ableiten)59 wird

auch von anderen Autoren herangezogen, um ein starkes positives Argument

hinsichtlich eines Upgrades zu haben.60

So wird bei technischen Schulden davon ausgegangen, dass für schlechten Code

Zinsen fällig werden. Es kann zwar sinnvoll sein, ein Darlehen (und damit die Zinsen)

in Kauf zu nehmen, damit ein Programm schneller veröffentlicht werden kann, wird

aber das Darlehen nicht rechtzeitig getilgt und damit die Zinslast verringert, kann sich

dies bis zum Konkurs (also dem totalen Ausfall der Software oder des Unternehmers

dahinter) entwickeln. Es gilt hier also durch Programmpflege frühzeitig diese Schulden

abzubauen.

Die Autoren Bommer, Spindler und Barr machen zwar klar, dass Software nicht

verschleißen kann, wie es bei einem Auto der Fall ist, sie zeigen aber auf, welche

Gründe für eine Wartung sprechen. Sie nennen dafür die drei Folgenden:

Entropie ist das Maß der Unordnung und Zufälligkeit eines Systems und erhöht sich,

wenn man ein System sich selbst überlässt oder hat schon einen recht hohen Wert,

57 (Bommer, Spindler, & Barr, 2008, S. 87-97)

58 (Bommer, Spindler, & Barr, 2008, S. 98-102)

59 (Cunningham, 1992)

60 (Bergman & Priebsch, 2010, S. 6)

14

wenn während der Entwicklung von Software Architekturgrundsätze nicht mehr (z. B.

Aufgrund von Zeitdruck) eingehalten wurden. 61

Lack of movement beschreibt, wie die fachliche Umgebung und technische

Umgebung einer Software sich weiterentwickelt, die Software selbst aber stehen bleibt.

Unterlässt man die notwendigen Anpassungen an der Software, welche die

Entwicklungen aus den Umgebungen verlangen, veraltet das System ohne weiteres

Zutun.62

Abbildung 4: Lack of movement Quelle: (Bommer, Spindler, & Barr, 2008, S. 19)

Ignorant surgery ist die Verschlechterung der Architektur und des Designs einer

Software, die aus der Arbeit an dem Code von nicht kompetenten Personen herrührt.

So wird Code verändert oder geschrieben, der durch die ursprünglichen

Programmierer nicht mehr nachvollziehbar ist. Dadurch verschlechtert sich der

allgemeine Zustand der Software.63

Schlussendlich stellen sie fest, dass das Ziel der Softwarewartung nicht der Erhalt des

Originalzustandes einer Software ist, sondern das Herstellen eines neuen Zustands,

damit das System einsetzbar und nützlich bleibt.64

61 (Bommer, Spindler, & Barr, 2008, S. 18)

62 (Bommer, Spindler, & Barr, 2008, S. 19)

63 (Bommer, Spindler, & Barr, 2008, S. 20)

64 (Bommer, Spindler, & Barr, 2008, S. 21)

15

2.10 Finanzielle Gründe für ein Upgrade

Die technischen Gründe sind nur eine Art der Betrachtung. Auf der anderen Seite gibt

es natürlich auch die finanziellen Gründe, die die beiden Seiten, also Auftraggeber und

Auftragnehmer, zu einem Upgrade motivieren können.

Wartungskosten werden in der Regel eher als reine Kosten anstatt als Investitionen

verstanden, was sie grundsätzlich schon einmal unbeliebt macht.65 Trotzdem ist es

wichtig zu wissen, welche finanziellen Aspekte ein Upgrade begründen können.

Eine Art der Betrachtung ist die Softwareökonomie, also die Wirtschaftlichkeit eines

Systems. Diese ist nach Balzert anhand folgender Formeln zu ermitteln:

- Wirtschaftlichkeit = Erträge / Aufwendungen - Wirtschaftlichkeit = Leistung / Kosten - Wirtschaftlichkeit = Handlungsergebnisse / Mitteleinsatz

Die Wirtschaftlichkeit kann dabei auf verschiedene Arten verbessert werden. Man kann

das Softwareprodukt schneller entwickeln (Effizienzsteigerung), es so entwickeln das

es einen höheren ROI liefert oder für eine bessere Qualität sorgen.66 Gerade die

letzten beiden Punkte sind, wie oben beschrieben, technische Faktoren für ein

Upgrade. Verbessert sich also das Produkt technisch, hat dies auch positiven Einfluss

auf finanzielle Aspekte.

Ein laufendes System hat natürlich auch einen Wert. Dieser addiert sich über die Jahre

der Nutzung und steigt dementsprechend an. Mehr als 75 % des IT-Budgets von

Großbetrieben fließt dabei in die Erhaltung von Individualsoftware. Die Software bzw.

das System stellen damit einen großen Vermögenswert dar, den es zu sichern gilt. Die

Kosten sollten dabei im Verhältnis zum Vermögenswert stehen. Das Mindeste was ein

Unternehmen dabei jährlich aufbringen sollte, sind 15 % bis 25 % des

Gesamtumsatzes.67

Eine andere Herangehensweise wäre es zu fragen, was die Alternative zu einem

Upgrade ist. Da wäre zum einen die Neuentwicklung. Eine Softwareentwicklung ist

aber ein teures Vorhaben mit einem unbekannten Ausgang.68 Auch erreichen nur 50 %

der Projekte ihr Ziel und weniger als 20 % halten dabei Budget- und Zeitvorgaben

ein.69 Aber auch dies führt wieder zu einem System, welches erhalten werden muss.

65 (Bommer, Spindler, & Barr, 2008, S. 147)

66 (Balzert, 2008, S. 198-199)

67 (Sneed, Hasitschka, & Teichmann, 2005, S. 46)

68 (Sneed, Hasitschka, & Teichmann, 2005, S. 44)

69 (Standish Group, nach Sneed, Hasitschka, & Teichmann, 2005, S. 46)

16

Ein weiterer Weg wäre, nichts zu tun. Dies wurde aber bereits im Kapitel zuvor mit der

technischen Notwendigkeit begründet und wird daher nicht weiter betrachtet.

2.11 Aktueller Stand in der Literatur

Die aktuelle Sachlage von Vorgehensbeschreibungen im TYPO3-Bereich ist nicht

zufriedenstellend. Es gibt zwar einigermaßen aktuelle Literatur, jedoch beschränkt sich

diese auf eine sehr oberflächliche Beschreibung der erforderlichen Abläufe.70 Es

werden lediglich die notwendigsten Schritte beschrieben. Eine Betrachtung von

umliegenden Faktoren (Systemkontext) findet nur ungenügend statt. Auch Elemente,

wie in den vorherigen Kapiteln beschrieben, der Dokumentation oder beteiligte Rollen

werden nicht berücksichtigt. Leider ist die Literatur häufig veraltet71 und bezieht sich

auf von der neuesten Version 8.7 sehr abweichende Versionen wie die 4.5. Lediglich

die offizielle TYPO3-Dokumentation scheint etwas detaillierter und auch aktueller und

kann zumindest für die Konzeption in dieser Arbeit als valide Quelle herangezogen

werden.72 Sie ist dabei aber sehr technisch. Eine grafische Aufbereitung oder eine

Modellierung mithilfe einer Modellierungssprache konnte nicht gefunden werden.

70 (Meyer & Helmich, 2016, S. 364)

71 (Lobacher & Krell, 2013, S. 40)

72 (TYPO3 Documentation Team, 2017)

17

3 Forschungsmethode

Die vorliegende Arbeit nutzt als Datenbasis zum größten Teil die geführten

leitfadengestützten Experteninterviews. Für die Erstellung des Vorgehens werden vor

allem induktive Rückschlüsse aus den Interviews gezogen und in den Prozess

eingearbeitet. Zusätzlich wird auch deduktiv unter Einfluss der Literaturrecherche

breites Wissen zum Themengebiet aufgebaut. Dazu zählen vor allem die TYPO3-

Sachbücher aber auch die Literatur aus den Bereichen Software-Wartung und

Software-Pflege. Aus den Bereichen Requirements Engineering und Web Engineering

werden auch Quellen verwendet. Wie eingangs erwähnt, sind die Interviews die größte

Informationsquelle und aufbauend auf diesen wird mit Hilfe der Modellierung mittels

BPMN 2.0 der Prozess aufbereitet.

Abbildung 5: Methodenspektrum der Wirtschaftsinformatik Quelle: (Hess & Wilde, 2006)

In Abbildung 5 wird das Methodenspektrum der Wirtschaftsinformatik mit Zuordnung in

verschiedene Bereiche abgebildet. Daraus lässt sich schließen, dass sich die Arbeit

eher als Referenzmodellierung verstehen lässt, vom Formalisierungsgrad eher

quantitativ ausgeprägt und das Paradigma von konstruktivistischer Art ist.73

73 (Hess & Wilde, 2006)

18

3.1 Leitfadengestütztes Experteninterview

Im dem Bereich des Requirements Engineering ist das Interview eine der gängigsten

Methoden um die Anforderungen eines Auftraggebers aufzunehmen.74 Die Autoren

Rupp und die Sophisten sagen sogar: „Manchmal kommt es uns so vor, als ob die

Industrie nur das Interview einsetzt.“75 Da für die Erstellung des Vorgehens für ein

Upgrade von TYPO3 eine Kombination aus bestehendem Wissen (in dieser Arbeit aus

der Literaturrecherche) und die sehr wichtigen Erfahrungen der Experten vonnöten

sind, scheinen Interviews hier besonders gut geeignet.

Das Interview selbst teilt sich dabei in drei Phasen. Die Vorbereitung, Durchführung

und Nacharbeit.76 Für die Vorbereitung eines solchen Interviews hat sich der

Interviewleitfaden bewährt.77 Die Autoren Krallmann, Schönherr und Trier

unterscheiden die Interviewmetode in standardisierte, verdeckte, offene und nicht-

standardisierte Interviews.78 Da beim nicht-standardisierten Interview die Reihenfolge

der Fragen beliebig ist, ist die in dieser Arbeit verwendete Methode am ehesten damit

zu vergleichen. Diese Methode kann von einer groben Struktur bis hin zu einem

Fragebogen variiert werden.

Für diese Arbeit wurde ein Leitfaden erstellt, der zum einen konkrete Fragen, zum

anderen Stichpunkte zum Lenken der Gespräche für den Fragensteller enthält (siehe

Anhang).

3.2 Erstellung des Interviewleitfadens

Der für diese Arbeit erstellte Leitfaden wurde dabei in drei Bereiche aufgeteilt

(Einstiegsfragen, Hauptfragen, Abschluss). Es wurden vor allem die Fragen gestellt,

die mittels der Literatur nicht beantwortet werden konnten und die sich auch in ihrer

Beantwortung auf die Erfahrung der Experten beziehen. Weiterhin sollten mittels der

Antworten auch die Erkenntnisse aus der Literaturrecherche bestätigt, wiederlegt oder

ergänzt werden. Am Ende der jeweiligen Kapitel wird erwähnt, welche Fragen in den

Leitfaden aufgenommen werden. Für die Interviews wurde ein Zeitrahmen von dreißig

Minuten angesetzt mit einem Puffer von weiteren dreißig Minuten, sodass ein Interview

maximal eine Stunde dauern sollte.

74 (Rupp & SOPHISTen, 2014, S. 105)

75 (Rupp & SOPHISTen, 2014, S. 105)

76 (Rupp & SOPHISTen, 2014, S. 107)

77 (Rupp & SOPHISTen, 2014, S. 107)

78 (Krallmann, Schönherr, & Trier, 2007, S. 155)

19

Insgesamt wurden für diese Arbeit zwei Leitfäden erstellt. Nach dem Interview der

ersten Person wurde festgestellt, dass die bisherigen Fragen noch nicht zu den

gewünschten Ergebnissen führten und das zusätzliche und auch genauere

Fragestellungen nötig waren. Die zweite Version des Leitfadens wurde dann nicht

mehr verändert. Version 1 des Leitfadens bestand dabei aus 26 Fragen und Version 2

aus 30 Fragen. Für einzelne Fragen wurde kein Zeitlimit festgelegt, um nicht in den

Redefluss der Interviewpartner eingreifen zu müssen.

Für die Art des Interviews wurde das persönliche Interview gewählt, um im Gespräch

flexibel reagieren zu können. Um eine gute Struktur und Identifikation zu

gewährleisten, wurden alle Fragen fortlaufend nummeriert. Im Anhang dieser Arbeit,

befinden sich zwei Versionen des erstellten Interviewleitfadens.

3.3 Auswahl der Interviewpartner

Für die zu führenden Interviews, mussten die richtigen Experten gewählt werden. Hier

stellte sich zunächst die Frage, was eine Person zum Experten macht. Nach Kaiser ist

das Expertenwissen an eine Funktion oder Berufsrolle gebunden.79 Für die Arbeit

bedeutet dies, dass hier vorrangig Personen befragt werden sollen, die TYPO3 aus

beruflichen Gründen benutzen. Die Zuschreibung der Expertenrolle erfolgt aber auch

immer durch den Forscher (in diesem Sinne dem Ersteller dieser Arbeit) selbst.80

Schlussendlich fasst Kaiser zusammen, dass ein Experte zum einen „…im weitesten

Sinne verantwortlich im Prozess der politischen Problemlösung.“ ist oder zum anderen

jemand der aus „…welchen Gründen auch immer – über relevantes Wissen über den

Prozess der politischen Problemlösung verfügt.“81 Diese Aspekte flossen in die

Auswahl der Experten ein. So sind alle Befragten aufgrund ihrer Position aktiv an der

Weiterentwicklung von TYPO3 beteiligt und beeinflussen dessen Entwicklung dadurch

unmittelbar.

Für die Auswahl der Interviewpartner dienten zum einen Gespräche mit dem

Zweitbetreuer dieser Arbeit, Sebastian Kreideweiß, der aufgrund seiner langjährigen

TYPO3-Erfahrungen und fortwährenden Engagements in der Community, einige

Personen benennen konnte, zum anderen aber auch bereits gemachte Erfahrungen im

TYPO3 Bereich und schlussendlich gefundene Autoren bei der Literaturrecherche.

79 (Kaiser, 2014, S. 36)

80 (Kaiser, 2014, S. 39)

81 (Kaiser, 2014, S. 41)

20

Eine besondere Herausforderung war es, die richtige Anzahl an zu befragenden

Experten zu wählen. Nach Kaiser ist vor allem die zeitliche Ressource für die Arbeit ein

wichtiger Faktor.82 Dies lässt aber keine Rückschlüsse auf die eigentliche Anzahl zu,

da hier keine konkrete Zahl genannt wird. Nach Gesprächen mit Herrn Kreideweiß,

schien eine Anzahl von drei bis fünf Personen angemessen für die Zielstellung und

Umfang dieser Arbeit. Die Option mehr als fünf Personen zu befragen wurde aber nicht

ausgeschlossen. Während des Interviewzeitraumes wurde regelmäßig überprüft, wie

sich die Datenlage darstellt und ob weitere als der geplanten Interviews vonnöten sein

würden. Alle Interviews wurden in einem Zeitraum von vier Wochen durchgeführt. Pro

Woche also nicht mehr also ein bis zwei. Um ein möglichst breites Spektrum an

Blickwinkel abzudecken, wurden Experten mit verschiedensten Schwerpunkten

befragt.

Aufgrund einer Absage wurde ein alternativer Interview-Kandidat angefragt der

kurzfristig zu einem Interview bereit stand. Durch terminliche Veränderungen konnte

das abgesagte Interview doch stattfinden. Durch diesen Umstand sind nun statt der

maximal fünf geplanten Personen insgesamt sechs Personen interviewt worden.

82 (Kaiser, 2014, S. 139)

21

Folgende Personen wurden interviewt:

Nr. Name TYPO3-

Erfahrung Funktion Interviewart

1 Nicole Cordes

Ca. 12 Jahre TYPO3-Core Entwicklerin,

Backend-Entwicklerin Persönlich

2 Wolfgang Wagner

Ca. 11 Jahre Integrator Skype

3 Helmut Hummel

Ca. 12 Jahre Freelancer, Backend-

Entwickler, TYPO3-Core Entwickler

Skype

4 Mathias

Schreiber Ca. 15 Jahre

Integrator, CEO TYPO3 GmbH, TYPO3 Product

Owner Skype

5 Thomas

Maroschik Ca. 15 Jahre

Senior TYPO3-Entwickler und Teilhaber DFAU GmbH,

TYPO3-Core Entwickler Slack

6 Philipp

Stranghöner Ca. 7 Jahre

Produktmanager Mittwald CM Service GmbH & Co. KG

Telefon

Tabelle 1: Interviewkandidaten

In der Tabelle 1 werden die sechs interviewten Personen aufgelistet. Hier zeigt sich

sehr klar, dass alle Befragten langjährige Erfahrungen mit TYPO3 vorweisen können.

Nicoles Cordes, Helmut Hummel und Thomas Maroschick sind nicht nur alle Core-

Entwickler mit verschiedenen Schwerpunkten, sondern haben auch alle

unterschiedliche Berufe. So ist Nicole Cordes in Festanstellung bei der CPS-IT GmbH,

wohingegen Helmut Hummel Freelancer ist. Thomas Maroschick ist Teilhaber und

Geschäftsführer. Wolfgang Wagner ist ein sehr erfahrener TYPO3-Integrator der

bereits seit vielen Jahren bei der Firma "jweiland.net“ sehr häufig TYPO3-Upgrades

durchführt. Phillip Stranghöner ist Produktmanager bei der „Mittwald CM Service

GmbH & Co. KG“ die als eine ihrer Kernprodukte ein speziell auf TYPO3 abgestimmtes

Hosting anbietet. Besonders hervorzuheben ist bei den Befragten Mathias Schreiber,

der momentane Product Owner von TYPO3 und Geschäftsführer der TYPO3 GmbH.

Aufgrund seiner Position nimmt er direkt Einfluss auf die Entwicklung von TYPO3 und

stellt somit eine Leitperson in diesem Bereich dar.

22

3.4 Auswertung der Interviews

In diesem Bereich gibt es eine erhebliche Anzahl von Möglichkeiten die sich je nach

wissenschaftlicher Disziplin unterscheiden.83 Für die Auswertung der Interviews wurde

eine qualitative Inhaltsanalyse durchgeführt. Für die qualitative Inhaltsanalyse werden

die aus den Interviews erstellten Texte als Material, in dem Daten enthalten sind,

betrachtet. Aus diesem Material wurden dann, mittels Reduktion, die Kernaussagen

extrahiert und die Daten im Anschluss ausgewertet. Ziel ist es, eine Informationsbasis

zu schaffen, die nur noch die Informationen enthält, die für die Beantwortung der

Forschungsfrage, in dieser Arbeit die Erstellung des Vorgehens für die Durchführung

des Upgrades, notwendig sind.84 Die folgende Abbildung 6 zeigt dieses Prinzip noch

einmal auf.

Abbildung 6: Prinzip der qualitativen Inhaltsanalyse Quelle: (Gläser & Laudel, 2010, S. 200)

Die Interviews wurden jeweils per Audio-Aufnahme aufgezeichnet, sodass ein späteres

Abhören jederzeit möglich war. Zusätzlich wurde während der einzelnen Interviews

jeweils ein Protokoll angefertigt. Die Protokolle wurden mithilfe einer Tabelle auf ihre

Kernaussagen reduziert und dann die Ergebnisse zusammengefasst, analysiert und

interpretiert. Die Tabelle zur Auswertung der gesammelten Daten befindet sich im

Anhang. Die Audio-Dateien befinden sich auf einer CD, als Teil des Anhangs, die

diesem Dokument beiliegt.

83 (Kaiser, 2014, S. 90)

84 (Gläser & Laudel, 2010, S. 199)

23

4 Ergebnisse

Im folgenden Kapitel werden die Ergebnisse aus den gesammelten Daten durch die

Interviews aufgezeigt. Das Vorgehen für ein TYPO3-Upgrade wird anhand von BPMN-

Modellen visualisiert. Erläuterungen dazu erfolgen im Text. Zu Beginn werden einige

Fragen aus den Interviews beleuchtet, die Erkenntnisse zu den Randbereichen des

TYPO3-Upgrades liefern.

4.1 Upgrade und Update aus Sicht der Experten

Innerhalb des Bereiches der Einstiegsfragen im Interviewleitfaden, wurde die Frage

gestellt, wo die Experten den Unterschied zwischen einem Upgrade und einem Update

sehen. Zwar wurde die Frage in den Grundlagen schon einmal theoretisch betrachtet,

es sollte aber herausgefunden werden, ob die Begriffe im TYPO3-Bereich auch so

verwendet werden.

Es stellte sich heraus, dass hier bei den Befragten eine sehr große Übereinstimmung

herrschte. Ein Update ist maximal ein Wechsel zwischen einer Minor-Version eher aber

zwischen einer Patch-Version. Es kommen keine neuen Features hinzu und es sollten

dadurch auch keine Inkompatibilitäten entstehen, da an den API nichts verändert

werden darf. Es werden dabei bekannte Probleme in bestehenden Funktionen

behoben. Im starken Gegenteil dazu steht das Upgrade. Hier ist ein Major-

Versionswechsel gemeint der bei TYPO3 immer ein Wechsel der LTS-Version darstellt.

Hier können API verändert werden, neue Funktionen hinzukommen, alte Funktionen

entfernt werden und sich auch ganze Workflows verändern. Solch ein Upgrade ist also

mit deutlich höheren Aufwänden und Anpassungen verbunden.

24

4.2 Gründe für ein Upgrade

Im Rahmen der Interviews sollte auch noch einmal geklärt werden, aus welchen

Gründen ein Upgrade überhaupt sinnvoll ist. So gab es hier einmal eine technische

sowie eine finanzielle Sicht. Verschiedenen Perspektiven (und damit auch Argumente)

durch Kunde und Agentur (bzw. Freelancer) spielen ebenfalls eine Rolle. Für Nicole

Cordes und Philipp Stranghöner ist ein wichtiger Grund, dass alte Systeme keine

Patches mehr erhalten und damit tendenziell immer unsicherer sind. Dies hat dann

auch negative Auswirkungen auf den Schutz der Daten im System und kann im

schlimmsten Fall in einen Image- und Kostenschaden für den Betreiber der Webseite

münden, z. B. durch einen Diebstahl von Nutzerdaten. Thomas Maroschik sieht hier

auch den Schutz der bisherigen Investitionen in das System. Nicht nur die Ausgaben

für das System selbst sind oft sehr hoch, auch die kontinuierlich anfallenden Kosten für

die Pflege des Contents steigern den Systemwert über die Nutzungsdauer hinweg. Um

diese Summen zu sichern, sollte ein Upgrade in regelmäßigen Abständen erfolgen.

Der Begriff „Technische Schulden“ fiel auch häufig. So ist es klar, sollte das System

nicht regelmäßig gepflegt werden, dass ein Upgrade dadurch in Zukunft nur komplexer

und aufwändiger werden kann. Ein gut gewartetes System, lässt sich einfacher pflegen

und auch dies hat positive Auswirkungen auf die Wartungskosten.

Es gibt jedoch noch näherliegende Konsequenzen aus einer vernachlässigten

Wartung. So erwähnte Wolfgang Wagner, dass die Browser mit denen TYPO3 genutzt

wird, sich ebenfalls weiterentwickeln und es dadurch vorkommen kann, dass das

TYPO3-Backend zum Pflegen der Seite nicht mehr genutzt werden kann, da ein

Problem mit der neuen Browser-Version auftritt.

4.3 TYPO3 und Metriken

Im Bereich der Softwarequalität und der Messung dessen, sind die Metriken wichtig. Es

sollte in den Interviews geklärt werden, inwieweit diese eine Rolle bei TYPO3 spielen

und welche Kennzahlen ob und wie in Betracht gezogen werden müssen.

Grundsätzlich wird dieser Bereich leider sehr vernachlässigt. Lediglich Helmut Hummel

konnte Aussagen dazu treffen. So gibt es ein Tool namens „SonarQube“ (OpenSource)

welches durch ihn Verwendung findet. Es wird zwar auch der TYPO3-Core gescannt,

laut Helmut Hummel werden die dort ermittelten Zahlen jedoch aktuell nicht

ausgewertet und spielen keine Rolle innerhalb der Entwicklung. Für seine Extensions,

25

z. B. die TYPO3Console, führt er aber regelmäßig Scans durch und optimiert seine

Programmierung auf Basis der Zahlen.

Abbildung 7: SonarQube Bericht für TYPO3-Core Quelle: (SonarQube, 2017)

Mathias Schreiber erwähnte Metriken jedoch auch als Motivationsmittel für die

Entwickler in seinem Team. So ist es z. B. mit der „time to fix“-Kennzahl möglich, eine

Motivation zu erzeugen hier der Schnellste zu sein.

Die anderen Befragten gaben an, keine Metriken zum Feststellen der Code-Qualität zu

nutzen. Thomas Maroschik erklärte dies damit, dass die Kunden noch nicht genug

geschult für den Umgang mit diesen Zahlen wären und es somit unnötig wäre, diese

aufzubereiten, da sie dann keine Verwendung fänden.

4.4 Akteure eines TYPO3-Upgrades

Bei einem Upgrade sind verschiedenen Personengruppen bzw. Akteure beteiligt. Im

Wartungsprozess nach Bommer, Spindler & Baar werden diese bereits beschrieben

und werden in der nachfolgenden Tabelle 2 aufgeführt. Es soll nun festgestellt werden,

wie diese Akteure im TYPO3-Umfeld benannt werden und welche Funktionen ihnen

zukommen. Die Aussagen der Experten hinsichtlich der beteiligten Rollen glichen sich

häufig. So sehen alle einen Kunden bzw. Nutzer des Systems (Redakteur). Die

Projektleitung kann hier auch eine spezielle technische Leitung sein oder einfach der

Kundenbetreuer. Dies hängt sehr von der Größe des Projektes und die personelle

26

Konstellation ab. Weiterhin beteiligt sind Integratoren, die einen Großteil der Aufgaben

während eines Upgrades übernehmen und in den Modellen häufig auftauchen. Der

Entwickler ist hauptsächlich für das Anpassen der Individual-Extensions zuständig,

kann aber auch Aufgaben der Integratoren übernehmen. Die Administration spielt vor

allem bei einem selbst gehosteten TYPO3-System eine Rolle, kann aber entfallen bei

der Nutzung eines externen Anbieters.

Über die TYPO3 Association ist es aktuell möglich, vier verschiedene Zertifikate zu

erlangen. Um eines der Zertifikate zu erhalten, ist es notwendig eine von der

Association organisierte Prüfung abzulegen. Für die verschiedenen Zertifizierungen

gibt es jeweils spezielle Prüfungen, die wissen aus dem jeweiligen Fachbereich

abfragen. 85

Aktuell sind folgende Zertifizierungen möglich:

- TYPO3 CMS Certified Editor (TCCE)86 - TYPO3 CMS Certified Integrator (TCCI)87 - TYPO3 CMS Certified Developer88 - TYPO3 CMS Certified Consultant89

In der folgenden Tabelle werden die Bezeichnungen von Bommer, Spindler & Baar den

Bezeichnungen der interviewten Experten und die der TYPO3 Association zugeordnet.

Bezeichnung nach Bommer,

Spindler & Baar

Bezeichnung der

Experten

Bezeichnung der

TYPO3 Association

Verifizierer, Validierer Kunde, Redakteur Certified Editor

Wartungsmanager,

Testmanager/Verifizierer,

Produktmanager, Validierer

Projektleitung /

Technische Leitung,

Kundenbetreuung

Certified Consultant

Wartungsingenieur/-mitarbeiter,

Konfigurationsmanager, Validierer

Integrator Certified Integrator

Wartungsingenieur/-mitarbeiter Entwickler,

Administrator

Certified Developer

Tabelle 2: Zuordnung der Rollen

85 (TYPO3 Association, kein Datum-f)

86 (TYPO3 Association, kein Datum-g)

87 (TYPO3 Association, kein Datum-h)

88 (TYPO3 Association, kein Datum-i)

89 (TYPO3 Association, kein Datum-j)

27

Es ist zu erkennen, dass im TYPO3-Bereich einige Akteure mehrfach belegt sind. Nach

Aussagen der Experten, erscheinen die in der zweiten Spalte aufgezeigten Rollen

jedoch als ausreichend um ein erfolgreiches Upgrade durchzuführen. Ganz

ausgelassen wurde hier der Qualitätsmanager. Eine gesonderte Rolle, welche für die

Einhaltung von Richtlinien oder anderen Qualitätsmerkmalen Sorge tragen könnte,

wurde von keinem Experten genannt. Die Fragen hinsichtlich der Code-Qualität

wurden zwar beantwortet, aber hier verlässt man sich auf Tools die bereits vorab für

eine erhöhte Code-Qualität sorgen. Einige dieser Tools werden im weiteren Verlauf

dieser Arbeit erwähnt und sind zum Teil in den erstellen Modellen wiederzufinden.

28

4.5 Phasen eines TYPO3-Upgrades

Abbildung 8: Phasenübersicht Quelle: Eigene Darstellung

Zu Beginn sollten die zu durchlaufenden Phasen eines TYPO3-Upgrades visualisiert werden. Die Aussagen der Experten wurden hierfür kombiniert

und das in Abbildung 8 gezeigte Phasenmodell konnte dadurch erstellt werden. Auffällig ist hier zu Beginn die zweimalige Angebotsphase. In der

Angebotsphase eins wird dabei ein Angebot für die Analysephase erstellt, die von Wolfgang Wagner auch als „Upgrade Check“ bezeichnet wird. Hier

soll bereits frühzeitig ermittelt werden, ob und wie ein Upgrade des TYPO3-Systems möglich ist. Die Erkenntnisse aus dieser Phase münden in

einem schlussendlichen Angebot für das Upgrade. Dieses wird innerhalb der Angebotsphase 2 erstellt.

Darauf folgt eine Vorbereitungsphase, um das bisherige TYPO3-System dann in die DEV-Phase und damit zum eigentlichen Upgrade zu führen.

Bereits hier lässt sich die Anwendung der Trennung der diversen Umgebungen erkennen, wie sie bereits vorab beim Release Management nach ITIL

empfohlen wurde. Hier wird zusätzlich zu den Umgebungen „Stage“ (häufig auch Test- oder QS-System) und Live (häufig auch „Production“) eine

DEV-Umgebung (DEV für „Development“) für die die jeweilig beteiligten Integratoren und Entwickler aufgezeigt. Es entsteht also ein Dreiklang aus

DEV-, Stage- und dem Livesystem. Das Letztere existiert dabei in der Regel nur einmal, wobei die DEV- und Stage-Systeme mehrfach existieren

29

können. Es folgen dann im Verlauf Rollout-Phasen und eine Abnahmephase, die das Vorgehen vollenden. In den nächsten Kapiteln werden die

einzelnen Phasen genauer beleuchtet und im Detail erläutert.

4.5.1 Angebotsphase 1

Abbildung 9: Angebotsphase 1 Quelle: Eigene Darstellung

Die erste Phase des Vorgehens ist die Angebotsphase 1. Am Ende dieser Phase soll die Agentur bzw. der Freelancer mit dem Kunden ein Angebot

und einen Zeitplan für eine Analysephase erstellt und abgestimmt haben. Eine Besonderheit stellt hierbei der Erstkontakt dar. So kann der Kunde aus

eigener Initiative heraus in Kontakt mit der Agentur oder dem Freelancer treten oder es kann auch andersherum der Erstkontakt aufgebaut werden. In

30

jedem Fall ist der Wille des Kunden notwendig, ein Upgrade seines Systems durchzuführen. Die in den vorherigen Kapiteln gesammelten Argumente

für solch ein Upgrade, liefern hierbei eine Hilfestellung. Im Verlauf der weiteren Diagramme wurden einheitliche Bezeichnungen für die Lanes

(einzelnen Bahnen) gewählt, sodass hier eine Wiedererkennung innerhalb der Arbeit gewährleistet wird.

4.5.2 Analysephase – Upgrade Check

Abbildung 10: Analysephase - Upgrade Check Quelle: Eigene Darstellung

31

Eine der wichtigsten Phasen ist die Analysephase. Wolfgang Wagner nennt dies auch

einen „Upgrade-Check“. Hier gilt es, gerade bei unbekannten Systemen, den

allgemeinen Systemzustand zu erfassen, um schon frühzeitig Probleme zu erkennen

um mit dem Kunden schon über Alternativen sprechen zu können.

Für die Befragten ist die Phase wegweisend. Einen Radikal anderen Weg geht hier

lediglich Mathias Schreiber. Er gibt an, bei den Aufwandsschätzzungen mit einer

pauschalen Kalkulation zu arbeiten. Pro im System aktiver Extension, ausgenommen

der System-Extensions, wird pauschal ein Aufwand von genau einem Manntag (acht

Stunden) veranschlagt. Er erläutert, dass dies eine Mischkalkulation sei und natürlich

auch ein Risiko darstellt, er aber aus seiner Erfahrung damit gut arbeiten konnte.

Bereits früh sollten die Zugänge zum System organisiert werden, damit eine

Bestandsaufnahme möglich ist. Viele einzelne Aktivitäten führen hier am Ende zu

einem Analysebericht, der auf der einen Seite die Grundlage für das Angebot des

Upgrades ist, aber auch schon eine Art Bauplan für das Upgrade selbst darstellt.

Innerhalb dieser Analyse kann auch ein Ergebnis sein, dass ein Upgrade nicht möglich

ist und ein anderer Weg für diese TYPO3-Installation eingeschlagen werden muss.

Dies könnte zum Beispiel eine Neuentwicklung mit der Migration der alten Daten sein.

In jedem Fall wird aber am Ende der Kunde über den Zustand des Systems informiert

und es wird bestimmt, was die notwendigen Schritte in der DEV-Phase sind. Der

Subprozess „TYPO3 analysieren“ wird im Folgenden noch einmal detaillierter

dargestellt.

32

Abbildung 11: TYPO3 analysieren Quelle: Eigene Darstellung

Abbildung 11 stellt den Subprozess „TYPO3 analysieren“ dar. Dieser ist ein Teilprozess der Analysephase. Hier zu sehen sind die vier notwendigen

Schritte um eine Aussage über den Zustand und dessen Upgrade-Fähigkeit tätigen zu können. Die bisherigen Dokumentationen sollten hierbei

Grundlage für diese Analyse sein und können wichtige Hinweise liefern. Im Folgenden werden die Teilprozesse „Extensions prüfen“, „TypoScript

prüfen“ und „Template-Konfiguration prüfen“ erläutert und auch als Modelle visualisiert. In dieser Grafik wie auch im allgemeinen Vorgehen wird

davon ausgegangen, dass der TYPO3-Kern, also alle Dateien die zur Lauffähigkeit von TYPO3 notwendig sind, nicht verändert wurden.

33

Abbildung 12: Extension prüfen Quelle: Eigene Darstellung

Als besondere Herausforderungen stellen sich im Upgrade-Verfahren, laut Aussage der Experten, immer die Extensions heraus. Im späteren Verlauf

dieses Kapitels, wird noch einmal erläutert, warum dies so ist, welche Extensions besonders häufig Probleme machen und was bewährte Methoden

zum Lösen dieser sind. In der Analysephase gilt es aber zunächst, die Probleme zu erkennen und schon Strategien zu entwickeln, um diese im

späteren Verlauf zu lösen. Grundsätzlich sollte zuerst geprüft werden, ob es inaktive Extensions gibt und ob alle aktiven Extensions auch wirklich

verwendet werden. Diese Extensions müssen dann natürlich nicht aktualisiert werden. Dies spart Zeit und Kosten. Ist die Extension dann daraufhin

geprüft, gilt es zu ermitteln, ob diese aktualisiert werden können, also ob kompatible Versionen für die geplante LTS-Version schon zu Verfügung

stehen. Ist dies nicht möglich, wäre eine alternative Extension zu ermitteln. Ist selbst dies nicht möglich, sollte hier Kontakt mit der Projektleitung

34

aufgenommen werden. Diese muss dann mit dem Kunden abstimmen, was getan werden kann. Für die Ermittlung der Aufwände helfen hier vor

allem sogenannte „RST-Dateien“ die Veränderungen am Core von TYPO3 dokumentieren und vom Core-Team seit Version 7.6 zur Verfügung

gestellt werden. Bisherige Changelogs sollten auch zu Rate gezogen werden um hier schlussendlich die Aufwandschätzung in den Bericht einfließen

lassen zu können.

Abbildung 13: TypoScript prüfen Quelle: Eigene Darstellung

Die Abbildung 12 zeigt den Teilprozess „TypoScript prüfen“ innerhalb der Analysephase. Die TypoScript-Konfiguration einer Installation sehen die

Experten als eher unproblematisch. Hier gab es in den letzten Jahren und somit auch in den letzten LTS-Versionen nur wenige Änderungen. Die

reine Systemkonfiguration per TypoScript kann in der Regel mit wenigen Anpassungen in das aktualisierte System überführt werden. Auch helfen

hier die TYPO3-Changelogs bei der Analyse.

35

Abbildung 14: Template prüfen Quelle: Eigene Darstellung

Das BPMN-Modell in Abbildung 14 zeigt den Teilprozess „Template-Konfiguration prüfen“ innerhalb der Analysephase. Besonders in diesem Bereich

hat sich, laut der Befragten, in den letzten Jahren doch einiges getan. Die Experten wurden hier expliziert gefragt, wie sie mit der Konfiguration in der

Datenbank umgehen, ob ein Umbau auf eine sogenannte Sitepackage-Extension oder Fluid Styled Content ratsam ist. Um für die Zukunft keine

technischen Schulden anzuhäufen sind die Aussagen der Interviewten doch recht ähnlich. Die Konfiguration aus der Datenbank sollte möglichst

versioniert werden. Ein Auslagern der Konfiguration auf Dateiebene wird ebenfalls empfohlen. Zu diesem Zweck nennen alle Befragten das VCS-Tool

„Git“. Auch eine sitepackage-Extension90, in der die gesamte Konfiguration eine Webseite gekapselt wird, ist laut der Interviewten ratsam. Da das alte

CSS Styled Content (###-Marker in Templates) bereits seit Version 6 deprecated, also veraltet, ist und auch aus dem Core entfernt wurde (wird nur

90 (Kott, 2015)

36

noch als Extension angeboten aber nicht mehr gepflegt), sollte dies auf das moderne und zukunftsfähige Fluid Styled Content umgebaut werde. Die

Aufwände hierfür, sollte in diesem Schritt eingeschätzt werden. Mit dieser Maßnahme sind die TYPO3-Analyse und somit auch die Analysephase

abgeschlossen.

4.5.3 Angebotsphase 2

Abbildung 15: Angebotsphase 2 Quelle: Eigene Darstellung

37

Die Abbildung 15 zeigt die Angebotsphase 2. Mithilfe des Analyseberichts der

vorherigen Phase kann dem Kunden nun mitgeteilt werden, in welchem Kosten und

Zeitrahmen das Upgrade durchgeführt werden kann. Wichtig ist, in diesem Schritt

schon einen sogenannten „Redaktionsstop“ (von Philipp Stranghöner und Helmut

Hummel auch „Content Freeze“ genannt) zu vereinbaren. Dort wird ein Zeitraum

definiert, in dem der Kunde (oder seine Redakteure) keine Veränderungen mehr am

Content vornehmen, damit ein Upgrade mit aktuellsten Daten durchgeführt werden

kann. Alternativ ist es laut Thomas Maroschik zwar auch möglich, die Daten von einem

definierten Zeitpunkt an nachzupflegen oder parallel zwei Systeme zu pflegen, dies ist

jedoch deutlich aufwändiger. Da das schlussendliche Einrichten auf dem Live-Server

deutlich schneller als die DEV- und Stage-Instanz ablaufen sollte, können diese

Zeiträume geringgehalten werden. Stimmt der Kunde dem Angebot und Zeitplan zu,

geht es in die Vorbereitungsphase.

4.5.4 Vorbereitungsphase

Abbildung 16: Vorbereitungsphase Quelle: Eigene Darstellung

In der Vorbereitungsphase aus Abbildung 16, soll das System eingerichtet und soweit

wie möglich von Altlasten gesäubert werden. Besonders Wolfgang Wagner legt auf die

Phase Wert und äußert sich umfangreich. Zu Beginn muss eine lauffähige Version des

Systems ermöglicht werden. Dafür ist es notwendig einen Datenbank- und

Dateisystemabzug des gesamten TYPO3-Sytems zu organisieren. Dafür muss

entweder die interne Administration oder der externe Anbieter angesprochen werden.

Sind die Daten da, ist es Aufgabe der Integration ein lauffähiges System zu

ermöglichen. Um eine effiziente DEV-Phase zu ermöglichen, sollte die Installation nun

zunächst bereinigt werden. Dies wird im folgenden Teilprozess „TYPO3-cleaning

durchführen“ erläutert.

38

Abbildung 17: TYPO3-cleaning durchführen Quelle: Eigene Darstellung

Die obige Abbildung 17 zeigt den vor die DEV-Phase gelagerten Teilprozess „TYPO3-cleaning durchführen“ im Detail. Zunächst sollte einmal

sichergestellt werden, dass alle unwichtigen Extensions für den Upgrade-Prozess deaktiviert und entfernt worden sind. Je weniger, desto einfacher

werden die nächsten Schritte. Der sogenannte Referenzindex des FAL (File Abstraction Layer) des TYPO3-System, der die Metainformationen von

Dateien in der Datenbank organsiert, sollte hier zunächst einmal gesäubert werden. Relationen könnten über die Nutzungsdauer des Systems

hinweg verwaist sein. Auch die Log-Einträge in der Sys-Historie werden nicht mehr benötigt. Grundsätzlich werden in TYPO3 keine Daten gelöscht,

sondern zunächst als gelöscht in der Datenbank markiert. Diese markierten Daten können aber nun final gelöscht werden. Auch wichtig ist hier zu

überprüfen, ob die Datenbank bereits UTF-8-konform ist. Ältere TYPO3-Installationen sind noch häufig in latin_swedish_ci. Dies könnte zu

Problemen mit Umlauten führen. Die Vorbereitungen sind nun abgeschlossen und es beginnt nun, in der nächsten Phase, das eigentliche Upgrade.

39

4.5.5 DEV-Phase

Abbildung 18: DEV-Phase Quelle: Eigene Darstellung

40

Die Kernphase, das Upgrade in DEV-Umgebung, zeigt die Abbildung 17. In dieser

Phase wird innerhalb einer DEV-Instanz (lokale Kopie der Integration oder

Entwicklung) das Upgrade auf technischer Ebene durchgeführt. Zunächst sollten hier

alle Extensions deaktiviert werden, um Konflikte zu vermeiden. Die TER-Extension, die

Extension, die also keine Individual-Entwicklungen darstellen, sollten von der

Integration aktualisiert werden.

Der aufgeklappte Teilprozess „TER-Extension aktualisieren“ verdeutlicht dies.

Individual-Extensions müssen von der Entwicklung angepasst werden, da hierfür in der

Regel Programmierkenntnisse vonnöten sind. Nach der Aktualisierung der Extensions

kann der Systemkern durch einen neuen ersetzt werden und die nachfolgenden

Schritte im InstallTool durchgeführt werden.

Hier kann auch mithilfe von Composer oder der Extension „TYPO3-Console“ gearbeitet

werden. Dazu mehr im Bereich „Wichtige Tools bei einem Upgrade“ in einem

folgenden Kapitel dieses Dokumentes. Diese Schritte werden nun so lange

durchlaufen, bis die aktuellste bzw. die gewünschte TYPO3-LTS-Version erreicht ist.

Wichtig danach ist, entweder eine vorhandene Dokumentation zu aktualisieren oder

eine neue zu erstellen. Oftmals wird hier aber laut der Interviewten leider darauf

verzichtet. Wenn jedoch die Dokumentation gut gepflegt ist, erleichtert dies ein

zukünftiges Upgrade.

Die beiden Teilprozesse „Konfiguration anpassen“ und „Individual-Extension

aktualisieren“ werden im weiteren Verlauf der Arbeit erläutert. Besonders die

Aktualisierung der Individual-Extension stellt eine Herausforderung während eines

solchen Upgrades dar und ist auch laut Aussagen der Experten, der häufigste Grund

für Verzögerungen im Prozess und kann zum Teil mit hohen Kosten für den Kunden

verbunden sein.

41

Abbildung 19: Konfiguration anpassen Quelle: Eigene Darstellung

Der Teilprozess aus Abbildung 19 läuft innerhalb der DEV-Upgrade-Phase. Die zuvor in der Analysephase ermittelten Informationen bilden hier die

Grundlage für das weitere Vorgehen. Wie bereits vorher beschrieben, sollte hier das System auf eine sitepackage-Extension und auf Fluid Styled

Content umgebaut werden. Auch die eventuell vorhandene Konfiguration aus der Datenbank sollte ihren Weg in das Dateisystem finden und auch

sogleich in ein VCS (Version Control System) wie GIT hinzugefügt werden, um eine Historie der Konfigurationsdaten zu ermöglichen. Alle befragten

Experten sind große Befürworter und Anwender von GIT und empfehlen hier den Einsatz.

42

Abbildung 20: Individual Extension aktualisieren Quelle: Eigene Darstellung

Ein großer Anteil der Arbeit bei einem Upgrade von TYPO3 kommt der Entwicklung zu, wie in Abbildung 20 als Teilprozess der DEV-Phase,

aufgezeigt. Die Befragten empfehlen hier zunächst eine Umstellung auf das mittlerweile sehr weit verbreitete Extbase-Framework im Gegensatz zu

dem älteren pibase. Neue Entwicklungsparadigmen und ein zukunftsfähigerer Ansatz sind hier gute Argumente. Nicole Cordes weist aber an dieser

Stelle darauf hin, dass dies kein Zwang ist, da auch pibase basierte Extensions weiterhin funktionieren können. Aus der Perspektive der technischen

Schulden sollte dies jedoch vermieden werden. Besonders die Deprecations (als veraltet markierte Funktionen) sollten nun gelöst werden. Im

nächsten Schritt kann mithilfe von RST-Files und der IDE „PhpStorm“ ein Scan mit den RST-Files vorgenommen werden. Auch der darauffolgende

Schritt wird mit PhpStorm und einem Plugin bewältigt. Am Ende sollte auch hier die vorhandene Dokumentation aktualisiert oder eine neue erstellt

werden.

43

4.5.6 Stage-Rollout-Phase

Abbildung 21: Stage-Rollout-Phase Quelle: Eigene Darstellung

44

Durch die Trennung in eine Stage- und Liveinstanz ist ein zweimaliger Rollout des in

der DEV-Umgebung gebauten Upgrades notwendig. Den Rollout auf die Stage-Instanz

beschreibt die Abbildung 21. Hier kommt nun eine weitere wichtige Komponente ins

Spiel, der Systemkontext, also der Server bzw. das Hosting der Installation. Da auch

hier Upgrades der Software durchgeführt werden müssen (LTS-Versionen haben

unterschiedliche Anforderung an diese) ist ein rechtzeitiges Beauftragen bzw.

Durchführen notwendig. Je nachdem ob self-hosted oder ein Dienstleister genutzt wird.

Bereits in der Analysephase sollte geklärt worden sein, wie dies möglich ist.

Das Gateway „Server bereits aktualisiert?“ hat einen Pflichtpfad auf der Lane

„Integration“, sodass, auch wenn der Server bereits aktualisiert wurde, die Aktivitäten

ab „Release erstellen“ notwendig werden. Die Aktivitäten nach dem komplexen

Gateway sind Kandidaten für eine Automatisierung durch Deployment-Systeme.

Während der Interviews sollte auch ermittelt werden, an welchen Stellen dies möglich

ist.

Besonders die Befragten Mathias Schreiber und Helmut Hummel nutzen bereits

intensiv solche Systeme und empfehlen deren Verwendung. Phillip Stranghöner teilte

mit, des weniger als 1 % der Hosting-Kunden von Mittwald CM Service GmbH & Co.

KG Composer nutzen und auch sehr wenige automatisiertes Deployment. Sollte dies

aber zum Einsatz kommen, würde das Tool „Capistrano“ genutzt werden. Nach dem

Hochladen und Aktivieren folgt als nächstes die Testphase / Abnahmephase.

45

4.5.7 Testphase / Abnahmephase

Abbildung 22: Testphase / Abnahmephase Quelle: Eigene Darstellung

46

Die Benennung dieser Phase ist bewusst so gewählt, spiegelt sie nur so die Aussagen

der befragten Experten am besten wieder. In Abbildung 22 wird der Prozess des

Testens und Abnehmens der Arbeiten vom Kunden gezeigt. Da der Kunde sein

System am besten kennen sollte, gehen die Befragten davon aus, dass auch nur

dieser hier für einen vollständigen Test des Systems sorgen kann. Zwar wird erwähnt,

dass natürlich in den vorherigen Phasen auch schon diverse Test der Programmierung

erfolgen sollten, aber das inhaltliche Zusammenspiel kann am besten derjenige

bewerten, der das System regelmäßig nutzt. Diese Tests stellen nun zeitgleich auch

die Abnahme und somit die Freigabe der Änderungen dar. Sollten hier nun Fehler

auftreten, läuft der Sequenzfluss zurück in die DEV-Phase, wo diese in der Regel

behoben werden müssen.

Wolfgang Wagner weist hier darauf hin, dass geprüft werden muss, ob ein gemeldeter

Fehler tatsächlich ein Bug oder eher eine Änderung bzw. eine Neuerung („Feature

Request“) ist. Hier kommt nun auch noch einmal in Vorbereitung auf die „Live-Rollout-

Phase“ die genaue Absprache für einen Redaktionsstopp zum Tragen. Denn nun muss

dieser genau fixiert werden und auch ein Termin für den Live-Rollout muss gefunden

werden. Für den Live-Rollout gibt es dabei verschiedene Strategien.

Thomas Maroschik erwähnte die Möglichkeit, dass bereits aktualisierte Stage-System

zum neuen Live-System zu konfigurieren. Dies ermöglicht einen schnellen Wechsel

und kann so mit wenig Risiko vollzogen werden. Dies ist aber nicht immer technisch

möglich. Der häufigere Weg wird, nach Aussage der Experten, der sein, dass auch

noch einmal ein Rollout und eine Einrichtung auf dem Live-Server vollzogen werden.

47

4.5.8 Live-Rollout-Phase

Abbildung 23: Live-Rollout-Phase Quelle: Eigene Darstellung

48

Die nun letzte Phase des Vorgehens ist mit der Live-Rollout-Phase in Abbildung 23

erreicht. Gleich zu Beginn muss nun der vereinbarte Redaktionsstopp durchgeführt

werden. Ähnlich wie in der Stage-Rollout-Phase muss sich nun zunächst um den

Server bzw. das Hosting gekümmert werden. Auch hier ist der Pflichtweg der über die

Integration und die Erstellung und Aktivierung des Release. Am Ende des Prozesses

findet die letzte Abnahme durch den Kunden statt und das System ist nun

vereinbarungsgemäß aktualisiert worden.

4.6 Häufige Probleme bei einem Upgrade

Während der Interviews stellte sich heraus, dass die Individual-Extensions während

eines Upgrades am häufigsten die Ursache für Probleme sind. So kommt es vor, dass

diese nicht dokumentiert sind oder während ihrer Nutzungsdauer im System nicht

gepflegt worden sind. Wolfgang Wagner stellt fest, dass ein System deutlich einfacher

zu aktualisieren ist, wenn dort wenige Extensions dieser Art genutzt werden.

Trotzdem geben die Experten auch an, dass auch die TER-Extension durchaus

potential für Probleme bieten. So nennt auch hier Wolfgang Wagner als Beispiel die

Extensions „ws_flexslider“91 und „Templavoila!“92. Erstgenannte wird genutzt um einen

Bilder-Slider auf der Webseite darzustellen. So berichtet er, dass anscheinend bei

dieser Extension der Upgrade-Pfad nicht sauber implementiert wurde, sodass bei

einem Upgrade oftmals die vorher konfigurierten Bilder verloren gehen und diese dann

manuell nachgepflegt werden müssen. Thomas Maroschik nennt bei dieser Frage die

Extension Templavoila. So wurde die für neue TYPO3-Versionen nur schlecht gepflegt

und es gab aus seiner Erfahrung heraus häufig Schwierigkeiten damit. Er fasste

zusammen, dass jede Extension, die keinen modernen Entwicklungsparadigmen folgt,

früher oder später zu einem Problem werden wird.

4.7 Wichtige Tools bei einem Upgrade

Während der Interviews war es besonders interessant zu klären, welche Tools wie und

wofür eingesetzt werden, um einen Upgrade-Prozess zu vereinfachen bzw. überhaupt

zu ermöglichen.

So konnte hier ganz klar an der Spitze die IDE „PhpStorm“ von Jetbrains genannt

werden, die von jedem der Befragten eingesetzt wird. Durch ihre Vielseitigkeit und die

einfache Erweiterung mithilfe von Plugins, scheint diese aktuell der beliebteste IDE zu

91 (Wappler, 2017)

92 (TYPO3 Release Team, 2015)

49

sein. Innerhalb dieser IDE kommen dann die Plugins der Firma „sgalinski Internet

Services“ zum Einsatz. So entwickelt diese Firma ein Fluid-Plugin welches Features

wie eine Autovervollständigung, Fehlererkennung und Syntax-Highlighting für die

Templating-Sprache Fluid mit sich bringt. Das zweite Plugin ist das TypoScript-Plugin,

welches ähnliche Features für die Nutzung von TypoScript ermöglicht.

Mathias Schreiber nennt hier auch noch das Plugin „Php Inspections (EA Extended)“

welches ermöglicht, den PHP-Code von Individual-Extensions zu analysieren um

dadurch die Qualität des geschriebenen Codes zu erhöhen.

Von allen eingesetzt wird auch die Versionsverwaltung mithilfe von GIT. Das

Versionieren von Code und Konfiguration wird hier auch von den Experten empfohlen.

Besonders für Philipp Stranghöner ist die TYPO3-Extension „TYPO3Console“ wichtig.

Die von Helmut Hummel entwickelte Extension, ermöglicht es, diverse Aufgaben die in

TYPO3 anfallen, per Konsole (bzw. Terminal) auszuführen und ist damit die Grundlage

für eine Automatisierung. Er berichtet, dass diese Extension unter anderem dafür

eingesetzt wird, bei einem Upgrade bestimmte Steps im InstallTool auszuführen. In

dem BPMN-Modell aus Abbildung 18 wurde mittels Kommentaren kenntlich gemacht,

wo diese Extension im Vorgehen eingesetzt werden kann.

4.7.1 Fehlende Tools

Um auch eine Erkenntnis zu liefern, wo noch Bedarf für weitere Tools zur Hilfe bei

einem Upgrade benötigt wird, wurden die Experten dahingehend befragt. Die häufig

erwähnten RST-Files helfen zwar zu erkennen, an welchen Stellen es bei einem

Upgrade zu Problemen kommen kann, jedoch ist das Lösen dieser immer noch

Aufgabe der Entwickler. So wünschen sich hier Philip Stranghöner und Mathias

Schreiber eine Anwendung, die hier gleich auch Lösungsvorschläge bietet oder besser

noch, diese gleich anwendet. Da viele der Aufgaben mechanischer Natur sind, wäre

zumindest ein Teil davon durch Programme lösbar.

Thomas Maroschik beschreibt den Wunsch, nach einer abstrakten Sprache mit deren

Hilfe man ein Upgrade beschreiben kann. Sodass z. B., ähnlich wie bei „Gherkin

Language“, Prozesse mit natürlicher Sprache beschrieben werden können.

Eine Lücke kann hier aber schon die kommende Version 9 füllen. So ist für diese laut

Mathias Schreiber einen sogenannter „extension scanner“ für das InstallTool

umgesetzt worden, welches ein automatisches Abgleichen der Extension im System

50

mit den schon seit Version 7 gepflegten RST-Files ermöglicht. Laut Roadmap erscheint

die finale Version des 9er-Zweigs am 2. Oktober 2018.93

4.8 Zukunft von TYPO3 und Konsequenzen für Upgrades

Um eine Idee davon zu bekommen, wo die Entwicklung mit dem CMS TYPO3

hingehen kann und was auf diesem Weg beachtet werden sollte, wurde als Letztes

jeder der Experten befragt, was er sich von TYPO3 für die Zukunft wünscht. Die Frage

wurde im Interview offen formuliert. Die Idee war jedoch, festzustellen ob sich über die

Zukunftswünsche der Befragten, Richtungen und damit auch Konsequenzen für

zukünftige Upgrade-Prozesse ergeben. Da alle Befragten direkten Einfluss auf die

Entwicklung von TYPO3 nehmen, können über diese Aussagen Entwicklungen

abgeleitet werden. Dies diente dem Zweck, der Erhöhung der Nachhaltig dieser Arbeit.

Im Folgenden werden die Aussagen aufgezeigt und am Ende der Absätze werden

daraus Konsequenzen abgeleitet.

Als Entwicklerin wünscht sich Nicole Cordes einen gewissenhafteren Umgang mit den

Versionsnummern nach Maßgabe der semantischen Versionierung. Dies wurde in der

Vergangenheit vom Core-Team nicht immer eingehalten und es gab auch Breaking-

Changes innerhalb von Minor-Versionen. Sollte sich also dieser Wunsch durchsetzen

würde dies besonders für Updates, eine Verringerung der Komplikationen mit sich

bringen.

Für Wolfgang Wagner ist es besonders wichtig, dass die stark verwendete Extension

„realurl“ (ermöglicht sprechende-URLs) in den TYPO3-Core aufgenommen wird und

dadurch besser gepflegt wird. Mit der Extension „mask“ (ermöglicht das Generieren

von Custom-Content-Elementen) sieht er es ebenso. Er möchte auch betonen, dass

bei aller Professionalisierung wichtig ist, die TYPO3-Anfänger nicht zu vergessen. Eine

weitere Aufnahme von aktuell gesonderten Extensions in den TYPO3-Core scheint bei

den beiden genannten sinnvoll. Zu beachten ist aber auch, mit Steigerung der

Basisfunktionalitäten könnten auch zukünftige Upgrade-Prozesse komplizierter

werden.

Helmut Hummel empfiehlt einen stärkeren Fokus auf Systemstabilität zu legen aber

auch das User-Interface von TYPO3 sukzessive zu verbessern. Auch das bisherige

Fremdsprachenhandling sieht er als Handicap. Redakteuren sollte die Nutzung so weit

wie möglich weiter vereinfacht werden.

93 (TYPO3 Association, kein Datum-d)

51

Mathias Schreiber legt hier den Fokus auf die Professionalisierung des Produktes

TYPO3 aber auch der Community. Er sieht hier nicht die Notwendigkeit mit dem

Blogsystem „Wordpress“ zu konkurrieren. Er sieht TYPO3 als ehrliches Produkt und

möchte dies auch so fortführen.

Thomas Maroschik wünscht sich für das Core-Team mehr Entwickler. Aber auch er

sieht die Notwendigkeit sich weiter zu professionalisieren. Die Fokussierung von

Helmut Hummel auf Stabilität und die von Mathias Schreiber und Thomas Maroschik

auf Professionalität lassen zwar keine direkten Rückschlüsse zu, aber hier liegt die

Vermutung nahe, dass auch diese Ausrichtungen eher positive Einflüsse auf zukünftige

Upgrades haben werden.

Philipp Stranghöner ist sehr zufrieden mit der bisherigen Arbeit der TYPO3 GmbH und

wünscht sich eine Fortsetzung des eLTS-Programmes (kostenpflichtiger verlängerte

Support für ältere LTS-Versionen). Der Service im TYPO3-Bereich sollte weiter

verbessert werden. Die Verlängerung der ELTS-Versionen für 6.2 und 7.6 ist schon

bekannt (siehe Abbildung 2). Für den eigentlichen Upgrade-Prozess hat dies keine

direkten Auswirkungen.

4.9 Diskussion der Ergebnisse

Die durchgeführten Interviews mit den Experten, erwiesen sich als eine gute Quelle,

um ein Vorgehen für ein Upgrade zu entwickeln und entsprachen daher größtenteils

den Erwartungen. Im Zusammenspiel mit den gesammelten Erkenntnissen aus dem

Bereich der theoretischen Grundlagen, und hier vor allem die Erkenntnisse aus der

ITIL und dem Wartungsprozess nach Bommer, Spindler und Barr, konnten detaillierte

Modelle erstellt werden. Auch die Phasen, die vor dem eigentlichen Upgrade stehen,

konnten mithilfe der Schilderungen modelliert werden. Es zeigt sich doch, wie

umfangreich ein Upgrade sein kann und wie viele verschiedene Rollen an diesem

beteiligt sind. Ein Upgrade spielt somit eine wichtige Rolle, innerhalb des

Softwarelebenszyklus einer Applikation und sollte nicht unterschätzt werden.

Bemerkenswert ist der noch sehr geringe Einsatz von Automatisierungswerkzeugen.

Die Annahme war hier, dass diese Tools bei den Befragten bereits eine viel wichtigere

Rolle spielen. Lediglich Helmut Hummel und Mathias Schreiber sprachen von einer

regelmäßigen Anwendung. Warum dies so ist, blieb leider ungeklärt, es könnte aber

die Vorlage für eine weitere Untersuchung sein.

Ein größerer Teil der theoretischen Grundlagen beschäftigte sich mit der Qualität von

Software. Auch dies war Teil der Interviews. Leider stellte sich hier heraus, dass wenig

52

mit Softwaremetriken und Tools zu Erfassung dieser, bei den Experten gearbeitet wird.

Die Absicht war, aufzuklären welche der beschriebenen Qualitätsmerkmale aus dem

Kapitel Softwarequalität hier wie beeinflusst werden. Es wird durch die Experten zwar

häufig erklärt, dass die Erhöhung bzw. Verbesserung der Qualität ein wichtiger Aspekt

eines Upgrades ist, aber es blieb offen, wie dies genau festgestellt wird. Es scheint nun

zwar klar, dass mit dem Upgrade des TYPO3-System eine Erhöhung der Qualität

einhergeht, an welchen Stellen, blieb aber größtenteils unklar. Die gewählte

Forschungsmethode scheint hier auch nicht die geeignetste zu sein. Eine mögliche

Untersuchung wäre hier, für die verschiedenen TYPO3 LTS-Versionen mit Hilfe eines

Tools wie z. B. SonarQube unterschiedliche Kennzahlen zu erfassen und diese

gegenüber zu stellen. Diese Kennzahlen könnten dann den jeweiligen Qualitätsarten

zugeordnet werden und es könnte schlussendlich eine Aussage getroffen werden, ob

und wie sich die Qualität von TYPO3 verbessert oder auch verschlechtert hat.

Ein weiterer Kritikpunkt sind die Akteure bzw. Rollen eines Upgrades. Zwar herrschte

bei den Befragten doch eine relativ große Einigkeit über die zum Einsatz kommenden

Personen aber es liegt die Vermutung nahe, dass man zwar Begriffe wie Integrator und

Entwickler nutzt, diese jedoch teilweise unterschiedlich verstanden werden. Eine erste

Hilfe stellt hier die gemachte Gegenüberstellung in der Tabelle 2 im Kapitel Akteure

eines TYPO3-Upgrades dar. In den Modellen resultiert aber daraus eine gewisse

Unschärfe bei den Bezeichnungen der einzelnen Lanes ohne Zuhilfenahme dieser

Tabelle. Besonders in Abbildung 12 wird dies deutlich. So wird hier die Einschätzung

des Aufwandes für Individual-Extension, nach Befragung der Experten, durch einen

Integrator vorgenommen. Nach aktueller Definition der TYPO3 Association scheint hier

der Developer (Entwickler) dafür besser geeignet, da dieser ein umfangreiches

Verständnis für geschriebenen Code mitbringen muss. Eine Einschätzung von einem

Entwickler würde hier demnach belastbarer sein.

Auch die Aussagen hinsichtlich der Nutzung von Dokumentationen sind entgegen der

Annahme, dass diese ein wichtiges und häufig genutztes Hilfsmittel sind. Hoffnung

macht aber, dass zumindest alle Befragten erkennen lassen, zumindest zum Teil, dies

häufiger einzusetzen. Für eine Person, die nun unmittelbar vor einem solchen Upgrade

steht, liefern die erstellten Modelle eine gute Hilfestellung. Es muss hierbei jedoch klar

gesagt werden, dass zwar in den Modellen teilweise Abbruchbedingungen

berücksichtigt wurden, es jedoch bei einem solchen Vorhaben zu einer Vielzahl von

weiteren Problemen kommen kann. Insofern können die Modelle nur einen Teil der

Wirklichkeit abbilden und stellen hier das ideale Vorgehen dar.

53

5 Fazit

Die vorliegende Arbeit befasste sich mit der Frage, wie ein Vorgehen für das Upgrade

von TYPO3 aussehen kann. Es lässt sich erkennen, dass ein solches Vorgehen

entwickelt und somit die Forschungsfrage beantwortet wurde.

Im ersten Kapitel geht es um die grundlegende Motivation und was zu gestellten

Forschungsfrage führte. Auch der Aufbau der Arbeit und die zu erwartende Struktur

wird hier aufgezeigt.

In Kapitel 2 wurden die theoretischen Grundlagen für die Auseinandersetzung mit dem

Thema geschaffen. Zu Beginn wird hier definiert was TYPO3 ist und es wird

aufgezeigt, wie hoch der Verbreitungsgrad ist. Es wird weiterhin darüber Auskunft

gegeben, welche Budgetgrößen bei einem TYPO3-Projekt erwartet werden können.

Auch die Begriffe LTS und ELTS werden besprochen und zuletzt wird dargelegt,

welche weitere Software für den Betrieb von TYPO3 notwendig ist. Um für Klarheit und

eine Einordnung für die Begriffe Update und Upgrade zu sorgen, wurde versucht dies

über die vorhandene Literatur zu beantworten. Es zeigte sich, dass dies nicht

ausreicht. Zu Beginn der Recherche, nach vorhandenen Vorgehensbeschreibungen für

ein Upgrade für TYPO3, stellte sich schnell heraus, dass diese meist sehr einfach

gehalten sind und auch keine Hilfestellung bei auftretenden Problem bieten.

Im weiteren Verlauf des Kapitels 2 wurde das durch die ITIL definierte Release

Management dargestellt. Auch die Definition von Qualität und dann genauer auch der

Softwarequalität wurde durchgeführt. Anschließend wurde der grundlegende

Wartungsprozess nach Bommer, Spindler, & Barr aufgezeigt und außerdem wurde

klargemacht, welche Konsequenzen eine vernachlässigte Wartung nach sich zieht. Am

Ende des Kapitels wurde einmal aus technischer und einmal aus finanzieller Sicht

begründet, warum eine regelmäßige Wartung und damit auch ein Upgrade notwendig

ist.

Kapitel 3 ordnet die Arbeit im Methodenspektrum der Wirtschaftsinformatik ein und

klärt darüber auf, dass das leitfadengestützte Experteninterview die Datengrundlage für

die spätere Erstellung von geplanten grafischen Modellen bildet. Für die Auswertung

der Interviews wird sich der qualitativen Inhaltsanalyse bedient. Es wird auch

aufgezeigt, wie der verwendete Interviewleitfaden erstellt wurde und wie die Wahl auf

die befragten Experten fiel. Aus den Interviews sollten dann Erkenntnisse extrahiert

werden, die es ermöglichen, ein Vorgehen zu entwickeln.

54

Das vierte Kapitel widmet sich der Darstellung der Forschungsergebnisse. Das

Vorgehen selbst, wurde mithilfe der BPMN modelliert und visualisiert. Es sind dabei

sechzehn Modelle erstellt worden, die zusammen das komplette Vorgehen

beschreiben. Das erste Modell aus Abbildung 8 zeigt dabei auf, welche grundlegenden

acht Phasen im Prozess zu erwarten sind. Im nächsten Schritt, von Abbildung 9 bis

Abbildung 23, werden die einzelnen Modelle mit ihren Prozessen und Teilprozessen

aufgezeigt. Die Modelle wurden weiterhin textlich beschrieben um hier für so wenig wie

möglich Missverständnisse zu sorgen. Zuletzt sollte auch noch aufgezeigt werden,

welche Tools ein Upgrade unterstützen können und wo Bedarf für weitere besteht. Die

bestehenden Tools waren:

- PhpStorm mit weiteren Plugins - Git - Die Extension „TYPO3console“

Weiterhin war es wichtig, zu beleuchten aus welchen Gründen ein Upgrade zu

empfehlen ist und was die Konsequenzen aus einem vernachlässigten System sind. Es

wurde aufgezeigt, dass eine vernachlässigte Wartung zur Anhäufung von sogenannten

technischen Schulden führt und auch das negative Auswirkungen auf Sicherheit und

Funktionsweise zu erwarten sind. Auch die Kostenfrage und somit die finanzielle Sicht

wurde betrachtet. Das Anwenden des Vorgehens sollte unabhängig von der

zugrundeliegenden TYPO3-Version ermöglicht werden. Auch sollte hier der

Systemkontext, bestehend aus dem Server-System, betrachtet und berücksichtigt

werden.

Auch zu welchem Zeitpunkt im Prozess, welcher Akteur eine Rolle spielt wurde

aufgezeigt. Die nach Bommer, Spindler, & Barr benannten und definierten Akteure

wurden den Rollenbeschreibungen der Experten und der offiziellen Definition der

TYPO3 Association zugeordnet.

Schwierig war es, die unterschiedlichen Perspektiven der Experten für die Modelle in

Einklang zu bringen. Aufgrund der verschiedenen Nutzungsweisen von TYPO3

entstehen hier natürlich auch unterschiedliche Perspektiven. Mithilfe der strukturierten

Auswertung konnten die verschiedenen Kernaussagen aber gut zusammengeführt

werden.

Durch das Befragen der Experten, welche Tools bzw. Programme sie für ein Upgrade

nutzen, konnten weitere nützliche Erkenntnisse in die Modelle einfließen. So wird vor

allem auch die Unterteilung in DEV-, Stage- und Live-System berücksichtigt und

gezeigt, wie diese im Vorgehen eine Rolle spielen. Auch Hilfsmittel wie die

55

TYPO3Console oder auch die RST-Files des Core-Teams werden beschrieben und

wurden in die Modelle integriert.

Im letzten Teil des vierten Kapitels wurden die Experten nach den Zukunftswünschen

für TYPO3 befragt. Es wurde dabei auch untersucht, ob sich aus diesen Aussagen

eine Relevanz für den Upgrade-Prozess ableiten lässt. Am Ende wurden die

Ergebnisse noch einmal diskutiert und kritisch betrachtet.

Die Empfehlung für eine zukünftige wissenschaftliche Arbeit lautet, dass vorliegende

Vorgehen innerhalb eines Upgrade-Prozesses anzuwenden um dieses zu überprüfen

und gegebenenfalls zu verbessern. Die Konfiguration und die Kombination aus TYPO3,

Extension und Server unterliegen einer so starken Schwankung, dass hier nicht

sichergestellt werden kann, dass alle Installationen nach diesem Vorgehen

aktualisierbar sind.

I

6 Abkürzungsverzeichnis

API. Application Programming Interface

BPMN. Business Process Model and Notation

CMS. Content Management System

CSS. Cascading Style Sheets

DEV. Development

FAL. File Abstraction Layer

GNU. GNU’s Not Unix

IEEE. Institute of Electrical and Electronics Engineers

ITIL. IT-Service-Management

LAMP. Linux, Apache, MySQL, PHP

LTS. Long Term Support

PHP. PHP: Hypertext Preprocessor

RST. reStructuredText

TER. TYPO3 Extension Repository

VCS. Version Control System

II

7 Literaturverzeichnis

Abts, D., & Mülder, W. (2017). Grundkurs Wirtschaftsinformatik. Wiesbaden: Springer

Fachmedien.

Balzert, H. (2008). Lehrbuch der Softwaretechnik: Softwaremanagement (2 Ausg.).

Heidelberg: Spektrum Akademischer Verlag.

Bergman, S., & Priebsch, S. (2010). Softwarequalitat in PHP-Projekten [Digg - eZ

Components - studiVZ - swoodoo - symfony - TYPO3 - Zend Framework.

München: Hanser.

Bommer, C., Spindler, M., & Barr, V. (2008). Softwarewartung Grundlagen,

Management und Wartungstechniken (1 Ausg.). Heidelberg: dpunkt.Verlag

GmbH.

Casteleyn, S., Daniel, F., Dolog, P., & Matera, M. (2009). Engineering Web

Applications. New York: Springer.

CMSCrawler. (17. Oktober 2017). CMSCrawler. Abgerufen am 17. Oktober 2017 von

http://www.cmscrawler.com/tool/

CMSCrawler. (17. Oktober 2017). CMSCrawler. Abgerufen am 17. Oktober 2017 von

http://www.cmscrawler.com/country/DE

Cunningham, W. (26. März 1992). The WyCash portfolio management system.

Abgerufen am 20. Oktober 2017 von http://c2.com/doc/oopsla92.html

Frömken, S. (30. April 2012). Abgerufen am 17. Oktober 2017 von TYPO3Wiki:

https://wiki.typo3.org/De:Fluid

Gabler Wirtschaftslexikon. (kein Datum-a). Update. (S. G. Verlag, Herausgeber)

Abgerufen am 20. Oktober 2017 von Gabler Wirtschaftslexikon:

http://wirtschaftslexikon.gabler.de/Archiv/76911/update-v10.html

Gabler Wirtschaftslexikon. (kein Datum-b). Update. Abgerufen am 20. Oktober 2017

von Gabler Wirtschaftslexikon:

http://wirtschaftslexikon.gabler.de/Archiv/76927/upgrade-v9.html

Gläser, J., & Laudel, G. (2010). Experteninterviews und qualitative Inhaltsanalyse : als

Instrumente rekonstruierender Untersuchungen (3 Ausg.). Wiesbaden: VS

Verlag für Sozialwissenschaften.

III

Hess, T., & Wilde, T. (2006). Methodenspektrum der Wirtschaftsinformatik: Überblick

und Portfoliobildung. München: Institut für Wirtschaftsinformatik und Neue

Medien der Ludwig-Maximilians-Universität München.

Jenkins Webseite. (kein Datum). Jenkins User Documentation. Abgerufen am 24.

Oktober 2017 von https://jenkins.io/doc/

Kaiser, R. (2014). Qualitative Experteninterviews Konzeptionelle Grundlagen und

praktische Durchfuhrung. Wiesbaden: Springer VS.

Köhler, P. (2007). ITIL (Bd. 2). Heidelberg: Springer.

Kott, B. (09. Mai 2015). The Anatomy of TYPO3 Sitepackages. Abgerufen am 05.

Januar 2018 von speakerdeck.com: https://speakerdeck.com/benjaminkott/the-

anatomy-of-typo3-sitepackages

Krallmann, H., Schönherr, M., & Trier, M. (2007). Systemanalyse im Unternehmen (5

Ausg.). München: Oldenbourg Wissenschaftsverlag GmbH.

Krause, M. (17. Dezember 2016). T3census : TYPO3 census. Abgerufen am 17.

Oktober 2017 von http://t3census.info

Lobacher, P., & Krell, V. (2013). 100 Tipps für TYPO3 CMS. München: Open Source

Press.

Meyer, R., & Helmich, M. (2016). Praxiswissen TYPO3 CMS7 LTS. Heidelberg:

O'Reilly.

php.net. (kein Datum). Abgerufen am 17. Oktober 2017 von

http://php.net/manual/de/preface.php

Preston-Werner, T. (18. Juni 2013). Abgerufen am 17. Oktober 2017 von semver.org:

http://semver.org/

Rees, D. (2016). PHP: Composer. Wales, England: Leanpub.

Rupp, C., & SOPHISTen. (2014). Requirements-Engineering und - Management - Aus

der Praxis von klassisch bis agil (6. Ausg.). Carl Hanser Verlag.

Sneed, H. M., Hasitschka, M., & Teichmann, M.-T. (2005). Software-Management (1

Ausg.). Heidelberg: dpunkt.verlag GmbH.

IV

SonarQube. (23. November 2017). Abgerufen am 24. November 2017 von

https://sonarcloud.io/dashboard?id=typo3

Thomas, S. (2001). HTTP essentials : protocols for secure, scaleable, Web sites. New

York: Wiley.

TYPO3 Association. (kein Datum-a). About the name. Abgerufen am 17. Oktober 2017

von typo3.org: https://typo3.org/about/the-brand/about-the-name/

TYPO3 Association. (kein Datum-b). Association. Abgerufen am 17. Oktober 2017 von

typo3.org: https://typo3.org/association/

TYPO3 Association. (kein Datum-c). Key Features. Abgerufen am 27. Oktober 2017

von typo3.org: https://typo3.org/typo3-cms/key-features/

TYPO3 Association. (kein Datum-d). Roadmap. Abgerufen am 05. Januar 2018 von

typo3.org: https://typo3.org/typo3-cms/roadmap/

TYPO3 Association. (kein Datum-e). System Requirements. Abgerufen am 17. Oktober

2017 von typo3.org: https://typo3.org/typo3-cms/overview/requirements/

TYPO3 Association. (kein Datum-f). About the certification. Abgerufen am 12. Januar

2018 von typo3.org: https://typo3.org/certification/about-the-certification/

TYPO3 Association. (kein Datum-g). TYPO3 CMS Certified Editor (TCCE). Abgerufen

am 12. Januar 2018 von typo3.org: https://typo3.org/certification/certified-editor/

TYPO3 Association. (kein Datum-h). TYPO3 CMS Certified Integrator (TCCI).

Abgerufen am 12. Januar 2018 von typo3.org:

https://typo3.org/certification/certified-integrator/

TYPO3 Association. (kein Datum-i). TYPO3 CMS Certified Developer. Abgerufen am

12. Januar 2018 von typo3.org: https://typo3.org/certification/certified-

developer/

TYPO3 Association. (kein Datum-j). TYPO3 CMS Certified Consultant. Abgerufen am

12. Januar 2018 von typo3.org: https://typo3.org/certification/certified-

consultant/

TYPO3 Documentation Team. (23. Oktober 2017). Abgerufen am 27. Oktober 2017

von typo3.org - Installation and Upgrade Guide:

https://docs.typo3.org/typo3cms/InstallationGuide/

V

TYPO3 Dokumentation. (24. August 2017). Abgerufen am 17. Oktober 2017 von

https://docs.typo3.org/typo3cms/InstallationGuide/latest/In-

depth/SystemRequirements/

TYPO3 Extension Repository. (kein Datum). TYPO3 Extension Repository. Abgerufen

am 20. Oktober 2017 von https://extensions.typo3.org/

TYPO3 GmbH. (09. August 2017). Abgerufen am 05. Januar 2018 von typo3.com:

https://typo3.com/services/extended-support/

TYPO3 GmbH. (21. August 2017). Abgerufen am 05. Januar 2018 von typo3.com:

https://typo3.com/company/

TYPO3 Release Team. (20. Juni 2015). TemplaVoila! Abgerufen am 05. Januar 2018

von TYPO3-TER: https://extensions.typo3.org/extension/templavoila/

TYPO3 YouTube Channel. (28. Juli 2017). YouTube - Interview - Release

Management Benni Mack, Benjamin Kott. Abgerufen am 17. Oktober 217 von

https://www.youtube.com/watch?v=Aadd-L1D7po

TYPO3Wiki. (25. Oktober 2016). Composer. Abgerufen am 05. Januar 2008 von

TYPO3Wiki: https://wiki.typo3.org/Composer

Wappler, S. (02. Oktober 2017). Flexslider. Abgerufen am 05. Januar 2018 von

TYPO3-TER: https://extensions.typo3.org/extension/ws_flexslider/

Webkalkulator. (17. Oktober 2017). CMS Vergleich. Abgerufen am 17. Oktober 2017

von http://www.webkalkulator.com/cmsvergleich

Weiland, J. (2017). Versionen und Updates. jweiland.net. Abgerufen am 25. Oktober

2017 von https://jweiland.net/typo3/versionen-und-updates.html

Wikipedia - Flow Framework. (12. Mai 2017). Flow Framework. Abgerufen am 17.

Oktober 2017 von https://de.wikipedia.org/wiki/Flow_Framework

VI

8 Abbildungsverzeichnis

Abbildung 1: Umsatz für Webprojekte nach Marktsegmenten 4

Abbildung 2: Roadmap 5

Abbildung 3: Deploy von getesteten Releases auf Test- und Produktivsystem 10

Abbildung 4: Lack of movement 14

Abbildung 5: Methodenspektrum der Wirtschaftsinformatik 17

Abbildung 6: Prinzip der qualitativen Inhaltsanalyse 22

Abbildung 7: SonarQube Bericht für TYPO3-Core 25

Abbildung 8: Phasenübersicht 28

Abbildung 9: Angebotsphase 1 29

Abbildung 10: Analysephase - Upgrade Check 30

Abbildung 11: TYPO3 analysieren 32

Abbildung 12: Extension prüfen 33

Abbildung 13: TypoScript prüfen 34

Abbildung 14: Template prüfen 35

Abbildung 15: Angebotsphase 2 36

Abbildung 16: Vorbereitungsphase 37

Abbildung 17: TYPO3-cleaning durchführen 38

Abbildung 18: DEV-Phase 39

Abbildung 19: Konfiguration anpassen 41

Abbildung 20: Individual Extension aktualisieren 42

Abbildung 21: Stage-Rollout-Phase 43

Abbildung 22: Testphase / Abnahmephase 45

Abbildung 23: Live-Rollout-Phase 47

VII

9 Tabellenverzeichnis

Tabelle 1: Interviewkandidaten 21

Tabelle 2: Zuordnung der Rollen 26

VIII

10 Anhang

- Interviewleitfaden 1

- Interviewleitfaden 2

- Interview 1 bis 6

- Kernaussagen aus Interview mit Interviewleitfaden 1

- Kernaussagen aus Interviews mit Interviewleitfaden 2

- Gemeinsamkeiten und Interpretationen aus Interviews

Anhang

i

Interviewleitfaden 1

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3? 2. Warum arbeitest du mit TYPO3? 3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)? 4. Beschreibe bitte kurz deine berufliche Karriere. 5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden? • 6a: Finanzielle Gründe? • 6b: Technische Gründe? • 6c: Aus Sicht der Kunden und Agenturen?

7. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt? (Wenn ja wie oft?) 8. Was genau hast du dabei gemacht? 9. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

• 9a Fragen zum Server-Upgrade • 9b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie man

diese lösen kann) • 9c: Fragen zu Problemen mit der Konfiguration • 9d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?) • 9e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?) • 9f: Was ist auf Kundenseite zu beachten? (Redaktionsstop) • 9g: Was ist auf Agenturseite zu beachten?

10. Was hältst du bei einem Upgrade für besonders schwierig? (Was für besonders einfach?) 11. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie Composer und automatisierten Deployment? 12. Welche Tools unterstützen dich bei einem Upgrade?

• 12a: Gibt es noch Bedarf für weitere Tools? • 12b: Wie könnten diese aussehen?

Abschlussfragen

13. Gibt es noch etwas, was vergessen wurde anzusprechen? 14. Was wünschst du für die Zukunft von TYPO3?

Anhang

ii

Interviewleitfaden 2

Länge: 30min (+30min Puffer) Personen: 3 - 5 Informationen

• Kurze Vorstellung • Zielsetzung erklären

• Forschungsfrage: Wie kann ein ideales Vorgehen für ein TYPO3 Up-grade aussehen?

• Bisherige Erkenntnisse erklären • Upgrades meist im Sinne von “Tausche Core aus, gehe in das

InstallTool” • Wozu dient dieses Interview (Beantwortung der Forschungsfrage, schreiben der

BA)

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3? 2. Warum arbeitest du mit TYPO3? 3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)? 4. Beschreibe bitte kurz deine berufliche Karriere. 5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden? • 6a: Finanzielle Gründe? • 6b: Technische Gründe? • 6c: Aus Sicht der Kunden und Agenturen?

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist? (Metriken) 8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt? (Wenn ja wie oft?) 9. Was genau hast du dabei gemacht? 10. Siehst du dabei verschiedene Phasen ablaufen? 11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

• 11a Fragen zum Server-Upgrade • 11b: Fragen zu Problemen mit Extensions (Häufige Probleme und wie man

diese lösen kann) • 11c: Fragen zu Problemen mit der Konfiguration • 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?) • 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?) • 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop) • 11g: Was ist auf Agenturseite zu beachten?

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für besonders einfach?) 13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im Pro-zess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten) 14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt? 15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie Composer und automatisierten Deployment? 16. Welche Tools unterstützen dich bei einem Upgrade?

• 16a: Gibt es noch Bedarf für weitere Tools?

Anhang

iii

• 16b: Wie könnten diese aussehen?

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen? 18. Was wünschst du für die Zukunft von TYPO3?

Anhang

iv

Interview 1

Länge: 45 Min.

Anwesende Personen: Sammy Baghdadi, Nicole Cordes

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

Seit zwölf Jahren, durchgehend, seit der Ausbildung

2. Warum arbeitest du mit TYPO3?

Der Ausbilder hat es eingesetzt, aktueller Arbeitgeber

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

Backend-entwicklung, extensions, core

4. Beschreibe bitte kurz deine berufliche Karriere.

Ausbildung, ein Jahr Malta, durchgehend bei CPS

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

- Update, Veränderung in minor oder bugfix version

- Upgrade auf die Major-Version

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

● 6a: Finanzielle Gründe?

○ Verlieren nur Geld dadurch

○ Verursachen Kosten beim Kunden durch Anpassungen

● 6b: Technische Gründe?

○ Sicherheit -> TYPO3-Framework -> Konzepte

○ Core-Api wird robuster

○ Sicherheit des Datenschutzes erhöht -> Session, Verschlüsselung

● 6c: Aus Sicht der Kunden und Agenturen?

○ […]

7. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

Ja

Anhang

v

8. Was genau hast du dabei gemacht?

Mehrere Aspekte, für die Firma

- Genutzte Extension aktualisieren

- Privat alles

9. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

● 9a: Fragen zum Server-Upgrade

○ Hängt davon ab was man kann

○ Managed-Server, je nachdem welche Rechte da sind

○ Die PHP-Version aktualisieren, Apache dann gleich

○ Muss ich jemanden damit beauftragen? Provider machen das von sich

aus

○ Pakete aktualisieren wie ImageMagick

○ Aktualisierung nicht notwendig, seit 4.5

● 9b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie

man diese lösen kann)

○ Mittlerweile sehr gering, Core-Team, zwischen den Versionen räumen

wir die API grundlegend auf

○ TYPO3-Funktionen ändern sich

○ TCA-Optionen angepasst

○ pibase nach wie vor verwendbar

○ Was hat sich geändert

■ RST-Dateien für die groben Veränderungen (deprecated)

■ docs.typo3.org -> changelog

○ Extension in ein neues Projekt packen, zum herausfinden

● 9c: Fragen zu Problemen mit der Konfiguration

○ TypoScript bleibt gleich

○ neue Sachen kommen hinzu

○ Aktuelle Projektform wichtig -> Aktualisierung auf neue Standards

durchführen

● 9d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Beides gleich

○ Vorteil auf Dateiebene -> kann in Versionskontrolle

○ Performanter in der Datenbank

○ Template Extension trotzdem sinnvoll, nicht zu klein splitten

● 9e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ Keines der beiden Systeme

○ In lokaler Kopie das Upgrade durchspielen

○ Lokale Umgebung -> Erfolg -> Stage

○ Stage aktualisieren -> Kunde kann abnehmen

■ Kopie von Live anlegen

■ Server tauschen

Anhang

vi

○ Kunde arbeitet Live weiter -> Redaktionsstop -> TYPO3 nicht mehr zu-

gänglich machen

● 9f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ Kunde dafür zuständig

● 9g: Was ist auf Agenturseite zu beachten?

○ Falsche Kalkulation

○ Man muss nur unterscheiden ob man nur Upgrade verkauft

○ Relaunch kann denn Zeitplan beeinflussen

○ Budget aufgebraucht

10. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

- Aufwändige Projekte mit Minor-Version anfangen, wenn nicht LTS

- Große Struktur

- Viel Konfigurationsaufwand

- Extension -> form engine grundlegend geändert -> tca

11. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Man kann auch auf Kommandozeile aktualisieren

- Eigenentwicklungen bleiben kompliziert

- Einfach nur ein anderer Weg

12. Welche Tools unterstützen dich bei einem Upgrade?

- PhpStorm zum analysieren

- Depecration Log

- Extension-Scanner in der 9er Version

- Analyse vorm aktualisieren wichtig

- Upgrade Wizard

- Sammelt einzelne Wizards zusammen

- Database analyser

- Neue Felder, neue Indexe, Typ Änderung

- Migrierung

- Wizards kommen vom Core

● 12a: Gibt es noch Bedarf für weitere Tools?

○ Vorschau auf die nächste Version aus dem Tool

○ Fehler der Reihe nach beheben

○ Analyse = Upgrade-Prozess

○ Funktionsscan mit PhpStorm

○ Analyse während des Upgrades

● 12b: Wie könnten diese aussehen?

○ […]

Anhang

vii

Abschlussfragen

13. Gibt es noch etwas, was vergessen wurde anzusprechen?

- Nur der Anfang ist individuell

- Du weißt was da ist

- Dokumentation immer wichtig zwischen den Steps, was hat man wann und wie

gemacht

- Templates könne sich verändert haben

- Fluid templates

- Ausgabe anpassen

- Css styled content, kein fluid

- Css styled content auf fluid styles

- Viel über TypoScript

- Fluid styled content

- Css styled content noch verwendbar

- Kommt aus dem Core raus -> depecrated

- Eigentlich willst du migrieren -> Umstellen von css_sty-

led_content auf fluid_style_content ratsam

- Da muss man an die Datenbank, Inhaltselemente

haben sich geändert

- CompatibilityLayer Extension

- In 4.6 zu 6 wuden Klassen genamspaced

- Klassen wurden gealiased

- ist mit 7.6 rausgeflogen

- Damit würde es gehen

- Problem als Betreiber entweder hast du ext (und nutzt alles) oder nicht

- Dann macht sie alles

- Kommt drauf an was in der Extension steckt

- Bootstrap von TYPO3 hat sich geändert

- Zusätzliches Angebot um Aufwand zu sparen

- Oftmals braucht man nur ein feature aus der ext

- Andere Extensions wissen nicht das der da ist

- Lieber die Migration

14. Was wünschst du für die Zukunft von TYPO3?

- Besserer Umgang mit den Versionsnummern

- Minor releases die breaking sind

- 9.0 ist breaking

- Eigentlich nur Update zwischen den Versionen

Anhang

viii

Interview 2

Länge: 60 Min.

Anwesende Personen: Sammy Baghdadi, Helmut Hummel

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

10 Jahre seit Core-Liste, 12 Jahre

2. Warum arbeitest du mit TYPO3?

Anderes OpenSource Projekt -> floppyisdn4linux für Router

Über das Projekt das erste CMS was ihn überzeugte

Kompliziert aber Cool

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

5 Jahre Freelancer, Trainings & Workshops, Backend-Entwicklung mit PHP für TYPO3

4. Beschreibe bitte kurz deine berufliche Karriere.

Quereinsteiger bei Bitmotion angestellt

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

- Update: Bugfix -> einfach

- Upgrade: Major-Version, Minor -> komplexer

- TYPO3-Team definiert es so

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

- Allgemeiner fassen -> Warum Software upgraden

- Webplattform sieht er gleich mit Software

● 6a: Finanzielle Gründe?

○ Hack protection

○ Image Schaden oder Finanziellen Schaden präventieren

● 6b: Technische Gründe?

○ Neue Features

Anhang

ix

○ Es wird besser

○ Bestimmte Versionen der Software werden nicht mehr supported

● 6c: Aus Sicht der Kunden und Agenturen?

○ Stressfreier und günstiger Upgrades regelmäßig machen

○ Kommt auf die Wichtigkeit der Webseite an

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist?

(Metriken)

- (Sonar)Qube erstellt Metriken für PHP und JS

- Wurde eingerichtet (Christian Travold)

- Wurde für TYPO3 wieder gestartet typo3.sonarqube.io

- Konsequente Auswertung findet noch nicht statt

- Er macht es für seine Extension

- Müsste in CI-Worklfow integriert werden (Gerrit) (violation)

8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

- Ja, regelmäßig

- Ist schon etwas länger her, zur Agenturzeiten, es steht eines an

- 4.5 auf 6.2 für einen größeren Kunden, da steht 6.2 auf 8.7

9. Was genau hast du dabei gemacht?

- Überblick verschafften, Aufbau der Installation

- Alles was nicht gebraucht wird rausschmeißen

- Alle nicht aktiven Extensions wegwerfen

- Aktive Extensions auch prüfen ob diese genutzt werden

- Als zweites, was könnte noch Probleme machen

- Entwickler Komponenten entfernen

- Wie viele Template-Datensätze sind da

- Reduzieren und in Dateien auslagern

- Checkliste wäre sinnvoll

- Weitergehen reindex, deleted löschen, history löschen -> alle redundanten und

“”” Daten löschen -> cli kommandos

10. Siehst du dabei verschiedene Phasen ablaufen?

- Statusaufnahme - Ist

- Aufräumen

- Abzug vom Stand in Testumgebung (Code Migration)

- Aufsetzen in alter Version

- Dann upgrade durchführen (Core austauschen)

- Alle Extensions soweit aktualisieren wie möglich

Anhang

x

- Upgrade wizards -> schauen was kaputt ist

- Schritt für Schritt Extension aktivieren

- Fehler beheben

- Alternative:

- Tools die einem sagen was kaputtgehen wird

- Testsystem

- Alle Dateien in Versionskontrolle

- Ein Tool was weiß was sich zwischen den Versionen geändert

hat -> PHPCode scannen

- 4.5 smooth migration wizard -> Backend und CLI

- Datenmigration (Datenbank)

- Konfigurationsupgrade

11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

● 11a: Fragen zum Server-Upgrade

○ Eventuell kennt der Betreiber nicht die Requirements von TYPO3

○ Zuerst Infrastruktur Upgrade (also Server)

○ Von der 4.5 muss man immer auf die 6.2

○ Da ändert sich die PHP-Plattform nicht

○ 6.2 auf 7.6 kann noch mit PHP 7 (6.2 geht nicht mit 7)

○ Ab 7.6 hat man nicht mehr das Plattform Problem

○ 7.6 wird auch mit PHP 7.2 laufen

○ Besser von 6.2 auf die 8

● 11b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie

man diese lösen kann)

○ Private API Extension bekommen Probleme

■ Was ist PrivateAPI? Unterschiedlich

○ Xclasses sind immer ein Problem

■ Ich kann auf PHP-Ebene Klassen von TYPO3 austauschen

■ Parentclass wird definiert überschreibt einen von TYPO3

■ Methoden können überschrieben werden

■ Wenn sich Methoden stark geändert haben wird es schwierig

■ Ungeplante Erweiterbarkeit

■ Technische Schuld

● 11c: Fragen zu Problemen mit der Konfiguration

○ […]

● 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Kommt auf die Zeit an

○ Wird immer empfohlen

○ Kann man auch schon in der alten Installation machen

○ Man hat den Vorteil das man es versionieren kann

○ Was habe ich in welchen Schritten geändert

● 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ Dev-System -> lokale Kopie auf dem System des Entwicklers

○ Geshared des Dev-System hält er nicht viel

Anhang

xi

○ Staging oder Integrationsystem -> Neue Projektstände teilbar machen

■ PL und Kunde

■ Davon vielleicht sogar mehrere

■ Ist auch ein Abnahmesystem idealerweise

○ Ohne weitere Änderungen vom Stage auf Live

● 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ “Betreuende Partei” die den Kunden unterstützt

○ Kosten und Zeit müssen eingeplant werden

■ Budget muss da sein

■ Arbeitskraft muss da sein

■ Entscheidungen müssen getroffen werden

■ Hoster bzw. IT muss auch angewiesen werden

■ Es entstehen immer Aufwände

○ Es besteht dann aber auch immer die Chance interne Prozesse zu ver-

bessern (Aufräumphase)

○ Timing muss stimmen

○ Welcher Stand wir migriert (Datenbank)

■ Content Freeze (Redaktionstopp) vereinbaren

● 11g: Was ist auf Agenturseite zu beachten?

○ […]

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

[…]

13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im

Prozess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten)

- Da könnte mehr sein (wenig Dokumente)

- Seit der Phase 7 wurde im TYPO3 eine sinnvolle Art eingeführt -> RST Up-

grade Dateien -> Feature, Change oder Deprecation Beschreibung

- Aus der kann abgeleitet werden was mich in meinem Projekt betreffen kann

- Tools sollen diese auslesen, Version 9 wird gegen diese Dateien vergleichen

- Auch da kann man verbessern verfügbar machen für alte Versionen

- Vorfiltern von Dokumenten wäre wichtig

- Dokumentation nicht wichtig, wenn nicht auf Toolebene auswertbar

14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt?

- Entwickler (machen die Arbeit)

- Projektverantwortlichen (ergreifen die Initiative)

- Agentur

- Kunde der Agentur

- IT-Leitung

- Administration

Anhang

xii

- IT Hosting

- Redakteure

15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Jegliche Form der Automatisierung würde er bevorzugen

- Auch wichtig für Upgrade-Prozess

- Composer macht viel einfacher

- Aus einigen Befehlen wird der Rest automatisch durchgeführt

- Weitere Automatisierungs-Tools wie z. B. die TYPO3Console

- Console hilft bei dem Aufspielen auf das Livesystem

- Upgrade Wizards kann die Console automatisch durchlaufen

- Spart Zeit

16. Welche Tools unterstützen dich bei einem Upgrade?

- GIT - Versionskontrolle ist das zentrale Tool

- Soviel wie mögliche Dokumentieren mit Commits

- Composer erleichtert das Upgrade

- TYPO3Console -> Kommandozeilen Tools

- PhpStorm -> mit den sgalinsiki Plugins

-

● 16a: Gibt es noch Bedarf für weitere Tools?

○ Ja

● 16b: Wie könnten diese aussehen?

○ TYPO3 University Days -> Franz Kugelmann

■ Github Repo -> sammelt einige Tools

■ Shell-Skripte

○ Schade das Upgrade-Tool nur in 9er Version, nur über Browser erreich-

bar und nach dem Switchen der Sourcen

■ Oliver Hader baut ein CLI-Tool

■ Noch mehr Scanner Definitionen dahinter legen

■ Auch für ältere Versionen verfügbar machen

■ Hilft bei Codebasis-Auswertung

○ Autofix von „smooth migration wizard“ mit Autofix-Versionen

■ Namespacing austauschen von t3lib

○ Jedes Tool was automatisiert Dinge tun kann ist gut

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen?

[…]

Anhang

xiii

18. Was wünschst du für die Zukunft von TYPO3?

- Größerer Fokus auf Stabilität in jeglicher Hinsicht

- Geht unter bei dem vielen Aufräumen und Aufhübschen

- Kern von Leuten soll priorisiert Dinge angehen

- Sprachprobleme bei TYPO3-Installationen lösen

- UI-Geschichten

- Mehr Leute die sich um UI kümmern

- Benjamin Kott ist da allein auf weiter Front

- Mehr Unterstützung

- Kleinigkeiten machen die den Redakteuren sehr viel Arbeit erspart

- Weniger Klicks

- Aufwand geringer als andere Tasks (FormEngine)

- Mehr Spaß am Bedienen von TYPO3

- Entwickler Focus kommt sowieso

Anhang

xiv

Interview 3

Länge: 60 Min.

Anwesende Personen: Sammy Baghdadi, Wolfgang Wagner

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

2006, seit 3.8 Version

2. Warum arbeitest du mit TYPO3?

Neugier, weil gut. Viele andere CMS, getestet. 5 - 6 Jahren. Flexibilität, wichtig.

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

Jweiland, Hosting und Projekte. Integrator

4. Beschreibe bitte kurz deine berufliche Karriere.

Krankenpfleger, 20 Jahre. 1996 -> 2012

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

- Update nur Minor

- LTS Wechsel

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

● 6a: Finanzielle Gründe?

○ Finanzielles Problem bei Ausfall der Seite, Angestellte die bezahlt für

Pflege, Workflow wird einfacher spart Zeit und Geld

● 6b: Technische Gründe?

○ Sicherheit, Technische Basis, Technische Abhängigkeiten, Browser In-

kompatibilität

● 6c: Aus Sicht der Kunden und Agenturen?

○ […]

Anhang

xv

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist?

(Metriken)-

[…]

8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

Ja ziemlich viel, 300

9. Was genau hast du dabei gemacht?

- Seiten die wir hosten aber nicht selber entwickelt haben, Fremdprojekte

- Durchführung des Upgrades, TypoScript, Fluid

10. Siehst du dabei verschiedene Phasen ablaufen?

- Analyse (Upgrade check)

- Ist möglich

- Kein Upgrade wenn

- Keine Anpassungen an Extensions

- rg_smooth_gallerie -> bestimmte Extension

- Inkompatible Extension

- Keine alternativen vorhanden oder möglich

- Bei individual Extension nicht möglich

- Angebot

- Auftrag erteilt

- Termin vereinbaren

- Redaktionsstop

- Kunde müsste doppelt pflegen

- Upgrade an der Kopie

- Kunde testet danach

- Dann live

11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

- Nacktes Typo3

- TYPO3script anschauen

- TSConfig

- Referenzindex aktualisieren

- Datenbank auf utf8 migrieren

- mit „smooth migration“-Extension

- Symlink austauschen auf höhere LTS

- InstallTool

- Upgrade wizard

Anhang

xvi

- Database compare

- Letzte kompatible Version für die Version einspielen bei Extensions

- Front noch egal

- Backen soll funktionieren

- Nochmal refindex aktualisieren

- Ab 8 könnte es aufwendiger werden

- Css_styled_content -> fluid_styled_content

- Css anpassungen notwendig

- Cke editor Wechsel? ja oder nein?

● 11a: Fragen zum Server-Upgrade

○ Spielt keine Rolle, da Hosting bei Jweiland bereits für TYPO3 optimiert

● 11b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie

man diese lösen kann)

○ Flux, Fluidcontent,

○ ws_flexslider -> Bilder entfallen

● 11c: Fragen zu Problemen mit der Konfiguration

○ Bei TypoScript selber relative wenig

○ Wechsel von css_styled_content auf fluid_styled_content

■ Wenn per TypoScript viel an css_styled_content verändert

○ Ab 9 muss man es machen

○ Special-menu war vorher einfacher

● 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Kann in der Datenbank bleiben, wenn es da ist

○ Bei eigenen Projekten, ändern wir es aber

○ Sitepackage Extension -> Umstellen

○ So wenig wie möglich in der Datenbank

● 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ DEV-Server

○ Staging / Test

○ Live

○ Bei großen Kunden

○ Bei kleinen Kunden auf einem System was nachher live wird

● 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ […]

● 11g: Was ist auf Agenturseite zu beachten?

○ […]

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

- Einfach -> keine Fremd-Extensions, gut gepflegt

- kann auch sehr einfach

- Extensions sind immer am schwierig

- Notwendige Schritte

- Jede Version einzeln

Anhang

xvii

13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im

Prozess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten)

- Dokumentation meist kaum vorhanden

- Extension wichtig , Changelog -> in der Analysephase wichtig

- Kaum Dokumentation

- Link zur Doku

- Schulung per TeamViewer

14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt?

- Integrator macht auch Test

- Administrator der durchführt

- Entwickler Anpassungen an Extensions

- Redakteure oder Kunden -> als Tester

15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Aktuell kein Composer im Einsatz

- Bisher noch kein Projekt

- In Zukunft mehr nutzen

- Auch Deployment

- Eher für Profis

16. Welche Tools unterstützen dich bei einem Upgrade?

- Typo3 Konsole interessant

- Shell -> Terminal

- Editor ->

- Bei kleinen Projekten mit kleinem Editor

- Bei großen Projekte PhpStorm

- Sgalanski Plugins Fluid

● 16a: Gibt es noch Bedarf für weitere Tools?

○ […]

● 16b: Wie könnten diese aussehen?

○ […]

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen?

[…]

Anhang

xviii

18. Was wünschst du für die Zukunft von TYPO3?

- Funktionalität

- Real URL in den Core

- Mask in den Core für eigene Content Elemente

- Wert auf die Einsteiger legen, Einsteiger nicht vergessen

- Gerade bei Composer

- Alternative für Einsteiger

- Auch drauf hören

- Auch bei neuen Usern zuhören

Anhang

xix

Interview 4

Länge: 86 Min.

Anwesende Personen: Sammy Baghdadi, Mathias Schreiber

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

2002

2. Warum arbeitest du mit TYPO3?

War sein Job

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

Mädchen für alles, Integrator

4. Beschreibe bitte kurz deine berufliche Karriere.

- Musikinstrumente, Computer und Technik, Mitte der 90er angefangen ->

TYPO3 Bude

- TYPO3 hat ihn überzeugt

- Musste “Open Source” machen -> Netfielders

- Helfen macht sichtbar

- War kritisch gegenüber bisheriger Entscheidungen

- Mittwald-Büttenrede

- Marketing Team

- 2 Jahre Gehalt bekommen aber nicht für die Firma arbeiten

- Product Owner Ship - Kommerzielle Interessen hinter TYPO3 packen

- Die kaufmännische Ausbildung hilft sehr dabei

- 1,8 Mio € -> aus 6.2 eLTS

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

Update -> Entspannt, Verhalten

Upgrade -> Code ändert sich heftig

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

Anhang

xx

● 6a: Finanzielle Gründe?

○ Shiny new Stuff verkaufen

○ Neuerungen müssen überzeugen

● 6b: Technische Gründe?

○ […]

● 6c: Aus Sicht der Kunden und Agenturen?

○ Optik muss sich ändern

○ Design und Technologie

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist?

(Metriken)

- Bauchgefühl

- Open vs. closes Graph -> steigert die Motivationssteigerung

- Gamification

- Time to Fix ->

8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

Ja, 40 zwischen verschiedenen LTS Versionen

9. Was genau hast du dabei gemacht?

[…]

10. Siehst du dabei verschiedene Phasen ablaufen?

- 2 Extreme wie ein Upgrade ablieferbar

- Technische Schulden

- Weg des minimalen Aufwands heute fahren

- Später werden die Upgrades einfacher

- Oder später fahren

- Die Gewinne für die Agenturen können höher ausfallen

- Alle Deprecations weg -> weil in nächster Version kommt es auf jeden Fall

- Migration als Mischkalkulation -> Wartungsvertrag hinten raus um aufzuräumen

11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

● 11a: Fragen zum Server-Upgrade

○ Analyse ob Requirements erfüllt werden

○ Organisationsfrage

■ 1und1 & Host-Europe hatten lange Zeit kein PHP7

■ 2 Manntage

Anhang

xxi

○ Vorher alle Ext deaktivieren und dann step by step eine aktivieren und

fixen

● 11b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie

man diese lösen kann)

○ Extensions sind ein Problem

○ Blindes verlassen auf “third party kram”

○ Gibt es Errors kann man die fixen

○ Reines Integrator-Team ist unmöglich

○ Komplexität hat sich weiterentwickelt ->

■ Know How Level passt of einfach nicht zur Anforderung

● 11c: Fragen zu Problemen mit der Konfiguration

○ TypoScript nicht -> bzw. nicht hart

○ CSS_styled_content -> auf fluid_styled_content war nicht gut

● 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Auf keinen Fall noch machen (Empfehlung)

○ Für Hotfixes vorbei am Deployment

○ Bleibt aber im Core

● 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ Dev, Stage und Prod

○ Dev ist lokal , so oft wie Entwickler, Shell script von Stage auf Dev, und

auf von Stage auf Prod

● 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ […]

● 11g: Was ist auf Agenturseite zu beachten?

○ […]

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

Keines

13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im

Prozess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten)

- Neue entstehen keine

- RTS- Files

- RTS von Sprints, Core-Team im Channel

14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt?

Dev, Integrator, Kunde, PM

Anhang

xxii

15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Kombinationsbusiness

- Frühjahrsputz denke -> zu viel auf einmal vorgenommen

- Lieber in kleine Pakete unterteilen

- No Brainer, keine valide Entschuldigung für nicht Nutzung

16. Welche Tools unterstützen dich bei einem Upgrade?

- PhpStorm -> Php Inspections (EA Extended) scanner -> Grün machen

- Keine Klasse hat je länger als 2 Stunden gedauert (außer tt_news pi1)

- RST Files extension Scanner

● 16a: Gibt es noch Bedarf für weitere Tools?

○ Explosion driven durch die Updates

○ Fußschalter für Reload

○ Das was der Ext-Scanner findet und auch gleich fixed (lolli hat da was

vorbereitet)

● 16b: Wie könnten diese aussehen?

○ […]

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen?

Kalkulation von Upgrades

- Ein Manntag pro Extension

- Das Ergebnis ist unscharf und auch Projekte wo man draufzahlt

- Keine Analyse Phase

- Plus etwas Kontextkosten

- Bauchgefühl

- Kalkulation muss nicht belegt werden

- Die Masse ist hier wichtig

- Man profitiert von vorhanden

- Mischkalkulation

- Wir sind die schnellsten beim Angebot

- Trustvorteil

- Man transportiert nach außen unglaubliche Kompetenz

18. Was wünschst du für die Zukunft von TYPO3?

- Mehr Professionalisierung

- Im Core ziehen wir durch

- Es bleiben Leute auf der Strecke die sich anpassen wollen

Anhang

xxiii

- Wir wollen nicht mit Wordpress konkurrieren

- TYPO3 wird ein Profi-Tool

- Microsoft scharrt mit den Hufen, die wollen TYPO3

- Mein Markt kann das nicht abfangen

- Da rufen nicht Leute den du Deployment verkaufen musst -> das ist das

normal

- Backup & Desaster Strategie muss dabei sein

- Ehrliches Produkt

Anhang

xxiv

Interview 5

Länge: 63 Min.

Anwesende Personen: Sammy Baghdadi, Thomas Maroschick

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

15 Jahren

2. Warum arbeitest du mit TYPO3?

CMS für eine Freundin erstellt, über die LK Erdkunde

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

Generalist

4. Beschreibe bitte kurz deine berufliche Karriere.

- 10 Klasse Abgang Gymnasium, nach 2 Jahren selbstständig. Ausbildung als

Mediengestalter. 2008 auf den Dev-Days erstmalig. Vor 3 Jahren wurde er

Core-Teammember.

- Namespacing change in 6.0 begleitet. Teilhaber Technischer Leiter.

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

- Update: Bestehenden Funktionsumfang verbessern (innerhalb)

- Upgrade: Neue Features, eine Stufe mehr (LTS zu LTS)

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

Ja es ist absolut notwendig.

● 6a: Finanzielle Gründe?

○ Schutz der Investition

○ Technische Schulden werden mehr mit jedem ausgelassenen Upgrade

○ Macht auch einen besseren Eindruck gegenüber von Interessengruppen

○ Die Investition in Content ist enorm

○ Content kann einfach migriert

Anhang

xxv

○ Erstellen des Systems bringt sie in der Rolle eines Software-Entwick-

lers. Denn auf Basis der Anforderungen wird von einem Dienstleister

eine Software entwickelt. Der Kunde sieht es aber immer nur Produkt.

● 6b: Technische Gründe?

○ Wenn sich am Ökosystem nichts ändert. (Client sind bekannt) -> dann

nicht notwendig

● 6c: Aus Sicht der Kunden und Agenturen?

○ Wenn man Teil des Webs ist, ist es notwendig. Damit auch die Wahlfrei-

heit der Browser erhalten bleibt.

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist?

(Metriken)

Keine wirklichen Zahlen vorhanden, Ohlo (Metrik), Die Kunden sind nicht affin genug

dafür

8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

Ja, 50

9. Was genau hast du dabei gemacht?

Alles

10. Siehst du dabei verschiedene Phasen ablaufen?

- Klassischer Verkauf (Pilotkunde bei neuen LTS-Versionen)

- Entwicklungsphase (relative lange)

- Auf den Dev-Maschinen Upgrade durchgespielt

- Dann Production auf Stage-System spiegeln und dort wird geprobt

- Abnahme von Kunde

- Testing(Phase)

- Live Upgrade oder Spiegelung der Installation und Switch (Rollout)

- Es kommt immer eine Bugfixing-Phase

- Es gibt Seiten-Effekte und “Maulwurf-Seiten”

11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

● 11a: Fragen zum Server-Upgrade

○ Kurz vor der Testing-Phase, da auf DEV-Maschinen schon aktuelle Bib-

liotheken laufen

○ Aus dem Testing kommen die Anforderungen an den Server

○ Knapp überdacht

Anhang

xxvi

● 11b: Fragen zu Problemen mit Extensions? (Häufige Probleme und wie

man diese lösen kann)

○ Extensions verursachen den größten Aufwand

○ Das Kernsystem hat einen guten Upgrade-Pfad

○ Anpassen auf neue Apis macht Hauptaufwand

○ Recherche nach alternativen

○ Alarm-Extension:

■ Alle Ext die keinen modernen Entwicklungsparadigmen folgen

(TemplaVoila). Reines Upgrade zwar machbar man verbessert

aber nicht die Code-Basis

■ RealURL

■ PowerMail (Die Versionen ohne Wizards schwierig)

■ Individual-Extension nicht häufig das Problem bei Ihm da bereits

sauber geschrieben wird

■ Sich schnell bewegende Extensions

● 11c: Fragen zu Problemen mit der Konfiguration

○ Kommt drauf an, fluid_styled_content zu css_styled_content von Typo-

Script rendering auf fluid-rendering -> ist aufwändig

○ Man kann auch das alte Rendering behalten

○ Da kann auch nicht viel kaputtgehen, da dumpfes Array

● 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Grundsätzlich Config wie Code behandeln und Code gehört versioniert

○ Ob DB oder File egal, Hauptsache versioniert

○ Auslagern von Config in Dateien nur dann besser, wenn Versionierung

genutzt wird! (GIT)

■ Bewährter Prozess

○ Sie lagern

● 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ DEV (Lokale Instanzen)

○ Stage/Testing (bisher nur ein Kunde der dies nutzt)

○ Production

● 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ Resultat muss selbst geprüft werden

■ Nur er kennt das System in Gänze

○ Entscheidungen müssen getroffen werden

■ Besonders bei nicht mehr kompatiblen third-party-extension

○ Redaktionsstop muss der Kunde beachten, während eines Upgrades

■ Pflegen von zwei Systemen auch eine Möglichkeit

○ Bezahlen

● 11g: Was ist auf Agenturseite zu beachten?

○ […]

Anhang

xxvii

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

- Ja, große Extensions die nicht selbst Entwickelt wurden

- Wenn eine Extension eine weitere Framework-Extension braucht dann

gefährlich

- Autoren dann oftmals überfordert mit ihrer Extension ohne das Frame-

work

13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im

Prozess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten)

RST-Files, hilft sehr

14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt?

- Kunden

- Vertrieb / Kundenbetreuung

- Konzeptions-Team (Kunde, Kundenbetreuer, Entwickler)

- Sammeln der Anforderungen und Prioritäten

- Entwicklung

- Lead-Entwickler in der Regel

- Testing / Kunde / Kundenbetreuer

15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Composer wird seit einigen Jahren genutzt

- Macht viele Dinge einfacher

- Reduziertes Interface macht Aktionen einfach

- Komplexität wird verringert

- Automatisches Deployment noch recht neu

- Vereinfacht auch sehr gut

- Skripte sind gut vorhersehbar

- Wir eine immer wichtigere Rolle spielen

16. Welche Tools unterstützen dich bei einem Upgrade?

- PhpStorm

- SQLClients

- Webbrowser

- Kommandozeilen

Anhang

xxviii

● 16a: Gibt es noch Bedarf für weitere Tools?

○ Abstrakte Sprache (Domain Specific Language) die Updates beschrei-

ben kann

■ Updates am Content, die Updates durch Core ermöglichen

■ Ändere Content Element von x nach y

● 16b: Wie könnten diese aussehen?

○ […]

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen?

- Grundsätzlich sind Upgrades schwierig

- Als erfahrener Entwickler nicht kompliziert aber viel Arbeit

- Sehr mechanische Arbeit

- Für unerfahrene Entwickler die Hölle

- Dort gibt es keine Unterstützung

- Die Upgrades müssen gute Entwickler machen, obwohl die oft nicht zur Verfü-

gung stehen

- Dadurch kann das Upgrade auch noch schlechteren Code liefern

- Immer weniger Third-Party-Extension einsetzen, da diese das größte Risiko tra-

gen

18. Was wünschst du dir für die Zukunft von TYPO3?

- Frage der Entwicklung

- Mehr Entwickler die mit TYPO3 arbeiten, Professionalisierung der Community

- Über Junior hinaus

Anhang

xxix

Interview 6

Länge: 35 Min.

Anwesende Personen: Sammy Baghdadi, Philipp Stranghöner

Einstiegsfragen

1. Seit wann arbeitest du mit TYPO3?

Seit 2011

2. Warum arbeitest du mit TYPO3?

- Arbeitgeber Mittwald, Hauptsystem bei Mittwald

- Eigene Webseiten

3. Was machst du hauptsächlich mit TYPO3? (Entwickler, Integrator, …)?

Integrator, kein Entwickler

4. Beschreibe bitte kurz deine berufliche Karriere.

- 2011, Mediengestalter gelernt, Werbeagentur -> Webbereich betreut

- Produktmanager bei Mittwald, Für Softwarebereich

5. Wo siehst du den Unterschied zwischen einem Update und einem Upgrade?

- Update: Minor TYPO3 Update, Bugfix, kleine (winzige) Funktionen

- Upgrade: Aufwändiger, komplett neues System was leer ist mit Migration, LTS-

Versionen

Hauptfragen

6. Warum sollte man sein TYPO3-System regelmäßig upgraden?

● 6a: Finanzielle Gründe?

○ […]

● 6b: Technische Gründe?

○ Sollte aktuell gehalten werden

○ Sicherheitslücken

■ Auch in Bezug auf Extensions

○ Neue Funktionen

● 6c: Aus Sicht der Kunden und Agenturen?

○ Kunden kann etwas verkaufen

Anhang

xxx

7. An welchen Zahlen könnte man belegen, dass ein Upgrade sinnvoll ist?

(Metriken)

Keine Nutzung von Metriken für Upgrades

8. Hast du schon selbst ein Upgrade durchgeführt oder warst daran beteiligt?

(Wenn ja wie oft?)

Ja, schon mehrere Upgrades durchgeführt. Privat und bei Mittwald.

9. Was genau hast du dabei gemacht?

- Testen

- Analyse

- Durchführung (mit TYPO3console)

10. Siehst du dabei verschiedene Phasen ablaufen?

- Relaunch (Ist-Aufnahme)

- Konzept

- Upgrade-Phase an Kopie

- Sourcen austauschen

- InstallTool oder TYPO3Console

- Redaktionsstop, Content-Freeze

11. Wie würdest du bei einem Upgrade vorgehen bzw. gehst du vor?

● 11a: Fragen zum Server-Upgrade

○ Vorher prüfen ob möglich

○ PHP-Version Upgraden

○ in Durchführungsphase -> Keine Komplettes Upgrade des System

● 11b: Fragen zu Problemen mit Extension? (Häufige Probleme und wie

man diese lösen kann)

○ Gridelements -> Ist nicht kompatibel mit Version 8

■ Ist in dem Template von Mittwald enthalten

○ Hat sich in den letzten Jahren in der Community zum positiven Entwi-

ckelt bei großen Extensions

○ Mittwald finanziert

● 11c: Fragen zu Problemen mit der Konfiguration

○ MenuProccesor in Version 8, gab es vorher noch nichts

○ Mit Extensions meist einfacher

● 11d: Fragen zu Konfiguration in der Datenbank (Immer auslagern?)

○ Immer Empfehlen auszulagern auf Dateiebene wenig in der Datenbank

○ Template-Extension ist empfohlen (sitepackage)

■ Häufig

Anhang

xxxi

● 11e: Fragen zu Stage-, Dev- und Live-System (Immer notwendig? Idealzu-

stand?)

○ DEV

○ Stage / QS-System

○ Live

○ QS / Stage ist Optional

● 11f: Was ist auf Kundenseite zu beachten? (Redaktionsstop)

○ Redaktionsstop

○ Umstellung der Prozesse bei Redaktion

● 11g: Was ist auf Agenturseite zu beachten?

○ […]

12. Was hältst du bei einem Upgrade für besonders schwierig? (Was für

besonders einfach?)

- Die Extensions die benutzt wurden sind

- Wenn diese Extensions nicht mehr weiterentwickelt wurde

- Mittlerweile besser

13. Wie unterstützen dich bei einem Upgrade vorhandene Dokumente und wo im

Prozess spielen diese für dich eine Rolle? (Aktualisierung von Dokumenten)

- Durch die Erfahrung wenig relevant

- Changelogs sind wichtig

- Fragen ob es Dokumentation gibt und nutzen wenn vorhanden

- Dokumentation wird immer erstellt

- Mittlerweile währendessen

- Automatisiertes erzeugen von Dokumentation durch Tools

14. Welche Akteure bzw. Rollen siehst du an so einem Upgrade beteiligt?

- Kunde / Testen und Abnahme

- Kundenberater und Projektmanager

- Integrator und Entwickler

15. Wie beurteilst du den Einfluss auf ein Upgrade durch neue Ansätze wie

Composer und Automatisierten Deployment?

- Wird noch nicht genutzt, aber sehr interessant

- In Agenturen wird es zwar benutzt aber noch nicht überall

- Weniger als 1 % der Agenturen nutzen, halbes Jahr

- Kein Automatisiertes Deployment

- Agenturen nutzen Capistrano

Anhang

xxxii

16. Welche Tools unterstützen dich bei einem Upgrade?

- Terminal

- Extension TYPO3console

- Update über Terminal

- Inkompatible Extensions werden direkt deaktiviert

- PhpStorm -> Sgalinski

● 16a: Gibt es noch Bedarf für weitere Tools?

○ Extension - Scanner

■ Auswertung der Extensions, Alternativen vorschlagen

● 16b: Wie könnten diese aussehen?

○ […]

Abschlussfragen

17. Gibt es noch etwas, was vergessen wurde anzusprechen?

[…]

18. Was wünschst du für die Zukunft von TYPO3?

- Der Weg mit der TYPO3 GmbH super, so weiter machen

- Entwicklung ist flexibler

- Der Service wird besser, eLTS ist Super

Anhang

xxxiii

Kernaussagen aus Interview mit Interviewleitfaden 1

Nr. Kernaussagen • Nicole Cordes

1 • 12 Jahre

2 • Ausbildung, aktueller Arbeitgeber

3 • Backend, Extension, TYPO3Core

4 • Durchgehend bei CPS seit Ausbildung

5 • Update -> Minor, Bugfix • Upgrade -> Major

6 •

6a • Kunden verlieren Geld • Höhere bei Anpassungen an alte Versionen

6b • Sicherheit • Robusteres System • Besseres Datenschutz

6c •

7 • Ja

8 • Extensions aktualisiert

9 •

9a • Hängt von ab, was für Hosting • PHP aktualisieren, Webserver auch • Abhängige Pakete aktualisieren (ImageMagick)

9b • Bei neuen TYPO3-Versionen weniger Probleme • TCA-Anpassen • pibase weiter verwendbar • Changelog vorher prüfen • Bei T3•Version 9 mittels RST-Dateien prüfen • Extension in eine frisches T3 installieren und testen

9c • TypoScript verändert sich kaum • Es kommt meist nur hinzu • Aktualisierung auf neue Standards durchführen (sitepackage)

9d • Beides OK • DB ist performanter • Versionskontroller auf Dateiebene • Sitepackage sinnvoll

9e • Keins der Systeme notwendig • In lokaler Kopie (DEV) Upgrade durchführen • Nach Erfolg auf Stage • Kunde testet und nimmt auf Stage ab • Kopie von Live anlegen und upgrade • Dann Server tauschen • Redaktionsstop notwendig, TYPO3 sperren

9f • Kunde muss Redaktionsstop planen

9g • Kalkulation häufig falsch • Verkauft man "nur" Upgrade oder doch mehr? • Relaunch (Frontend) während des Upgrades kann Zeitplan beeinflussen • Was passiert wenn Budget aufgebraucht

Anhang

xxxiv

Nr. Kernaussagen • Nicole Cordes

10 • Große Strukturen • Viel Konfiguration • Extension • Form Engine • TCA

11 • Man kann auch auf CLI aktualisieren • Individualextension bleiben kompliziert • Einfach nur ein andere Weg bisherige Dinge zu tun

12 • PhpStorm IDE zum Analysieren • Deprecation-Log von TYPO3 • Extension Scanner in kommender Version 9 • Upgrade Wizard im InstallTool • Database-Analyser im InstallTool

12a • Vorschau aus alten InstallTool in neue T3•Version • Funktions-Scan mit PhpStorm

12b •

13 • Dokumentation zwischen den Steps wichtig • Templates können sich verändern • Css_styled_content ist deprecated -> Umstellung auf fluid_styled_content • TYPO3 compatibility•Extension können helfen beim Upgrade • Bringt aber auch vieles nicht benötigte

14 • Besserer Umgang mit Versionsnummern -> Kein Breaking bei Minor-Versionen

Anhang

xxxv

Kernaussagen aus Interviews mit Interviewleitfaden 2

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

1 • seit 2008 • 12 Jahre • seit 2002 • seit 2002 • seit 2011

2 • Flexibilität, bestes CMS • Das erste CMS was über-zeugte

• Aufgrund seines Arbeitsge-bers

• Privat für einen Erdkunde-Kurs CMS erstellt

• Wegen Arbeitgeber

3 • Integrator • 5 Jahre Freelancer • Backendentwickler

• Integrator • Universalist

• Generalist • Integrator

4 • 20 Jahre Krankenpfleger • Seit 2012 Beruflich nur T3

• Quereinsteiger • Verkauf von Musikinstru-menten • Kaufmännische Ausbildung

• Ausbildung als Medienge-stalter • Core-Team seit 2008 • Aktuell Teilhaber und tech-nischer Leiter

• 2011 Ausbildung zum Mediengestalter • Webbereich betreut in Agentur • Produktmanager bei Mittwald

5 • Update -> Minor • Upgrade -> LTS

• Update -> Bugfix, einfach • Upgrade -> Major, komplex

• Update -> Einfach, keine bis minimale Verhaltensän-derung • Upgrade -> Major, Viele Codeänderungen

• Update: Bestehende Funktionen verbessern (in-nerhalb von LTS) • Upgrade: Neue Features, von LTS zu LTS

• Update: Minor, Bugfixes, kleine (winzige) neue Funktionen • Upgrade: Aufwändiger, LTS-Version

6 • • Sieht Webplattform als Soft-ware

• • Ja ist absolut notwendig •

6a • Umsatzausfälle bei Aus-fall des Systems möglich • Unnötige Personalkosten für Redakteure bei Ausfall des Systems • Workflow wird in neuen Versionen besser -> Spart Kosten

• Hack protection • Image Schaden oder finanzi-elle Schaden präventieren

• Neues Design • Schutz der bisherigen In-vestition • Technische Schulden häu-fen sich mit jedem ausge-lassenen Update und somit die Upgrade kosten insge-samt • Investition in Content si-chern • Erstellen lassen von Soft-

Anhang

xxxvi

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

ware bringt den Kunden au-tomatisch in die Position eines Software-Entwicklers mit outgesourctem Team (Agentur / Freelancer)

6b • Sicherheit • Bessere technische Basis • Browser-Probleme im Ba-ckend möglich mit neuen Browser-Versionen

• Neue Features • Es wird allgemein besser • Alter Versionen werden nicht mehr supported

• Neue Technologien • Wenn sich am Ökosystem nichts ändert muss auch kein Upgrade sein -> aber extrem unwahrscheinlich (Browser Teil des Ökosys-tems)

• Sollte aktuell gehalten werden • Sicherheitslücken ver-meiden • Neue Funktionen

6c • • Es wird stressfreier und güns-tiger wenn man regelmäßig Upgrades durchführt

• • Wenn man Teil des Webs sein möchte sind Upgrades notwendig • Gepflegtes System mach guten Eindruck

• Agentur kann dem Kun-den etwas verkaufen

7 • • TYPO3 nutzt SonarQube • https://sonarcloud.io/project/ • Konsequente Auswertung fin-det noch nicht statt

• Open vs. Closes Tickets • Gamification • Time to fix • Metriken als Motivation-steigerung für DEVs

• Kunden sind dafür nicht affin genug -> keine Nut-zung von Metriken

• Keine Nutzung von Met-riken

8 • ca. 300 • Ja Ja, ca. 40 • Ja, ca. 50 • Ja, schon mehrere Up-grades durchgeführt

9 • Durchführung des Upgra-des • Meist an nicht selbst ent-wickelten Seiten • TypoScript und Fluid

• • • Alles • Testen • Analyse • Durchführen (mit TYPO3console)

10 • Analyse (Upgrade Check) • Entscheidung ob möglich oder nicht

Inhalt gehört zu Frage 11 • • Verkaufsphase • Entwicklung / Durchfüh-rung • Switch bzw. Roll-out

• Ist-Aufnahme • Konzept • Upgrade an Kopie • Sourcen austauschen

Anhang

xxxvii

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

• Alternative Extensions su-chen • Inkompatible Extensions erkennen • Angebot erstellen • Auftrag wird erteilt • Termin mit Kunde verein-baren • Redaktionsstop • Upgrade an Kopie durch-führen • Kunde nimmt ab und tes-tet • Dann live schalten

• Bugfixing-Phase durch Seiten-Effekte und "Maul-wurf-Seiten"

• InstallTool oder TYPO3console • Redaktionsstop, Content Freeze

11 • Upgrade für jede LTS ein-zeln • Nacktes TYPO3 aufset-zen • TypoScript prüfen • TSConfig • Referenzindex prüfen / aktualisieren • Datenbank auf UTF8 mig-rieren (mit „smooth migra-tion“ Extension) • Symlink austauschen • InstallTool • Upgrade Wizard • Database compare • TER•Extension aktualisie-ren • Frontend ist hier noch un-wichtig

Inhalt aus Frage 10 • Überblick verschaffen • Alles was nicht gebraucht wird rauswerfen • Alle nicht aktiven Extensions entfernen • Aktive Extensions prüfen ob diese genutzt werden • Entwickler Extensions (PHPu-nit, PHPmyAdmin) entfernen • Template•Datensätze analy-sieren • Wenn möglich reduzieren und in Dateien auslagern (sitepack-age) • Checkliste wäre wünschens-wert • Refindex aktualisieren • History und als gelöscht mar-

• Analyse (Überblick ver-schaffen) • Alle Ext. deaktivieren und Stück für Stück aktivieren und fixen • Deprecations entfernen

• •

Anhang

xxxviii

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

• Noch einmal Referenzin-dex prüfen • Css_styled_conent durch fuid_styled_content aus-tauschen (schwierig) • RTE durch CKE ersetzen

kierte Datenbankeinträge lö-schen • Alles redundante entfernen Inhalt aus 11 direkt: • Statusaufnahme (Istzustand) • Aufräumen • Abzug von Live in Testumge-bung erstellen (Migration) • Aufsetzen in alter Version • Upgrade durchführen -> siehe 11 • Datenmigration (aktueller Li-vestand) • Alternative: • Vorhersagesysteme (ab Ver-sion 9)

11a • Hosting nur bei jwei-land.net -> Umstellen der Config per Klick, TYPO3 optimiert

• Hoster informieren • Zuerst Server upgraden • Wenn 4.5 dann zuerst auf 6.2 • Ab 6.2 kann man direkt auf 8.7 • Ab 7.6 weniger Plattformprob-leme

• Analyse • Kontakt mit Hoster aufneh-men • 2 Manntage bei eigenem Hosting

• Dev-Maschinen aktualisie-ren • Aus dem Testing kommen die Anforderungen für den Server

• Vorher prüfen ob mög-lich • PHP-Version upgraden • In der Durchführungs-phase • Upgrade des Betriebs-system nicht empfohlen, dies nur auf neuem Ser-ver

11b • Flux, Fluidcontent • Bestimmte Extensions

• Xclasses sind ein Problem • Wenn sich überschrieben Me-thode verändert hat, muss diese auch angepasst werden

• Extensions sind ein Prob-lem

• Extensions verursachen größten Aufwand • Kernsystem hat guten Up-grade-Pfad • Anpassen an neue APIs macht den Hauptaufwand • Schwierige Extensions:

• Gridelements -> noch nicht kompatibel mit Ver-sion 8 • Ist aber in Standard-Template von Mittwald enthalten

Anhang

xxxix

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

• Alle Extensions die keinen modernen Entwicklungspa-radigmen folgen • TemplaVoila • PowerMail (wird aber bes-ser) • Individual-Extensions die selbst geschrieben wurden sind gut Upgradebar • Sich schnell bewegende Extensions sind auch schwierig

• Ist in den letzten Jahren aber besser geworden

11c • TypoScript macht wenig Probleme • Wechsel von css_sty-led_content zu fluid_sty-led_content • Special-menu muss an-gepasst werden

• • TypoScript macht wenig Probleme • Css_styled_content -> fluid_styled_content

• TypoScript macht wenig Probleme • Änderung von css_sty-led_content auf fluid_sty-led_content schwierig

• Wenig Probleme mit Ty-poScript • MenuProcessor neu in Version 8 • Extension besser als Ty-poScript

11d • Kann auch in der DB blei-ben • Wird aber immer aus der Datenbank geholt • Sitepackage erstellen • So wenig wie möglich in der DB

• Kommt auf die Zeit an, wird aber Empfohlen • Kann man auch schon vor dem Upgrade machen -> ver-einfacht dieses • Dann auch direkt in Versions-kontrolle • Dokumentation und Nachvoll-ziehbarkeit durch GIT

• Keine Speicherung in der Datenbank empfohlen • Für Hotfixes OK • Feature wird aber nicht aus dem Core entfernt

• Grundsätzliche Config wie Code behandeln und gehört deshalb in das VCS (Git) • Aber ob DB oder Files egal Hauptsache versioniert • Empfehlung: Auslagern

• Immer empfohlen auszu-lagern -> so wenig wie möglich in Datenbank • Template Extension (si-tepackage) sehr empfoh-len

11e • DEV -> Lokal • Stage / Test • Live • Nur bei großen Kunden

• DEV -> lokal • Stage zum Testen und Teilen • Abnahme durch Kunde • Live

• DEV -> Lokal, n mal • Stage -> Abnahme-System • Live ->

• DEV (lokal) • Stage/Testing • Production/Live

• DEV - Lokal • Stage / QS-System • Live

Anhang

xl

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

11f • • Eventuell wird dieser von ei-ner Agentur unterstützt • Kosten und Zeit müssen ein-geplant werden • Entscheidungen müssen ge-troffen werden • Chance auf Verbesserung der internen Prozesse besteht • Content Freeze (Redaktions-stop) notwendig

• • Resultat muss geprüft werden, nur er kennt das System in Gänze • Entscheidungen müssen getroffen werden • Nicht mehr kompatible Third-Party-Extension • Redaktionsstop oder Pfle-gen von zwei Systemen

• Redaktionsstop • Umstellung der Pro-zesse beim Kunden

11g • • • • •

12 • Einfach -> wenn wenig In-dividual-Extensions • Extension immer am schwierigsten

• • Nichts • Große Extensions die nicht selbst entwickelt wur-den

• Wenn benutzte Extensi-ons nicht mehr weiterent-wickelt werden • Wird aber besser

13 • Dokumentation kaum vor-handen • Changelog bei TER-Ex-tension • Doku wird nicht geschrie-ben • Schulung per TeamVie-wer

• Wenig Dokumente vorhanden • RST-Dateien von TYPO3 wichtig • Dokumentation nur Sinnvoll wenn auf Toolebene auswert-bar

• RST-Files • Changelogs und Ergebnis-dokumente von Sprints

• RST-Files • Durch Erfahrung weniger relevant • Changelogs und RTS-Fi-les sind wichtig • Vorhandene Dokumen-tation wichtig • Dokumentation wird im-mer erstellt • Früher nach der Ent-wicklung • Heute während • Erzeugung aus Code wird genutzt

14 • Integrator für das Up-grade und Tests • Administrator für Server • Entwickler für Extensions

• Entwickler (machen die Ar-beit) • Projektverantwortliche • Agentur vom Kunden

• DEV (Entwickler) • Integrator • Kunde • PM

• Kunde • Vertrieb / Kundenbetreu-ung / PL • Konzeptions-Team

• Kunde -> Test und Ab-nahme • PL

Anhang

xli

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

• Redakteure bzw. Kunde für Test und Abnahme

• Kunde • IT-Leitung • Administration • IT und Hosting • Redakteure

(Kunde, PL, Entwickler) -> Sammeln von Anforderun-gen • Entwicklung

• Integrator • Entwickler

15 • Aktuell keine Composer im Einsatz • In Zukunft mehr nutzen • Auch Deployment auto-matisieren • Eher für Profis

• Jegliche Form von Automati-sierung ist gut • Composer macht viele einfa-cher • Aus einigen kurzen Befehlen entsteht eine Abfolge von Akti-onen • TYPO3Console hilfe • UpgradeWizard laufen auto-matisch durch -> spart Zeit

• Da composer•Nutzung ein "no brainer" gibt es keine Entschuldigung für die nicht Nutzung • Deployment wird genutzt

• Composer wird seit eini-gen Jahren genutzt • Macht viele Dinger einfa-cher, danke reduziertem In-terface und verringerter Komplexität • Automatisches Deploy-ment noch recht neu • Aber vereinfacht auch • Wird immer wichtiger

• Wird noch nicht genutzt aber interessant • Weniger als 1 % der Kunden von Mittwald nut-zen Composer • Wenig Automatisierung, wenn dann Capistrano

16 • TYPO3•console ist inte-ressant • Terminal • PhpStorm mit sgalinski Plugins

• GIT•Versionskontrolle • Composer • TYPO3console • PhpStorm mit sgalinski Plugins

• PHP•Storm -> PHP Inspec-tion Plugin

• PhpStorm • SQLclients • Webbrowser

• Terminal • Extension TYPO3con-sole • Update über Terminal • Inkompatible Extension werden automatisch deak-tiviert • PhpStorm mit

16a • • Ja • Automatischen fixen • Abstrakte Sprache mit der man Upgrades beschreiben kann

• Extension Scanner mit automatischer Auswer-tung und alternativ Vor-schlägen

16b • • Franz Kugelmann Toolsamm-lung • 9er Upgrade-Auswertung auch für ältere TYPO3•Versio-nen verfügbar machen

• • •

Anhang

xlii

Frage

Kernaussagen • Wolf-gang Wagner

Kernaussagen • Helmut Hummel

Kernaussagen • Mathias Schreiber

Kernaussagen - Thomas Maroschick

Kernaussagen - Philipp Stranghöner

17 • • Beim Angebot keine Analy-sephase • Pauschale Abrechnung ( 1 MT pro Extension) • Schnell sein bringt Vertrau-ensbonus beim Kunden -> Man transportiert hohe Kom-petenz

• Grundsätzliche sind Up-grades schwierig • Als erfahrener Entwickler nicht schwierig aber viel mechanische Arbeit • Für unerfahrene Entwick-ler die Hölle -> es gibt we-nig Unterstützung • Upgrades sollten gute Ent-wickler machen obwohl diese häufig zu Verfügung stehen • Dadurch kann beim Up-grade schlechterer Code als vorher entstehen • Je weniger Extension, desto einfacher das Up-grade

18 • RealURL in den Core • Mask in den Core (eigene Content-Elemente) • Wieder mehr Wert auf Einsteiger legen • Auch Kritik annehmen (auch bei neuen Usern)

• Größerer Fokus auf Stabilität in jeglicher Hinsicht • Sprachprobleme lösen • Mehr Fokus auf UI • Redakteure das Leben ver-einfachen -> Mehr Spaß am Bedienen

• Mehr Professionalisierung • Wir wollen nicht mit Word-press konkurrieren • TYPO3 als ehrliches Pro-dukt

• Mehr Entwickler und Pro-fessionalisierung der Com-munity

• TYPO3 GmbH super, weiter so • eLTS gut • Service weiter verbes-sern

Anhang

xliii

Gemeinsamkeiten und Interpretationen aus Interviews

Nr. Gemeinsamkeiten / Interpretation

1 • Mehrjährige Anwendung

2 • Arbeitgeber

3 • Unterschiedlich

4 • Quereinstieg

5 • Update -> Einfach, Minor • Upgrade -> Komplex Major, LTS

6 • Upgrades wichtig

6a • Umsatz/Gewinnverlust bei Kunde • Reduktion der Personalkosten • Image Schäden präventieren • Schutz bisheriger Investitionen • Technische Schulden häufen sich an

6b • Sicherheit • Datenschutz • Robustheit • Neue Features • Alte Versionen werden nicht mehr supported • Browser-Probleme im Backend möglich • Wenn sich am Ökosystem nichts ändert muss auch kein Upgrade sein -> aber extrem unwahrscheinlich (Browser ist Teil des Ökosystems)

6c • Je häufiger das Upgrade, desto günstige und simpler weiter Upgrades • Man ist Teil des Webs und Upgrades deswegen notwendig

7 • SonarQube als Tool • Gamification-Ansatz motiviert • Time to fix, open vs. closes als Beispiel • Keine konsequente Nutzung • Kunden dafür nicht affin genug

8 • Alle beteiligt

9 • Meist in Frage 10 beantwortet

10 • Analyse • Angebot erstellen • Termin vereinbaren • Redaktionsstop • Upgrade an Kopie • Abnahme und Test durch Kunde • Live Schaltung

Anhang

xliv

Nr. Gemeinsamkeiten / Interpretation

11 TYPO3 • Überblick verschaffen / Analyse / Ist-Aufnahme • Extensions auf Upgrade-Fähigkeit prüfen • Alternativen Recherchieren • TypoScript prüfen • Template Datensätze prüfen • Prüfen ob aktive Extensions auch genutzt werden • Abgleich der Extensions mit Changelog und RST-Dateien • Vorhanden Dokumentationen prüfen • Vorbereitung (in DEV) • Aktuelle Datenbank besorgen • Entwickler Extensions entfernen • Referenzindex prüfen & aktualisieren • Datenbank auf UTF•8 migrieren wenn nötig • History und gelöschte Datensätze löschen • Redundanzen löschen • Durchführung (in DEV) • Alle Extensions deaktivieren • Extrahieren der Konfiguration aus Datenbank • Erstellung einer Template•Extension (Sitepackage) • Aktualisierung der Extensions auf max. Version per Ext.Man. oder Composer • Kerne austauschen / Symlink tauschen • InstallTool oder TYPO3Console • Database Compare durchführen • Upgrade Wizard durchlaufen • Aktualisierung der Ext auf max. Version per Ext.Man. oder Composer • Steps für jeden Kern (LTS zu LTS) wiederholen • (Optional aber Empfohlen) css_styled_content auf fluid_styled_content • (Optional aber Empfohlen) RTE durch CKE ersetzen • Extensions aktivieren TER • Auftretende Fehler beheben • Extension Individual • (Optional) Umstellung von pibase auf Extbase • Scan per PhpStorm und RST-Files auf bekannte Probleme • Probleme beheben • Scan per PhpStorm und Plugin PHP Inspections auf Probleme • Probleme beheben • Deprecations entfernen • Dokumentationen aktualisieren • Test (in DEV) • Test Frontend durch DEV • Test Backend durch DEV • Fehler beheben • Deploy auf Stage (Optional) • Test und Abnahme durch Kunden • Auftretende Fehler beheben • Deploy auf Live • Finale Test und Abnahme Systemkontext / Server • Anbieter mit Update der Infrastruktur beauftragen vor Durchführung oder • Update selber durchführen • Betriebssystem aktualisieren • Programme aktualisieren • Konfigurationen der Programme aktualisieren • Test und Fehler beheben Kunde • Beauftragung der Analyse durch Kunde

11a

11b

11c

11d

11e

11f

11g

Anhang

xlv

Nr. Gemeinsamkeiten / Interpretation

• Übergabe der Analyse und Kostenschätzung des Upgrades • Abbruch durch Kunde oder • Beauftragung durch Kunde • Redaktionsstop und Zeitplan abstimmen • Test und Abnahme durch Kunde • Schulung und Übergabe der Dokumentation

12 • Individual Extensions

13 • Changelog • RST-Files • Wenig Dokumentation bei Individual Extensions • Dokumentation nur sinnvoll, wenn durch Tools auswertbar • Je mehr Erfahrung desto weniger relevant

14 • Kunde • Projektleitung • Integrator • Entwickler • Administrator

15 • Empfehlung Composer nutzen • Empfehlung automatisiertes Deployment nutzen • Weniger als 1 % der Mittwald-Kunden nutzen den Composer-Modus • Wenig Automatisierung, wenn dann aber Capistrano

16 • PhpStorm mit den Plugins • TypoScript support for PhpStorm • Fluid support for PhpStorm • Php Inspections (EA Extended) • TYPO3Console (Besonders wichtig für Mittwald) • Composer • GIT

16a • Automatisches Lösen der durch Scanner gefundenen Probleme • Vorschlagen von neuen Extensions, wenn alte inkompatibel • Abstrakte Upgrade-Sprache

16b • Tool Sammlung Franz Kugelmann

17 • Schnell sein bringt Vertrauensbonus

18 • Keine Gemeinsamkeiten -> Einzelauswertung