176
TYPO3 CMS 6.2 LTS - What’s New bersicht der neuen Funktionen, ˜nderungen und Verbesserungen Patrick Lobacher und Michael Schams 27/March/2014 Creative Commons BY-NC-SA 3.0

TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

  • Upload
    ngothu

  • View
    233

  • Download
    2

Embed Size (px)

Citation preview

Page 1: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TYPO3 CMS 6.2 LTS - What’s NewÜbersicht der neuen Funktionen, Änderungen

und Verbesserungen

Patrick Lobacher und Michael Schams

27/March/2014Creative Commons BY-NC-SA 3.0

Page 2: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TYPO3 CMS 6.2 LTS - What’s New

Kapitelübersicht

EinführungInstall ToolResponsive ImagesÄnderungen im BackendTSconfig & TypoScriptPackage Management

Änderungen im SystemApplication Programming InterfaceExtbase & FluidUpgrade zu TYPO3 CMS 6.2 LTSMythBusterQuellen und Autoren

TYPO3 CMS 6.2 LTS - What’s New

Page 3: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Einführung

Einführung

(Die Fakten)

TYPO3 CMS 6.2 LTS - What’s New

Page 4: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Einführung

TYPO3 CMS 6.2 LTS: Die Fakten

Hauptziele:

Reibungslose MigrationRobuste und sichere GrundlageHohe BenutzerakzeptanzModerne Technologien/Interoperabilität

Release Manager:Ernesto Baschnyernesto.baschny (at) typo3.orgTwitter: @baschny

TYPO3 CMS 6.2 LTS - What’s New

Page 5: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Einführung

TYPO3 CMS 6.2 LTS: Die Fakten

Veröffentlichungsdatum: 25 März 2014

Entwicklungs- und Veröffentlichungszeitplan:

TYPO3 CMS 6.2 LTS - What’s New

Page 6: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Einführung

TYPO3 CMS 6.2 LTS: Die Fakten

SystemvoraussetzungenPHP v5.3.7 - v5.5.xMySQL v5.1.x - v5.6.x

Wird unterstützt bis mindestens: Ende März 2017

TYPO3 CMS 6.2 ist ein Long Term Support (LTS) release(3 Jahre Support!)

TYPO3 CMS 6.2 LTS - What’s New

Page 7: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Einführung

TYPO3 CMS 6.2 LTS: Die Fakten

Release Agenda:

TYPO3 CMS 6.2 LTS - What’s New

Page 8: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Kapitel 1:

Das "Install Tool"

TYPO3 CMS 6.2 LTS - What’s New

Page 9: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Installation

Für eine Installation wird nur noch ein Package benötigt:typo3_src-6.2.x.tar.gz (Dateigröße ca. 20MB)

"Dummy" und "Blank" Packages sind hinfällig

Installation:Extrahieren des Source Packages im Hauptverzeichnis des Web ServersErstellen der symbolischen Links, sofern erforderlichIm Web Browser das Hauptverzeichnis aufrufenTYPO3 Installer beginnt mit dem 1-2-3-4-5-Wizard

TYPO3 CMS 6.2 LTS - What’s New

Page 10: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Installation

Der Installer stellt sicher, dass alle erforderlichen Dateien undVerzeichnisse automatisch erstellt werden und am richtigen Platz sind

Die folgenden symbolischen Links müssen existieren:

typo3_src (zeigt auf das TYPO3 Source Verzeichnis)typo3 (zeigt auf das Verzeichnis: typo3_src/typo3)index.php (zeigt auf die Datei: typo3_src/index.php)

Es sind keine weiteren Dateien oder Verzeichnisse für eine TYPO3Installation notwendig

Verzeichnis t3lib wurde entfernt

Weitere Informationen im "TYPO3 Installation and Upgrade Guide"http://docs.typo3.org/typo3cms/InstallationGuide

TYPO3 CMS 6.2 LTS - What’s New

Page 11: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Neu-Entwicklung

Es fand eine Neu-Entwicklungunter Verwendung von Fluid statt

Der erste Schritt testet dasSystem und meldet möglicheProbleme

Diese können dann korrigiertoder ignoriert werden

Ungültiger Core Setup (z.b.fehlende symbolische Links) wirdebenfalls angezeigt

TYPO3 CMS 6.2 LTS - What’s New

Page 12: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Neu-Entwicklung

Im zweiten Schritt werden dieZugangsdaten zum Datenbank-server angegeben

Verschiedene Verbindungstypenkönnen ausgewählt werden

TCP/IP VerbindungSocket Verbindung

Alternativen zu MySQL sindebenfalls möglich

TYPO3 CMS 6.2 LTS - What’s New

Page 13: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

"Neu-Entwicklung

Der dritte Schritt erlaubt es, dieDatenbank auszuwählen oder zuerstellen (wie bereits inVersionen vor TYPO3 6.2)

Im vierten Schritt wird dasPasswort für den Benutzer"admin" gesetzt (welches ebensodas Install Tool Passwortdarstellt) und der Sitenameangegeben

TYPO3 CMS 6.2 LTS - What’s New

Page 14: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Cache vollständig leeren

Mit einer neuen Funktion unter "Important actions" kann der gesamteCache vollständig geleert werden ("Delete all cache")Jenes funktioniert auch, wenn der Cache ungültigen PHP Code enthält,der möglicherweise TYPO3 blockiertUm eine nicht-funktionierende TYPO3 Instanz zu umgehen, kann dasInstall Tool direkt aufgerufen werden:http://example.com/typo3/install

TYPO3 CMS 6.2 LTS - What’s New

Page 15: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Cache vollständig leeren

Ablauf, wenn die Funktion "Delete all cache" ausgeführt wird:

1. Inhalt des Verzeichnisses typo3temp/Cache wird gelöscht

2. Datenbanktabellen cf_* werden geleert

3. Dateien ext_localconf.php und ext_tables.phpvon installierten Extensions werden geladen

4. flushCaches() wird ausgeführt

TYPO3 CMS 6.2 LTS - What’s New

Page 16: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Nicht-ausführbare Extensions

Mit einer neuen Funktion unter "Important actions" kann nun geprüftwerden, ob Extensions geladen werden können, ohne das System lahmzu legenSehr nützlich zum Beispiel bei einem Update von TYPO3 4.5 zu 6.2

TYPO3 CMS 6.2 LTS - What’s New

Page 17: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Gesalzene Passwörter

Beim Neuerstellen von Administratorkonten über das Install Tool,werden nun gesalzene (salted) Passwörter verwendet(vorausgesetzt, EXT:saltedpasswords ist installiert und konfiguriert)

Das Install Tool Passwort ist ebenfalls ein gesalzenes Passwort(ein existierender MD5 Hash wird beim ersten Login umgewandelt)

TYPO3 CMS 6.2 LTS - What’s New

Page 18: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Application Context (1)

TYPO3 ab Version 6.2 berücksichtigt nun den Application Context(bereits bekannt von TYPO3 Flow)

Umgebungsvariable TYPO3_CONTEXT setzt diesen Kontext(Voreinstellung: Production, Sub-Context wie z.B. Production/Staging möglich)

# File: .htaccess# Rules to set Application Context based on hostname:

RewriteCond %{HTTP_HOST} ^dev\.example\.com$RewriteRule (.*) $1 [E=TYPO3_CONTEXT:Development]

RewriteCond %{HTTP_HOST} ^www\.example\.com$RewriteRule (.*) $1 [E=TYPO3_CONTEXT:Production]

# Sets an environment variable, which is then available to TYPO3 CMS:SetEnv TYPO3_CONTEXT Production

TYPO3 CMS 6.2 LTS - What’s New

Page 19: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Vorkonfigurierte TYPO3_CONF_VAR Einstellungen

VorkonfigurierteTYPO3_CONF_VAR-Einstellungen können im InstallTool ausgewählt werden

Diverse Parameter steuern zumBeispiel Debug-Ausgaben, das"deprecation log", devIPmaskund weitere Log-Einstellungen

Vorgegebene Kontexte sind"Production" and "Development"(eine eigene Konfiguration istnatürlich möglich)

TYPO3 CMS 6.2 LTS - What’s New

Page 20: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Verbesserte Benutzerfreundlichkeit

Die Position des Menüs auf derlinken Seite ist nun fixiert unddas Menü scrollt nicht mit

Der Button "Write configuration"am Ende der Seite ist fixiert undsomit immer sichtbar

Einträge in "All Configuration"sind gruppiert (klappen bei Klickauf die Überschrift auf)

TYPO3 CMS 6.2 LTS - What’s New

Page 21: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Benutzerfreundliche Fehlercodes

Aussagekräftige (menschen-lesbare) Begriffe können für folgendeOptionen verwendet werden:

[SYS][errorHandlerErrors]

[SYS][exceptionalErrors]

[SYS][syslogErrorReporting]

[SYS][belogErrorReporting]

(vor TYPO3 6.2 waren nurnumerische Werte möglich)

Ein Extbase ViewHelper format.phpErrorCode übernimmt dieUmwandlung in PHP Fehlercodes

TYPO3 CMS 6.2 LTS - What’s New

Page 22: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Verzeichnis-Fehler

Fehler in der Verzeichnisstruktur werden direkt angezeigt(als "Badge", eingekreiste Zahl)

TYPO3 CMS 6.2 LTS - What’s New

Page 23: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

TYPO3 Core Updates

Minor-Core-Updates (inkl. Security-Versionen) können direkt aus demInstall Tool ausgeführt werdenDie Umgebungsvariable TYPO3_DISABLE_CORE_UPDATER=1unterbindet diese Funktion

TYPO3 CMS 6.2 LTS - What’s New

Page 24: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Diverses

Sämtliche Formulare sind nun CSRF-geschützt(cross-site request forgery)

Das Install Tool nutzt einen vereinfachten Fluid Standalone View

Nur unbedingt notwendige TYPO3 Funktionen werden geladen(Extensions mit beschädigten ext_localconf.php oder ext_tables.phpDateien führen nicht mehr zum Abbruch des Install Tools)

Neuer Startpunkt: typo3/sysext/install/Start/Install.phpWar bisher: typo3/install/index.php(es existiert eine Umleitung von der alten zur neuen Adresse)

Damit das Install Tool auch benutzbar bleibt, wenn der Cacheungültigen PHP Code enthält, verzichtet es komplett auf Caching

TYPO3 CMS 6.2 LTS - What’s New

Page 25: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Diverses

Es wird geprüft, ob die PHP Option xdebug.max_nesting_leveleinen Wert von mindestens 250 aufweist(die Voreinstellung "100" führt unter Umständen zu Fehlern)

"Relaxed permission check":Während normalerweise die Berechtigung für das Root-Verzeichnis derInstallation 2770 sein muss und der Ordner dem Web-User gehören muss, umTYPO3 zu installieren, wurde nun eine Option "targetPermissionRelaxed"eingeführt, bei der dieser Check für den Root-Folder außer Kraft gesetztwurde, sofern es trotzdem möglich ist, die benötigten Unterverzeichnisseanzulegen.

TYPO3 CMS 6.2 LTS - What’s New

Page 26: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Install Tool

Diverses

Folgende veraltete Optionen wurden vom Install Tool entfernt(und damit auch aus der Datei LocalConfiguration.php):

BE/loginLabels

BE/loginNews

BE/useOnContextMenuHandler

EXT/em_mirrorListURL

EXT/em_wsdlURL

EXT/extList

EXT/extList_FE

EXT/noEdit

FE/defaultTypoScript_editorcfg

FE/simulateStaticDocuments

GFX/noIconProc

GFX/TTFLocaleConv

SYS/additionalAllowedClassPrefixes

SYS/caching/cacheBackends

SYS/caching/cacheFrontends

SYS/extCache

SYS/T3instID

TYPO3 CMS 6.2 LTS - What’s New

Page 27: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Kapitel 2:

Responsive Images

TYPO3 CMS 6.2 LTS - What’s New

Page 28: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Bildschirmgrößen in der Seitenvorschau

Redakteure können nun verschiedene Bildschirmgrößen (Breiten) fürdie Vorschau auswählen, um responsive Websites testen zu können

TYPO3 CMS 6.2 LTS - What’s New

Page 29: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Bildschirmgrößen in der Seitenvorschau

Bildschirmgrößen sind via PageTSconfig konfigurierbar:mod.web_view.previewFrameWidths {

1780.label = <any LLL or string>1780.height = 145

}

Der Schlüssel (hier: 1780) gibt die Breite an, die Höhe (height) istoptionalVorgegebene Größen sind in der folgenden Datei definiert:typo3/sysext/core/Configuration/DefaultConfiguration.phpLabels können via PageTSconfig konfiguriert werden:mod.web_view.previewFrameWidths {

1280.label = LLL:EXT:viewpage/Resources/Private/Language/locallang.xlf:computer1024.label = LLL:EXT:viewpage/Resources/Private/Language/locallang.xlf:tablet

}

TYPO3 CMS 6.2 LTS - What’s New

Page 30: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Responsive Bildergalerien

Es wurden zusätzliche Attribute für responsive Bildergalerieneingeführt

Dafür wurde das Rendering von "CSS styled content" erweitert

Beispiel: HTML5 (config.doctype = html5 vorausgesetzt)

TYPO3 CMS vor 6.2:

<div class="csc-textpic-imagewrap">...</div>

TYPO3 CMS ab 6.2:

<div class="csc-textpic-imagewrap"data-csc-images="{register:imageCount}"data-csc-cols="{field:imagecols}">...</div>

TYPO3 CMS 6.2 LTS - What’s New

Page 31: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Responsive Image Rendering

cObject IMAGE kann nun so genannte "sourceCollections" rendern, umdamit verschiedene Display-Auflösungen und Bildschirmgrößen zuunterstützen

Zum Aktivieren des responsive Image Rendering für die cObjects "Bild"und "Text/Bild" müssen folgende Einstellungen gemacht werden:styles.content.imgtext.responsivestyles.content.imgtext.layoutKeyGültige ("out of the box") Optionen sind:

default: standard <img>-tagsrcset: <img>-tag mit alternativer Bildquelle als srcset-Attributpicture: <picture>-tag mit source-child-tagsdata: <img>-tag mit alternativer Bildquelle as data-Attribut

TYPO3 CMS 6.2 LTS - What’s New

Page 32: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Eigenschaft: layoutKey

layoutKey definiert das Render-Layout(HTML Code, der für das <img>-tag verwendet wird)

Jede Möglichkeit repräsentiert eine unterschiedliche Lösung umHTML-Code für das IMAGE zu rendernOption default rendert das <img>-tag auf herkömmliche Weise(jenes empfiehlt sich, wenn das Frontend nicht "responsive" ist)

Wenn man ein responsive Layout implementiert, benötigt manunterschiedliche BildgrößenAbhängig vom HTML Framework, dem Browser und der JavaScriptBibliothek für das progressive enhancement, verwendet man:

entweder eines der vordefinierten Layouts,oder definiert ein neues Layout mit einem neuen layoutKey

TYPO3 CMS 6.2 LTS - What’s New

Page 33: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Eigenschaft: layoutKey

layoutKey = {$styles.content.imgtext.layoutKey}layout {

default {element = <img src="###SRC###" width="###WIDTH###" height="###HEIGHT###" ###PARAMS###

###ALTPARAMS### ###BORDER######SELFCLOSINGTAGSLASH###>}srcset {

element = <img src="###SRC###" srcset="###SOURCECOLLECTION###" ###PARAMS######ALTPARAMS### ###SELFCLOSINGTAGSLASH###>

source = |*|###SRC### ###SRCSETCANDIDATE###,|*|###SRC### ###SRCSETCANDIDATE###}picture {

element = <picture>###SOURCECOLLECTION###<img src="###SRC###" ###PARAMS######ALTPARAMS######SELFCLOSINGTAGSLASH###></picture>

source = <source src="###SRC###" media="###MEDIAQUERY###"###SELFCLOSINGTAGSLASH###>}data {

element = <img src="###SRC###" ###SOURCECOLLECTION### ###PARAMS######ALTPARAMS######SELFCLOSINGTAGSLASH###>

source = data-###DATAKEY###="###SRC###"}

}

TYPO3 CMS 6.2 LTS - What’s New

Page 34: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Eigenschaft: layout.[layoutKey].element

###SRC###

URL für Attribut: src

###WIDTH###

Bildbreite (in Pixel) für Attribut: width

###HEIGHT###

Bildhöhe (in Pixel) für Attribut: height

###PARAMS###

Zusätzliche Parameter, wie im cObject IMAGE definiert

###ALTPARAMS###

Zusätzliche alternative Parameter, wie im cObject IMAGE definiert

TYPO3 CMS 6.2 LTS - What’s New

Page 35: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Eigenschaft: layout.[layoutKey].element

###BORDER###

Rahmenbreite (in Pixel) für Attribut: border

###SELFCLOSINGTAGSLASH###

Schließendes Tag, z.B. <img ... /> oder <img ... >(abhängig von config.xhtmlDoctype oder config.doctype)

###SOURCECOLLECTION###

Zusätzliche Sourcen des Bildes, abhängig von der unterschiedlichenVerwendung im Responsive Web Design.Die Werte werden im Schlüssel layout.[layoutKey].sourcedefiniert

TYPO3 CMS 6.2 LTS - What’s New

Page 36: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Eigenschaft: sourceCollection.[dataKey]

Standard sourceCollection von EXT:css_styled_content

Es ist zu empfehlen, eine eigene sourceCollection zu erstellensourceCollection {

small {width = 200srcsetCandidate = 600wmediaQuery = (max-device-width: 600px)dataKey = small

}smallRetina {

if.directReturn = 1width = 200pixelDensity = 2srcsetCandidate = 600w 2xmediaQuery = (max-device-width: 600px) AND (min-resolution: 192dpi)dataKey = smallRetina

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 37: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Responsive Images

Weitere Informationen

Lauffähiges Code-Beispiel:http://wiki.typo3.org/Responsive_Image_Rendering

Artikel von Sven Wolfermann auf typo3.org:http://typo3.org/news/article/responsive-image-rendering-in-typo3-cms-62/

W3C Spezifikation:http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/http://www.w3.org/TR/html-picture-element/

Arbeitsentwurf (working draft) der "Responsive Image Community Group":http://responsiveimages.org

TYPO3 CMS 6.2 LTS - What’s New

Page 38: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Kapitel 3:

Änderungen im Backend

TYPO3 CMS 6.2 LTS - What’s New

Page 39: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Anmeldung am Backend

Autofokus auf das Eingabefeld des Benutzernamens bei Aufruf desAnmeldeformulars(HTML5 Attribute: autofocus="autofocus")

TYPO3 CMS 6.2 LTS - What’s New

Page 40: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Allgemeines Erscheinungsbild

Verbesserte Usability durchaufgelockertes Erscheinungsbild

Horizontale und vertikaleAbstände vieler Elementewurden vergrößert

Basis ist ein 12 Pixel Raster,welches verdoppelt wurde

Links: TYPO3 4.5

Rechts: TYPO3 6.2

TYPO3 CMS 6.2 LTS - What’s New

Page 41: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Allgemeines Erscheinungsbild

Modul in der linken Spaltewurden neu angeordnet

Modul "ADMINWERKZEUGE" wurdezweigeteilt:

ADMINWERKZEUGE ("Sprache"und "Erweiterungsmanager")SYSTEM (low-level Tools, diekeinen Seitenbaum anzeigen)

Das Modul "TypoScript-Hilfe"wurde entfernt (veraltet)

TYPO3 CMS 6.2 LTS - What’s New

Page 42: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Allgemeines Erscheinungsbild

<h1>-Überschriften im rechten Bereich werden nun durchgehend imTYPO3 Font dargestellt

TYPO3 CMS 6.2 LTS - What’s New

Page 43: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Allgemeines Erscheinungsbild

Modul "Reports" hat ein eigenes Symbol erhalten

TYPO3 CMS 6.2 LTS - What’s New

Page 44: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Drag&Drop in der Dateiliste

In der Dateiliste können nun Dateien per HTML5 Drag&Drophochgeladen werden

TYPO3 CMS 6.2 LTS - What’s New

Page 45: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Drag&Drop in der Dateiliste

...sowie über Inhaltselemente (Button: "Select & upload files")

TYPO3 CMS 6.2 LTS - What’s New

Page 46: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Backend Benutzerverwaltung

Neben dem Benutzernamen wird nun auch der Realname dargestellt

Klick auf den Namen führt zum Bearbeitungsformular

Zudem gibt es nun einen Delete-Button in der Liste

TYPO3 CMS 6.2 LTS - What’s New

Page 47: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Verbesserte Suchfunktion

Die Live-Suche zeigt nun UID und PID als Tooltip in der Ergebnisliste an

Sobald man nach einer Suche das Editierformular wieder schließt,gelangt man in die Listen-Ansicht der PID (und nicht wie früher aufeine leere Seite)

TYPO3 CMS 6.2 LTS - What’s New

Page 48: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Live Search

In TYPO3 vor Version 6.2 durchsucht die Live-Suche für Seiten nur dieFelder title und uidAb TYPO3 Version 6.2 kann nun das Feld alias zusätzlich in der Sucheeinbezogen werden, sofern per UserTSconfig konfiguriert(options.pageTree.searchInAlias = 1)

TYPO3 CMS 6.2 LTS - What’s New

Page 49: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

File Abstraction Layer

Dateiname und Titel werden nun im FAL-Element "Header" angegeben

TYPO3 CMS 6.2 LTS - What’s New

Page 50: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

File Abstraction Layer (EXT:filemetadata)

Durch die EXT:filemetadata werden zusätzliche Metadaten eingebracht(Extension wird mitgeliefert, ist aber standardmäßig nicht installiert)

TYPO3 CMS 6.2 LTS - What’s New

Page 51: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

File Abstraction Layer (EXT:filemetadata)

TYPO3 CMS 6.2 LTS - What’s New

Page 52: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

File Abstraction Layer

FAL Metadaten können nun in Frontend-Sprachen übersetzt werden

TYPO3 CMS 6.2 LTS - What’s New

Page 53: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Modul: Documentation

Neues Modul "Documentation"ermöglicht es, Dokumentationenherunterzuladen

Das Modul wird über denErweiterungsmanagerhinzugefügt, bzw. ist bei neuenInstallationen bereitsstandardmäßig geladen

Funktion "DownloadDocumentation" lädtDokumentationen nach

TYPO3 CMS 6.2 LTS - What’s New

Page 54: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Modul: Documentation

Im Modul "Show Documentation" kann man die Dokumentationen dannansehen

TYPO3 CMS 6.2 LTS - What’s New

Page 55: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Removed: TypoScript Help

EXT:tsconfig_help ("TypoScript-Hilfe") entfernt(enthielt veraltete Information und wurde seit längerem nicht gepflegt)

TYPO3 CMS 6.2 LTS - What’s New

Page 56: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Planer ("Scheduler")

Löschen von Scheduler-Tasks in der Bearbeitungsansicht(in TYPO3 vor Version 6.2 können Tasks nur in der Listenansicht gelöschtwerden)

TYPO3 CMS 6.2 LTS - What’s New

Page 57: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Planer ("Scheduler")

Scheduler-Tasks können nun mit einer Beschreibung versehen werden(als Subheadline oder Tooltip, siehe nächste Seite)

TYPO3 CMS 6.2 LTS - What’s New

Page 58: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Planer ("Scheduler")

Taskbeschreibung als Subheadline(jenes muss in der Extensionkonfiguration aktiviert werden)

Taskbeschreibung als Tooltip ("Hover")

TYPO3 CMS 6.2 LTS - What’s New

Page 59: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Planer ("Scheduler")

Scheduler-Tasks können nun gruppiert werdenDazu legt man auf der Root-Page (UID: 0) "Scheduler task groups" anund wählt im Task die entsprechende Gruppe aus

TYPO3 CMS 6.2 LTS - What’s New

Page 60: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Systemextension: Form

Neuer Post-Prozessor für dascObject FORM: redirect(Weiterleitung nach Abschickender Mail)

Das Feld wird über dieTypoScript-Funktion typolinkausgewertet,das bedeutet, man kann z.B. eineID für eine interne Seite odereine URL angeben

TYPO3 CMS 6.2 LTS - What’s New

Page 61: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Modul: List

Zusätzliche Spalten "UID" und "PID" in der Listenansicht fürnicht-Administratoren

TYPO3 CMS 6.2 LTS - What’s New

Page 62: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

File Abstraction Layer

Bemerkt der FAL-Indexer eine nicht mehr vorhandene Datei, wird einentsprechender Hinweis ausgeben und ein Flag "missing" in derDatenbanktabelle "sys_file" gesetztIm "Reports" Modul wird jenes ebenfalls als Warnung angezeigtSobald die Datei wieder gefunden wird, werden Hinweis und Flagzurückgesetzt

TYPO3 CMS 6.2 LTS - What’s New

Page 63: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Neuer Menütyp: Kategorien (1)

Im Inhaltselement "Menü und Sitemap" kann ein Menü, basierend aufKategorien ausgewählt werden

TYPO3 CMS 6.2 LTS - What’s New

Page 64: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Neuer Menütyp: Kategorien (1)

Weiterer neuer Menütyp: "Content elements for selected categories"

TYPO3 CMS 6.2 LTS - What’s New

Page 65: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Kategorien

Kategorien können nun manuell sortiert werden(bisher waren diese immer alphabetisch sortiert)

TYPO3 CMS 6.2 LTS - What’s New

Page 66: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Kategorien

Bei Backend-Benutzern und -Gruppen kann nun definiert werden,welche Kategorien diese sehen können

TYPO3 CMS 6.2 LTS - What’s New

Page 67: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Usability

Das Icon "Neues Inhaltselement" ist nun immer sichtbar, sofern dieSpalte noch leer ist

TYPO3 CMS 6.2 LTS - What’s New

Page 68: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Funktionen

Wenn im Modul "Funktionen" mehrere Seiten angelegt werden, kannausgewählt werden, dass diese vorerst nicht im Menü sichtbar seinsollen

TYPO3 CMS 6.2 LTS - What’s New

Page 69: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Erweiterungsmanager

Extensions können nun auch im Untermenü "Erweiterungenhinzufügen" hochgeladen werden

TYPO3 CMS 6.2 LTS - What’s New

Page 70: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Recycler

Einträge im Recycler lassen sich nun nach dem letzten Zugriff sortieren,um das Auffinden von Einträgen zu erleichern

TYPO3 CMS 6.2 LTS - What’s New

Page 71: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Zugriffsreche auf Dateien und Ordner

Rechte auf Dateien/Ordner können nun für Benutzer/Gruppen sehrdetailiert konfiguriert werden (1)Jenes ist zwar bereits seit TYPO3 6.0 möglich, bisher allerdings nurmittels UserTSconfig (2)

TYPO3 CMS 6.2 LTS - What’s New

Page 72: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

OpenID (1)

Die OpenID Konfiguration für Backend-Benutzer ist nun über einenWizard wesentlich einfacher zu bewerkstelligen

Hierfür ist natürlich die Systemextension EXT:openid erforderlich

TYPO3 CMS 6.2 LTS - What’s New

Page 73: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

OpenID (2)

Die OpenID Konfiguration für Backend-Benutzer ist nun über einenWizard wesentlich einfacher zu bewerkstelligen

Hierfür ist natürlich die Systemextension EXT:openid erforderlich

Weitere Informationen über OpenID:http://openid.net

TYPO3 CMS 6.2 LTS - What’s New

Page 74: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im Backend

Arbeitsumgebung

Benutzer können nun selbst entscheiden, an wen dieBenachrichtigungen gesendet werden sollen

Der Reiter "All" ist nun für alle Benutzer (nicht nur für Admins) sichtbar

TYPO3 CMS 6.2 LTS - What’s New

Page 75: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Kapitel 4:

TSconfig & TypoScript

TYPO3 CMS 6.2 LTS - What’s New

Page 76: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

TypoScript inkludieren

Sämtliche Dateien eines Verzeichnisses (rekursiv) inkludieren:<INCLUDE_TYPOSCRIPT: source="DIR:directory">

<INCLUDE_TYPOSCRIPT: source="DIR:EXT:myextension/res/setup">

Reihenfolge der Inkludierung:alphabetisch, zuerst Dateien, dann Verzeichnisse

Mit der Option extensions="..." werden nur Dateien mit dieserEndung berücksichtigt<INCLUDE_TYPOSCRIPT: source="DIR:directory" extensions="ts">

Standardmäßig werden nur ts-, t3-, t3s-, t3c-, txt-Dateien inkludiert

Diese Liste ist im Install Tool konfigurierbar:$TYPO3_CONF_VARS[’SYS’][’tsfile_ext’]

TYPO3 CMS 6.2 LTS - What’s New

Page 77: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

TypoScript inkludieren

INCLUDE_TYPOSCRIPT unterstützt nun auch relative Pfade

Pfad der ersten Inkludierung muss absolut sein

./ verweist auf das aktuelle Verzeichnis der letzten Inkludierung

../ verweist auf das Elternverzeichnis des letzten Inkludierung

Zum Beispiel:<INCLUDE_TYPOSCRIPT: source="FILE:directory/typoscript/setup.ts">

<INCLUDE_TYPOSCRIPT: source="FILE:./filename.ts">

<INCLUDE_TYPOSCRIPT: source="FILE:../filename.ts">

<INCLUDE_TYPOSCRIPT: source="FILE:../directory/filename.ts">

TYPO3 CMS 6.2 LTS - What’s New

Page 78: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

strPad

Option stdWrap wurde zu strPad Eigenschaften hinzugefügtpage = PAGEpage.10 = TEXTpage.10 {

value = Hello World!strPad {

length = 5length {

current = 1setCurrent.data = TSFE:page|uidsetCurrent.wrap = | + 80prioriCalc = 1

}padWith = .

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 79: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

_DEFAULT_PI_VARS

stdWrap wurde zu _DEFAULT_PI_VARS hinzugefügt

_DEFAULT_PI_VARS dienen dazu, Default-Werte für piVars (zu einerExtension gehörende GET/POST-Variablen) zu setzen

TYPO3 vor Version 6.2:

plugin.tt_news._DEFAULT_PI_VARS {year = 2013

}

TYPO3 ab Version 6.2:

plugin.tt_news._DEFAULT_PI_VARS {year.stdWrap.data = date:Y

}

TYPO3 CMS 6.2 LTS - What’s New

Page 80: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Debug Ausgaben

Debug Register und Page per TypoScriptausgeben:

GLOBALS[’TSFE’]->registerGLOBALS[’TSFE’]->page

Zum Beispiel:

10 = LOAD_REGISTER10.variable = value

20 = TEXT20.data = debug:register

30 = TEXT30.data = debug:page

TYPO3 CMS 6.2 LTS - What’s New

Page 81: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Filelinks

Filelinks bieten eine Beschreibung, einen Titel und einen alternativenTitel für jede Datei. Auf sämtliche drei Werte kann nun per Registerzugegriffen werden:register:descriptionregister:titleTextregister:altText

Zum Beispiel:# filelinkstt_content.uploads.20 {

# link description instead of filenamelabelStdWrap.data = register:description# output alternative textitemRendering.20.data = register:titleText

}

TYPO3 CMS 6.2 LTS - What’s New

Page 82: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

stdWrap function: replacement (1)

Option replace der stdWrap-Funktion replacementunterstützt nun optionSplit

Beispiel 1:

10 = TEXT10.value = TYPO3_inspires_people_to_share10.replacement.10 {

search = _replace = 1 || 2 || 3useOptionSplitReplace = 1

}

Ausgabe:TYPO31inspires2people3to3share

TYPO3 CMS 6.2 LTS - What’s New

Page 83: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

stdWrap function: replacement (2)

Option replace der stdWrap-Funktion replacementunterstützt nun optionSplit

Beispiel 2:

10 = TEXT10.value = TYPO3 inspires people to share10.replacement.10 {

search = #(TYPO3|people|share)#ireplace = ${1} CMS || all ${1} || collaborate and ${1}useOptionSplitReplace = 1useRegExp = 1

}

Ausgabe:TYPO3 CMS inspires all people to collaborate and share

TYPO3 CMS 6.2 LTS - What’s New

Page 84: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

cObject FILE

cObject FILES wurde um die Register FILE_NUM_CURRENT undFILES_COUNT erweitertZum Beispiel:10 = FILES10 {

references {table = tt_newsuid.field = uidfieldName = media

}renderObj = COArenderObj {

10 = TEXT10.value = Renders first file twice10.if.isFalse.data = register:FILE_NUM_CURRENT20 = TEXT20.value = file {register:FILE_NUM_CURRENT} of {register:FILES_COUNT}20.insertData = 1

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 85: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Menü-Typ: Categories

Es gibt nun die Möglichkeit, ein Kategorien-Menü in TypoScript zuerstellen

Beispiel:page.20 = HMENUpage.20 {

special = categoriesspecial {

# comma-separated list of categoriesvalue = 1# sort by title (stdWrap)sorting = title# sorting "asc" or "desc" (stdWrap)order = desc1 = TMENU1.NO {

allWrap = <li> | </li>}

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 86: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

CSS and JavaScript files

splitChar kann nun auf allWrap Eigenschaften angewandt werden

"wrap" funktioniert nun wie die stdWrap.wrap Methode

Standard splitChar-Zeichen ist das Pipe-Symbol: |

Diese Erweiterung gilt für:

includeCSSincludeJSlibsincludeJSFooterlibsincludeJSincludeJSFooter

TYPO3 CMS 6.2 LTS - What’s New

Page 87: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Conditions

Condition userFunc erlaubt die Angabe von mehreren ArgumentenTYPO3 vor Version 6.2:[userFunc = user_function(argument1)]

TYPO3 ab Version 6.2:[userFunc = user_function(argument1, argument2, ...)]

Zum Beispiel:[userFunc = user_match(checkSubnet, 192.168)]

function user_match($command, $subnet) {switch($command) {

case ’checkSubnet’:if (strstr(getenv(’REMOTE_ADDR’), $subnet)) { ... }

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 88: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Conditions

Application Context kann nun auch per Condition abgefragt werden

Wildcards "+", "*", sowie reguläre Ausdrücke werden unterstützt

Zum Beispiel:[applicationContext = Development/Debugging, Development/Profiling]

# TYPO3 site in development stage[global]

[applicationContext = Production*]# TYPO3 site in production stage# for example "Production/Live" or "Production/Staging"

[global]

[applicationContext = /^TestServer\d+$/]# TYPO3 site on TestServer1 or TestServer2 or TestServer3, etc.

[global]

TYPO3 CMS 6.2 LTS - What’s New

Page 89: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Conditions

Mittels devIP kann auf die im Install Tool eingetragene devIpMaskgeprüft werden

Zum Beispiel:

[IP = devIP]page.10 = TEXTpage.10.value = Hello Developer!

[global]

TYPO3 CMS 6.2 LTS - What’s New

Page 90: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Datensätze ohne Standard Sprache

Neue Option includeRecordsWithoutDefaultTranslationermittelt Datensätze, die keine Entsprechung in der Default-Sprachehaben, aber deren languageField der aktuellen Sprache entspricht

Zum Beispiel:

pageContent = CONTENTpageContent {

table = tt_contentselect.includeRecordsWithoutDefaultTranslation = 1...

}

TYPO3 CMS 6.2 LTS - What’s New

Page 91: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

cObject FILES

cObject FILES verfügt nun über die Eigenschaften begin und maxItemsZum Beispiel:page.10 = FILESpage.10 {

references {table = pagesuid.data = page:uidfieldName = media

}

# retrieve up to 5 files, beginning at the first (0):begin = 0maxItems = 5

renderObj = TEXTrenderObj {

data = file:current:sizewrap = <p>File size:<strong>|</strong></p>

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 92: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Seitenbaum manipulieren

Bestimmte Doktypes können vom Seitenbaum ausgeschlossen werden

Jenes erfolgt über die Einstellung excludeDoktypes in derUserTSconfig und ist somit Benutzer und Gruppen-spezifisch

Zum Beispiel:

# exclude "folder" pagesoptions.pageTree.excludeDoktypes = 254

# exclude "folder" and "standard" pagesoptions.pageTree.excludeDoktypes = 254,1

TYPO3 CMS 6.2 LTS - What’s New

Page 93: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Module im BE ausblenden

Man kann nun einzelne Module im Backend ausblenden

Der Zugriff darauf wird allerdings nicht eingeschränkt(hierfür verwendet man nach wie vor die Berechtigungseinstellungen fürBE-Benutzer und -Gruppen)

Zum Beispiel:options.hideModules = file, help

options.hideModules.web := addToList(func,info)

options.hideModules.system = BelogLog

TYPO3 CMS 6.2 LTS - What’s New

Page 94: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Domain für Vorschau

Im PageTSconfig ist es nun möglich, eine Domain anzugeben, die für dieAnzeige verwendet wird

Jenes ist beispielsweise für Multi-Domain-Sites nützlich

Zum Beispiel:TCEMAIN.viewDomain = example.com

TYPO3 CMS 6.2 LTS - What’s New

Page 95: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Conditions in Backend-Layouts

Innerhalb von Backend-Layouts können nun auch Conditionsverwendet werdenbackend_layout {

colCount = 2rowCount = 1rows {

1 {columns {

1.name = Main1.colPos = 02.name = Right2.colPos = 1

}}

}}

[PIDupinRootline = 123]# remove right column in branch of page ID 123backend_layout.rows.1.columns.2 >

[global]

TYPO3 CMS 6.2 LTS - What’s New

Page 96: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

TSconfig & TypoScript

Diverses

Der "Passwort vergessen" Link kann nun über die OptionshowForgotPassword gezielt ein- und ausgeschaltet werden.Jenes ist sinnvoll, wenn sich mehrere Login-Formulare auf einer Seitebefinden.

HTTP Antwort beinhaltet standardmäßig den Header Content-length

Jenes läßt sich durch folgende Option beeinflussen:config.enableContentLengthHeaderBeschleunigt das Rendering, wenn "Pipelining" im Apache aktiviert ist

Ergebnisliste der EXT:indexed_search hat nun stdWrap-Eigenschaften(Option: plugin.tx_indexedsearch.resultlist_stdWrap)

TYPO3 CMS 6.2 LTS - What’s New

Page 97: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Kapitel 5:

Package Management

TYPO3 CMS 6.2 LTS - What’s New

Page 98: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Package Manager

Der Package Manager von TYPO3 Flow wurde zu TYPO3 CMS portiert

Planung wurde bereits während der TYPO3 CMS 6.1 Entwicklungbegonnen

Vereinheitlicht die Paket-Formate

Extensions sind damit nur eine spezielle Art von "Packages"

Hauptziele des Projekts:

Saubere API für Package ManagementUnterstützung von Vendor NamespaceUnterstützung von Composer PackagesUnterstützung von Flow PackagesÜberarbeitung des Autoloaders

TYPO3 CMS 6.2 LTS - What’s New

Page 99: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Integration des Package Managers

Entfernung des Schlüssels $TYPO3_CONF[’EXT’][’extListArray’]aus der Datei typo3conf/LocalConfiguration.phpInhalt der Datei LocalConfiguration.php wird umkopiert nachtypo3conf/LocalConfiguration.beforePackageStatesMigration.php

Datei typo3conf/PackageStates.php enthält:Status der Packages (aktiv/inaktiv)Positionen der Extensions im Filesystem

Extensions in folgenden Verzeichnissen werden automatisch erkannt:

typo3/sysext/typo3/ext/typo3/contrib/

typo3conf/ext/Packages/ (rekursiv)

TYPO3 CMS 6.2 LTS - What’s New

Page 100: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Integration des Package Managers

Jede Extension erhält zwei zusätzliche Dateien:composer.jsonClasses/Package.php

Wenn die Extension "required" ist, wird jenes über ein protected Flagin der Datei composer.json gesetztWenn die Extension "required" ist, wird jendes über die Eigenschaftprotected $protected in der Datei Classes/Package.php gesetztFehlt die Datei PackageStates.php, wird sie neu erstellt und enthältExtensions, bei denen die Eigenschaft auf TRUE stehtAutoloader bekommt ein eigenes Caching-BackendWeitere Informationen:http://wiki.typo3.org/Blueprints/Packagemanager

TYPO3 CMS 6.2 LTS - What’s New

Page 101: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Integration des Package Managers

Beispiel: typo3conf/PackageManager.phpreturn array (’packages’ =>

array (’core’ =>

array (’manifestPath’ => ’’,’composerName’ => ’typo3/cms/core’,’state’ => ’active’,’packagePath’ => ’typo3/sysext/core/’,’classesPath’ => ’Classes/’,

),’workspaces’ =>

array (’manifestPath’ => ’’,’composerName’ => ’typo3/cms/workspaces’,’state’ => ’inactive’,’packagePath’ => ’typo3/sysext/workspaces/’,’classesPath’ => ’Classes/’,

),...

),’version’ => 4,

);

TYPO3 CMS 6.2 LTS - What’s New

Page 102: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Integration des Package Managers

Beispiel: composer.json{

"name": "typo3/cms-indexed-search","type": "typo3-cms-framework","description": "TYPO3 Core","homepage": "http://typo3.org","license": ["GPL-2.0+"],"version": "6.2.0","require": {

"typo3/cms-core": "*"},"replace": {

"indexed_search": "*"}

}

TYPO3 CMS 6.2 LTS - What’s New

Page 103: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Package Management

Integration des Package Managers

Packages können auch zur Laufzeit aktiviert werden:$GLOBALS[’TYPO3_CONF_VARS’][’EXT’][’runtimeActivatedPackages’] =

array( packageKey );

Der Schlüssel wird unmittlbar nach der Initialisierung des PackageManagement aktiviert

TYPO3 CMS 6.2 LTS - What’s New

Page 104: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Kapitel 6:

Änderungen im System

TYPO3 CMS 6.2 LTS - What’s New

Page 105: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Normalize.css

Das Backend nutzt nun normalize.css, dass dafür sorgt, dassBrowser Elemente einheitlich unter Zuhilfenahme von modernenWebstandards dargestellt werden

HTML5-ready und eine Alternative zu traditionellen CSS Reset Lösungen

Ziele von normalize.css sind:

Beibehaltung sinnvoller Voreinstellungen, anstatt diese nur zuüberschreibenNormalisierung von Styles für diverse HTML ElementeBehebung von Bugs und übliche Browser-InkonsistenzenUsability-Steigerung durch raffinierte VerbesserungenGute Dokumentation und Inline-Comments

TYPO3 CMS 6.2 LTS - What’s New

Page 106: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

TCA: displayCond Options BIT und !BIT

TCA displayCond bitweise gegen Multi-Value-Felder testenBIT: Bit ist gesetzt, !BIT: Bit ist nicht gesetzt

Angenommen sei

folgendes TCA:

’content’ => array(’label’ => ’...’,’config’ => array(

’type’ => ’check’,’items’ => array(

array(’Content A’, ’’),array(’Content B’, ’’),array(’Content C’, ’’),

),)

),

Anwendungs-

beispiele:

’content_a’ => array(’label’ => ’...’,’displayCond’ => ’FIELD:content:BIT:1’,’config’ => array(

’type’ => ’text’,)

),

’content_b’ => array(’label’ => ’...’,’displayCond’ => ’FIELD:content:!BIT:2’,’config’ => array(

’type’ => ’text’,)

),

TYPO3 CMS 6.2 LTS - What’s New

Page 107: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Automatisches Update für Sprachen

Ein Extbase Command Controller ermöglicht das automatische Updatevon Sprachen für Extensions:

$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’extbase’][’commandControllers’][] =’TYPO3\\CMS\\Lang\\Command\\LanguageCommandController’;

Ein möglicher Aufruf wäre:typo3/cli_dispatch.phpsh extbase language:update de,en,fr

Eine komma-separierte Liste von Locales (e.g. de,en,fr) aktualisiertlediglich diese Sprachen

Ohne dieses Argument werden alle Sprachen aktualisiert, die im Modul"Sprache" ausgewählt sind

TYPO3 CMS 6.2 LTS - What’s New

Page 108: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

System Extension: ReST Manuals

Manuals sämtlicher System Extensions wurde zu reStructuredTextmigriert

OpenOffice Manuals werden nicht länger benötigt und wurde entfernt

ReST ist ein leicht zu lesendes, "what-you-see-is-what-you-get",Text-basiertes Format

ReST Dateien von System Extensions liegen unter:typo3/sysext/<extensionkey>/Documentation/*

Weitere Information unter:http://de.wikipedia.org/wiki/ReStructuredTexthttp://wiki.typo3.org/ReST

TYPO3 CMS 6.2 LTS - What’s New

Page 109: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Eigene Übersetzungsserver für Extensions

Durch XLIFF und einem neuen Signal/Slot können nun eigeneÜbersetzungsserver für Extensions eingesetzt werden(nächste Slide zeigt ein Beispiel)

Eine mögliche Lösung für einen Übersetzungsserver: Pootle

Online Translation Management Toolgeschrieben in Python/Djangooriginal entwickelt und veröffentlicht von translate.org.zafreigegeben unter GNU GPL

TYPO3 CMS 6.2 LTS - What’s New

Page 110: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Eigene Übersetzungsserver für Extensions

Beispiel: EXT:myextension/localconf.php/*** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher*/

$signalSlotDispatcher =\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(

’TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher’);

$signalSlotDispatcher->connect(’TYPO3\\CMS\\Lang\\Service\\UpdateTranslationService’,’postProcessMirrorUrl’,’Company\\Extension\Slots\\CustomMirror’,’postProcessMirrorUrl’

);

TYPO3 CMS 6.2 LTS - What’s New

Page 111: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Eigene Übersetzungsserver für Extensions

Beispiel: EXT:myextension/Classes/Slots/CustomMirror.php<?phpnamespace Company\Extensions\Slots;class CustomMirror {

/*** @var string*/

protected static $extKey = ’myextension’;

public function postProcessMirrorUrl($extensionKey, &$mirrorUrl) {if ($extensionKey === self::$extKey) {

$mirrorUrl = ’http://example.com/typo3-packages/’;}

}

}

TYPO3 CMS 6.2 LTS - What’s New

Page 112: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Eigene Übersetzungsserver für Extensions

Vorausgesetzte Datei/Verzeichnis-Struktur auf dem Server:

http://example.com/typo3-packages/‘-- <first-letter-of-extension-key>

‘-- <second-letter-of-extension-key>‘-- <extension-key>-l10n

|-- <extension-key>-l10n-de.zip|-- <extension-key>-l10n-fr.zip|-- <extension-key>-l10n-it.zip‘-- <extension-key>-l10n.xml

Zum Beispiel:

http://example.com/typo3-packages/m/y/myextension-l10n/myextension-l10n.xml

TYPO3 CMS 6.2 LTS - What’s New

Page 113: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Eigene Übersetzungsserver für Extensions

Beispiel: <extension-key>-l10n.xml<?xml version="1.0" standalone="yes" ?>

<TERlanguagePackIndex><meta>

<timestamp>1374841386</timestamp><date>2013-07-26 14:23:06</date>

</meta><languagePackIndex><languagepack language="de">

<md5>1cc7046c3b624ba1fb1ef565343b84a1</md5></languagepack><languagepack language="fr"><md5>f00f73ae5c43cb68392e6c508b65de7a</md5>

</languagepack><languagepack language="it"><md5>cd59530ce1ee0a38e6309544be6bcb3d</md5>

</languagepack></languagePackIndex>

</TERlanguagePackIndex>

TYPO3 CMS 6.2 LTS - What’s New

Page 114: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Automatisierter t3d Import

Extensions können während ihrer Installation nun automatischt3d Packages importieren

t3d Packages beinhalten zum Beispiel Daten, Relationen, Dateien, usw.

Die t3d Datei muss data.t3d lauten und sich in folgendem Verzeichnisbefinden: EXT:myextension/Initialisation/

Der Import geschieht nur einmalig, selbst wenn die Extension spätererneut installiert werden sollte

TYPO3 CMS 6.2 LTS - What’s New

Page 115: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Automatisierter Datei Import

Extensions können während ihrer Installation nun automatischDateien importieren

Dateien werden bereit gestellt unter:EXT:myextension/Initialisation/Files/...

Dateien werden während der Extension-Installation kopiert nach:fileadmin/<extensionkey>/

Der Import geschieht nur einmalig, selbst wenn die Extension spätererneut installiert werden sollte

TYPO3 CMS 6.2 LTS - What’s New

Page 116: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Extensions als Repositories nutzen

Manchmal hängen Extensions von Extensions ab, die verändertund/oder angepasst wurden, oder von Extensions, die nicht imoffiziellen TYPO3 Extension Repository (TER) veröffentlicht wurden

Um diese Abhängigkeiten aufzulösen, können Extensions nun andereExtensions enthalten:EXT:myextension/Initialisation/Extensions/...

Während der Installation werden diese kopiert nach:typo3conf/ext/

Anschließend werden weitere Abhängigkeiten der Extension aufgelöst

TYPO3 CMS 6.2 LTS - What’s New

Page 117: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

(De-)Installation von Extensions über CLI

Extensions können nun via Command Line Interface (CLI), also über dieKommandozeile, installiert und de-installiert werden

Beispiele:typo3/cli_dispatch.phpsh extbase extension:install <extensionkey>

typo3/cli_dispatch.phpsh extbase extension:uninstall <extensionkey>

Anmerkung: Backend-Benutzer _cli_lowlevel muss hierfür existieren!

TYPO3 CMS 6.2 LTS - What’s New

Page 118: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

TCA: Kaskadierendes Löschen von Datensätzen

Im TCA gibt es nun eine Einstellung, die es erlaubt, das kaskadierendeLöschen von Kind-Datensätzen ein- bzw. auszuschaltenDafür muss die Relation vom Typ "inline" seinStandardwert ist TRUE(d.h. beim Löschen eines Datensatzes werden die Kind-Datensätzeautomatisch mitgelöscht)

Beispiel (Deaktivierung der Löschung von Kind-Datensätzen):...’type’ => ’inline’,’foreign_table’ => ...,

’behaviour’ => array(’enableCascadingDelete’ => 0

)...

)...

TYPO3 CMS 6.2 LTS - What’s New

Page 119: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Mehrere Kategorien pro Tabelle

Bisher konnte nur ein makeCategorizable()-Aufruf per Tabelleausgeführt werden(weitere Aufrufe überschrieben die vorhergehenden)

Seit TYPO3 CMS 6.2 können beliebig viele solcher Felder existierenBeispiel:\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(

$extensionKey,$tableName,$fieldName = ’categories’,$options = array(’label’ => ’my category’

));

Mit $options kann ein eigenes Label für das Feld eingebracht werden

TYPO3 CMS 6.2 LTS - What’s New

Page 120: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Data Provider für Backend Layouts

In TYPO3 vor Version 6.2 werden Backend Layouts ausschließlich in derDatenbank gespeichert

Seit TYPO3 ab Version 6.2 können sogenannte Data Provider definiertwerden(Extensions können somit ihre eigenen Backend Layout Definitionen liefern)

Data Provider müssen das folgende Interface implementieren:TYPO3\\CMS\\Backend\\View\\BackendLayout\\DataProviderInterface

und werden wie folgt registriert:

$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’BackendLayoutDataProvider’][$_EXTKEY] = ’Classname’;

TYPO3 CMS 6.2 LTS - What’s New

Page 121: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Backend Layout Data Providers

Zudem gibt es neue API-Befehle für das Backend Layout Handling, z.B.:

’itemsProcFunc’ => ’TYPO3\\CMS\\Backend\\View\\BackendLayoutView->addBackendLayoutItems’

getBackendLayoutView()->getSelectedCombinedIdentifier($id);getBackendLayoutView()->getSelectedBackendLayout();

PageTSconfig Option, um Backend Layouts von der Zuweisungauszuschließen:

options.backendLayout.exclude = default_1, my_extension__headerLayout

TYPO3 CMS 6.2 LTS - What’s New

Page 122: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Multiple Value Selector (1)

Ein Filter ermöglicht es, Einträge in einem Multi-Select Feldauszublenden, um die Suche deutlich zu vereinfachen

Dafür muss das TCA entsprechend angepasst werden(z.B. in der Datei typo3conf/extTables.php):$GLOBALS[’TCA’][’fe_users’][’columns’][’usergroup’][’config’]

[’enableMultiSelectFilterTextfield’] = TRUE;

$GLOBALS[’TCA’][’fe_users’][’columns’][’usergroup’][’config’][’multiSelectFilterItems’] = array(

array(’’, ’show all’), // no filterarray(’test’, ’test’), // first value: filter, second value: label

array(’TYPO3’,’LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_myext.label.typo3’

),);

TYPO3 CMS 6.2 LTS - What’s New

Page 123: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Multiple Value Selector (2)

Zwei Optionen stehen zur Verfügung:

Auswahl aus einer Dropdown Box mit vordefinierten BegriffenTextfeld zur Eingabe eines Such/Filter-Begriffes

Das Ergebnis könnte dann beispielsweise wie folgt aussehen:

TYPO3 CMS 6.2 LTS - What’s New

Page 124: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Cache Gruppen (1)

Der TYPO3 Core nutzt nun zwei verschiedene Cache Gruppen:

System Caches: class loading cache, configuration cache, l10n_cache,extbase_object, extbase_reflection etc.Frontend Caches: cHash cache, page cache, page section cache

In TYPO3 vor 6.2 leerte clear all caches sämtliche Caches (nicht ideal)

In TYPO3 ab 6.2 macht der Core Gebrauch von zwei Cache Gruppen:"pages" für alle Seiten-relavanten Caches und "system", welches fürCompile-Time und Konfigurations-Caches zuständig ist

TYPO3 CMS 6.2 LTS - What’s New

Page 125: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Cache Groups (2)

Entsprechende Konfigurationsoption:(in den Dateien: LocalConfiguration.php/DefaultConfiguration.php)’cache_hash’ => array(

’frontend’ => ’TYPO3\CMS\Core\Cache\Frontend\VariableFrontend’,’backend’ => ’TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend’,’options’ => array(),’groups’ => array(’pages’, ’all’)

),

"Flush all caches" leert nicht mehr System Caches(nur "Clear Configuration Cache" oder das Install Tool leert diese)

Neue userTSconfig Option ermöglicht es Nicht-Admins System Cacheszu leeren:options.clearCache.system = 1

BREAKING CHANGE!

TYPO3 CMS 6.2 LTS - What’s New

Page 126: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

TCA: Anzahl Aktivierte Checkboxen

TCA erlaubt nun die Prüfung/Limitierung der Anzahl aktivierterCheckboxen

maximumRecordsChecked:Limitiert die maximale Anzahl Datensätze von der selben TabellemaximumRecordsCheckedInPid:Limitiert die maximale Anzahl Datensätze auf der selben PID (parent ID)

Wählt der Backend Benutzer weitere Checkboxen nach dem erreichender maximal zulässigen Anzahl aus, so werden diese wieder deaktiviertExample:$tcaConfiguration = array(

’type’ => ’check’,’eval’ => ’maximumRecordsChecked’,’validation’ => array(

’maximumRecordsChecked’ => 5)

);

TYPO3 CMS 6.2 LTS - What’s New

Page 127: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

TCA: MM_oppositeUsage Eigenschaft

Wenn ein sys_category Datensatz kopiert wird, wird eine neueMM-Referenz angelegt, allerdings ohne den "fieldname" zu setzen

Der Wert wird prinzipiell von der Gegenseite mittels MM_match_fieldsdefiniert, auf den man allerdings bislang nicht zugreifen konnte

Um dieses Problem zu lösen, wurde die neue EigenschaftMM_oppositeUsage eingeführt:’config’ => array(

’allowed’ => ’*’,’MM’ => ’tx_myextension_first_second_mm’,’MM_oppositeUsage’ => array(

’tt_content’ => array(’somefield’),’tx_myextension_domain_model’ => array(’some_property’),

),),

TYPO3 CMS 6.2 LTS - What’s New

Page 128: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

Eigene Record-List:Es ist nun möglich, eine eigene Record-List im Element-Browser zuverwenden und die Standard Record-List damit zu überschreiben.

Mehr Untergruppen:Das Attribute subgroup in der Datenbank-Tabelle be_groups wurde vonvarchar(250) zu text geändert, was die mögliche Anzahl vonUntergruppen für Backend Benutzer deutlich steigert.

Zusammengeführte TS/Template Extensions:Technisch gesehen war "WEB > Template" bisher auf mehrere Extensionsverteilt (tstemplate_ceditor, tstemplate_info, tstemplate_objbrowser undtstemplate_analyzer). Diese wurden nun in eine einzige Extensionzusammengeführt: "tstemplate".

TYPO3 CMS 6.2 LTS - What’s New

Page 129: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

label_userFunc_options:Die TCA-Option label_userFunc_options wurde zur KlasseBackendUtility hinzugefügt.Dateinamen von Extensions:Wenn eine Extension im Extension Manager heruntergeladen wird, enthält derDateiname nun den aktuellen Zeitstempel (Jahr, Monat, Tag und Zeit):<extensionKey>_<version>_<timestamp>.zipmyextension_1.0.0_201403252359.zipEXT:saltedpasswords:Die EXT:saltedpasswords ist nun für das Backend standardmäßig aktiviert.Jenes erzwingt salted Passwörter für die Anmeldung am Backend. Das InstallTool prüft die Konfiguration und passt sie entsprechend an, sofernerforderlich.

TYPO3 CMS 6.2 LTS - What’s New

Page 130: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

SignalSlots können Parameter manipulieren:Parameter, die an einen SignalSlot-Dispatcher übergeben werden, können nunverändert werden und der Dispatcher liefert diese modifizierten Argumenteauch wieder zurück.

Vorschau einer Arbeitsumgebung:Sämtliche HTTP Parameter werden nun in der Arbeitsumgebungs-Vorschau(Workspace Preview) berücksichtigt. Jenes war ein Problem in TYPO3 CMS vor6.2, wenn Extensions nicht wie erwartet funktionierten, da sie auf bestimmteParameter angewiesen waren.

TCEforms PlaceHolder feature:Das bereits in TYPO3 CMS 4.7 eingeführte PlaceHolder Feature der TCEformsfunktioniert nun rekursive (z.B. __row|uid_foreign|field).

TYPO3 CMS 6.2 LTS - What’s New

Page 131: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

Icons mit hoher Auflösung:Der Sprite-Generator unterstützt nun Icons mit doppelter Auflösung. Ererzeugt eine zweite Datei, die das Suffix @x2.png trägt, und die die hoheAuflösung enthält. Über CSS3 wird dafür gesorgt, dass die hochauflösendenIcons auf Geräten dargestellt werden, die jenes unterstützen, ohne diePerformance auf anderen Geräten zu beeinflussen.

Proxy NTLM Authentifizierung:Unterstützung von Proxy NTLM Authentifizierung (NT LAN Manager: eineSammlung von Microsoft Sicherheitsprotokollen). Jenes kann über das InstallTool aktiviert werden:$GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’curlProxyNTLM’]

(Anmerkung: dieses Feature wurde vor über 8 Jahren vorgeschlagen :-)

TYPO3 CMS 6.2 LTS - What’s New

Page 132: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

cookieHttpOnly standardmäßig:Um Session Cookies nur noch über das HTTP Protokoll zugänglich zu machen,ist cookieHttpOnly nun standardmäßig aktiviert.Das bedeutet, dass die Cookies "fe_typo_user" und "be_typo_user" nicht mehrüber Scriptsprachen (z.B. JavaScript) zugänglich sind, was den Schutz vor XSS(Cross Site Scripting) Angriffen verbessert. Allerdings unterstützen ältereBrowser diese Technologie nicht.

Aufgeräumte Datenbanktabellen:Die folgenden Attribute wurden von der Tabelle tt_content entfernt (diesewerden schon seit TYPO3 4.0 nicht mehr verwendet): text_align,text_face, text_size, text_color, text_properties.

TYPO3 CMS 6.2 LTS - What’s New

Page 133: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Änderungen im System

Diverses

HTML Tidy entfernt:Die HTML Tidy Funktionalität wurde vom TYPO3 Core entfernt, kann aber durchdie Extension EXT:tidy ohne Probleme wiederhergestellt werden.

dontSetCookie entfernt:Da das Cookie "fe_typo_user" nur gesetzt wird, sofern benötigt (und nichtmehr immer), wurde die Install Tool Option dontSetCookie irrelevant unddaher entfernt.

"Wizard" Scripts entfernt:Die folgenden "Wizard" Scripts wurden entfernt: typo3/wizard_add.php,typo3/wizard_colorpicker.php, typo3/wizard_edit.php,typo3/wizard_forms.php, typo3/wizard_list.php,typo3/wizard_rte.php, typo3/wizard_table.php

TYPO3 CMS 6.2 LTS - What’s New

Page 134: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Kapitel 7:

Application Programming Interface(API)

TYPO3 CMS 6.2 LTS - What’s New

Page 135: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Hook: tsfe::checkEnableFields

In TYPO3 CMS vor 6.2 kann das Feature "auf Unterseiten ausdehnen"(extend to subpages) nicht in eigenen Extensions verwendet werden,um zusätzliche Regeln für die Sichtbarkeit von Seiten bereitzustellen(Liste der zu prüfenden Felder ist hard-coded in tsfe::checkEnableFields())

In TYPO3 CMS ab 6.2 kann durch einen neuen Hook diese Liste beliebigerweitert werden

Klasse:\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController

$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’tslib/class.tslib_fe.php’][’hook_checkEnableFields’]

TYPO3 CMS 6.2 LTS - What’s New

Page 136: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Hook: checkFlexFormValue im DataHandler

In TYPO3 CMS vor 6.2 wird vor dem Speichern von FlexForm-Daten nichtgeprüft, ob der Wert selbst bereits aus der Datenbank gelöscht wurdeJenes ist problematisch, wenn SwitchableControllerActions (Extbase)verwendet werden: alte Actions, die es nicht mehr gibt, müssenmanuell aus der Datenbank entfernt werdenIn TYPO3 CMS ab 6.2 können mit einem neuen Hook FlexForm-Daten vordem Speichern verändert werdenKlasse:\TYPO3\CMS\Core\DataHandling\DataHandler

$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’t3lib/class.t3lib_tcemain.php’][’checkFlexFormValue’]

Methode:checkFlexFormValue_beforeMerge()

TYPO3 CMS 6.2 LTS - What’s New

Page 137: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Hook für den Header im PageLayoutController

Mit diesem Hook kann der Header einer Seite im Modul "Web > Page"erweitert werden

Der Hook wird ausgeführt, bevor der Seiteninhalt gerendert wird

Klasse:\TYPO3\CMS\Backend\Controller\PageLayoutController

$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’cms/layout/db_layout.php’][’drawHeaderHook’]

Methode:callUserFunction()

TYPO3 CMS 6.2 LTS - What’s New

Page 138: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

IRRE: Defaults für erzeugte Werte

Für IRRE Datensätze gibt es eine neue TCA-Option für "inline" Felder

Über foreign_record_defaults können Default-Werte für erzeugteDatensätzen gesetzt werden

’config’ => array(’type’ => ’inline’,’foreign_table’ => ’tt_content’,’foreign_record_defaults’ => array(

’CType’ => ’image’),

)

Beispiel oben: tt_content-Elemente, die für dieses IRRE Feld erstelltwurden, sind standarmäßig image-Inhaltselemente (jedoch könnenRedakteure diese natürlich vor dem Speichern ändern)

TYPO3 CMS 6.2 LTS - What’s New

Page 139: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Arbeitsumgebung (1)

In TYPO3 CMS vor 6.2 kann das Modul Arbeitsumgebung ("Workspaces")nur durch das Überschreiben von PHP und JavaScript Komponentenerweitert werden

In TYPO3 CMS ab 6.2 ist es nun möglich, die Definitionen und dasVerhalten der dargestellten Spalten des Moduls zu manipulieren

Einige Beispiele auf den folgenden Slides...

TYPO3 CMS 6.2 LTS - What’s New

Page 140: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Arbeitsumgebung (2)

Beispiel (Datei ext_localconf.php):$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]

[’t3lib/class.t3lib_tcemain.php’][’processCmdmapClass’][’workspaces_logger’] =’Vendor\\WorkspacesLogger\\Hook\\DataHandlerHook’;

Beispiel (Datei ext_tables.php):\TYPO3\CMS\Workspaces\Service\AdditionalColumnService::getInstance()->register(

’WorkspacesLogger_StageChange’,’Vendor\\WorkspacesLogger\\DataProvider’

);

\TYPO3\CMS\Workspaces\Service\AdditionalResourceService::getInstance()->addJavaScriptResource(’WorkspacesLogger’,’EXT:myextension/Resources/Public/JavaScript/StageChange.js’

);

TYPO3 CMS 6.2 LTS - What’s New

Page 141: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Arbeitsumgebung (3)

Beispiel (Datei Vendor\WorkspacesLogger\Hook\DataHandlerHook):<?phpnamespace Vendor\WorkspacesLogger\Hook;use TYPO3\CMS\Core\SingletonInterface;

class DataHandlerHook implements SingletonInterface {

const TABLE_Name = ’tx_workspaceslogger_event’;const EVENT_SetStage = 91;

/*** hook that is called when no prepared command was found*/

public function processCmdmap($command, $table, $id, $value, &$commandIsProcessed,\TYPO3\CMS\Core\DataHandling\DataHandler $tcemainObj) {...$action = (string) $value[’action’];if ($command === ’version’ && $action === ’setStage’ && $commandIsProcessed) {

...}

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 142: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

PSR-3 kompatibles Logging

Die TYPO3 CMS 6.2 Logging API ist nun PSR-3 kompatibel

PSR-3 soll einen Standard für das Logging in PHP definieren(PHP Framework Interop Group)

Das Hauptziel von PSR-3 ist es, "dass Bibliotheken ein LoggerInterfaceObjekt erhalten und in einer einfachen und universellen WeiseProtokoll-Einträge in dieses schreiben"

LoggerInterface enthält Methoden, wie beispielsweisedebug(), warning(), notice(), alert(), error(), etc.

Weitere Informationen:http://www.php-fig.org/psr/3/

TYPO3 CMS 6.2 LTS - What’s New

Page 143: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

CSRF-geschützte Ajax Calls

Ajax Calls im TYPO3 Backend können nun wirksam gegen CSRF(Cross-Site Request Forgery) geschützt werden, indem deren Handlerregistriert wird\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler(

’TxMyExt::process’,’\Vendor\MyExt\AjaxHandler->process’

);

URL für die Ajax ID beinhaltet einen CSRF Token, der imajax.php-Dispatcher überprüft wird$ajaxUrl = \TYPO3\CMS\Core\Utility\BackendUtility::getAjaxUrl(’TxMyExt::process’);

Die Variable kann im JavaScript Kontext auf der Seite verwendet werdenvar ajaxUrl = TYPO3.settings.MyExt.ajaxUrl;

TYPO3 CMS 6.2 LTS - What’s New

Page 144: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Application Programming Interface

Diverses

Neue Methode canBeInterpretedAsFloat()in der Klasse MathUtility(analog zu: canBeInterpretedAsInteger())

Neuer Enumeration-Type (ohne die Verwendung von Modulen vonDrittanbietern): \TYPO3\CMS\Core\Type\Enumeration

Zum Beispiel verwendet in:\TYPO3\CMS\Core\Versioning\VersionState

...und dann im Code mittels:new VersionState(VersionState::DEFAULT_STATE);

TYPO3 CMS 6.2 LTS - What’s New

Page 145: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Kapitel 8:

Extbase & Fluid

TYPO3 CMS 6.2 LTS - What’s New

Page 146: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ObjectManager->getScope()

Über die Methode ObjectManager->getScope() kann nun überprüftwerden, ob eine Klasse vom Typ Prototype oder Singleton ist/*** @var \TYPO3\CMS\Extbase\Object\ObjectManagerInterface* @inject*/

protected $objectManager;

$this->objectManager->getScope($propertyTargetClassName) ===\TYPO3\CMS\Extbase\Object\Container\Container::SCOPE_PROTOTYPE

$this->objectManager->getScope($propertyTargetClassName) ===\TYPO3\CMS\Extbase\Object\Container\Container::SCOPE_SINGLETON

TYPO3 CMS 6.2 LTS - What’s New

Page 147: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Ermittlung des PageTypes in URIs

Das Attribut pageType ist nicht mehr erforderlich, wenn spezielleSeitentypen gerendert werdenTYPO3 vor Version 6.2:<f:link.action arguments="{blog: blog}" pageType="{settings.plaintextPageType}"

format="txt">[plaintext]</f:link.action></li>

Über eine neue TypoScript Option formatToPageTypeMapping kannein globales Mapping erreicht werdenplugin.tx_myextension {

view.formatToPageTypeMapping {txt = 99pdf = 123

}}

TYPO3 ab Version 6.2:<f:link.action arguments="{blog: blog}"

format="txt">[plaintext]</f:link.action></li>

TYPO3 CMS 6.2 LTS - What’s New

Page 148: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Object Type Converter (1)

Der in TYPO3 Flow eingeführte Object Type Converter wurde nachExtbase portiert

Damit ist es möglich, Arrays in nicht-persistente Objekte zukonvertieren

Einige Beispiele auf den folgenden Slides...

TYPO3 CMS 6.2 LTS - What’s New

Page 149: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Object Type Converter (2)

GET requesthttp://example.com/index.php?id=299

&tx_myextension[action]=list&tx_myextension[controller]=Entity&tx_myextension[demand][title]=foo&tx_myextension[demand][relation]=1

Entity controller: initializeListAction()use [Vendor]\myextension\Domain\Dto\Demand;public function initializeListAction() {

/*** @var PropertyMappingConfiguration $demandConfiguration*/

$demandConfiguration = $this->arguments[’demand’]->getPropertyMappingConfiguration();$demandConfiguration->allowAllProperties()->forProperty(’relation’)->allowAllProperties()->

setTypeConverterOption(’TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\PersistentObjectConverter’,PersistentObjectConverter::CONFIGURATION_CREATION_ALLOWED,TRUE

);}

TYPO3 CMS 6.2 LTS - What’s New

Page 150: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Object Type Converter (3)

Entity controller: listAction()use [Vendor]\myextension\Domain\Dto\Demand;/*** @var PropertyMappingConfiguration $demandConfiguration*/

public function listAction(Demand $demand = NULL) {$entities = $this->entityRepository->findAll();$this->view->assign(’entities’, $entities);

}

Model: [Vendor]\myextension\Domain\Dto\Demand.phpnamespace [Vendor]\myextension\Domain\Dto;use [Vendor]\myextension\Domain\Model\Relation;class Demand {

protected $relation;/*** @param \TYPO3Friends\MapperExample\Domain\Model\Relation $relation*/

public function setRelation($relation) {$this->relation = $relation;

}}

TYPO3 CMS 6.2 LTS - What’s New

Page 151: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Verketten von QuerySettings

Das Chaining (Verketten) von QuerySettings ist nun auch mit denOptionen setIncludeDeleted und setIgnoreEnableFieldsmöglich, die mit TYPO3 CMS 6.0 eingeführt wurden:$query->getQuerySettings()

->setRespectStoragePage(FALSE)->setRespectSysLanguage(FALSE)->setIgnoreEnableFields(TRUE)->setIncludeDeleted(TRUE);

TYPO3 CMS 6.2 LTS - What’s New

Page 152: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

RawQueryResults per Query

Bisher war es möglich, mittels folgendem Statement dafür zu sorgen,dass keine Objekte vom QueryManager rekonstruiert werden, sonderndass das Query-Ergebnis "roh" zurückgegeben wird:$query->getQuerySettings()->setReturnRawQueryResult(TRUE);

Diese Möglichkeit gibt es nicht mehr zentral, sondern man gibt dies perQuery im execute-Statement mittels TRUE an:$query->execute(TRUE);

TYPO3 CMS 6.2 LTS - What’s New

Page 153: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Rekursive Validierung

Extbase verwendet nun die von TYPO3 Flow portierte sogenannte"Rekursive Validierung"

Dies bedeutet, dass bei Erzeugung von verschachtelten Objekten(Objekt-Baum) durch den Property-Mapper auch die inneren Objektevalidiert werden und nicht nur das äußere Objekt, wie bisher

Zudem ist es nun möglich, leere (optionale) Werte zuzulassen. Will mandaher explizit erreichen, dass eine Eigenschaft angegeben werdenmuss, so muss der NotEmptyValidator verwendet werden

BREAKING CHANGE!

TYPO3 CMS 6.2 LTS - What’s New

Page 154: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Application Context

Der aktuelle Application Context (wird als UmgebungsvariableTYPO3_CONTEXT oder im Install Tool gesetzt) kann wie folgt abgefragtwerden:

\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->getContext();

\TYPO3\CMS\Core\Utility\GeneralUtility::getContext();

TYPO3 CMS 6.2 LTS - What’s New

Page 155: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: Image

Im Fluid ViewHelper image ist das Attribut title nun optional

Beispiel:

<f:image src="background.jpg" alt="Text" />

TYPO3 vor Version 6.2:

<img src="background.jpg" alt="Text" title="Text" />

TYPO3 ab Version6.2:

<img src="background.jpg" alt="Text" />

TYPO3 CMS 6.2 LTS - What’s New

Page 156: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: textfield und textarea

Die beiden ViewHelper form.textfield und form.textarea können nunmit den Argumenten autofocus und placeholder ausgestattetwerden

Beispiel ("placeholder"):

<f:form.textfieldid="powermail_field_{field.marker}"...placeholder="{field.title -> vh:string.RawAndRemoveXss()}"...name="field[{field.uid}]"required="{field.mandatory}" />

TYPO3 CMS 6.2 LTS - What’s New

Page 157: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: switch

Es gibt einen neuen Fluid ViewHelper switch, der der gleichnamigenPHP Funktion ähnelt:

<f:switch expression="{person.gender}"><f:case value="male">Mr.</f:case><f:case value="female">Mrs.</f:case><f:case default="TRUE">Mrs. or Mr.</f:case>

</f:switch>

Hinweis: die exzessive Verwendung dieses ViewHelpers könnte auf eineschlechte Architektur hindeuten. So könnte das Beispiel oben mit denentsprechenden Partials "title.male.html" und"title.female.html" auch wie folgt gelöst werden:

<f:render partial="title.{person.gender}" />

TYPO3 CMS 6.2 LTS - What’s New

Page 158: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: fileSize

Dieser ViewHelper konvertiert eine Byte-Angabe (in Form einesInteger-Wertes) in ein Menschen-lesbares Format

Beispiel 1 (fileSize = 1263616):

fileSize -> f:format.bytes()

Ausgabe: "1234 KB"

Beispiel 2 (fileSize = 1263616):

fileSize -> f:format.bytes(

decimals: 2,

decimalSeparator: ’.’,

thousandsSeparator: ’,’

)

Ausgabe: "1,234.00 KB"

TYPO3 CMS 6.2 LTS - What’s New

Page 159: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: format.date

Standardwert des ViewHelper format.date ist der im Install Toolkonfigurierte Wert$GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’ddmmyy’]

Ist kein Wert im Install Tool gesetzt, wird "Y-m-d" verwendet (Jahr,Monat, Tag)

TYPO3 CMS 6.2 LTS - What’s New

Page 160: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper Backend Container

Der Fluid ViewHelper backend container (be.container) wurdeüberarbeitet:typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php

Überholt (deprecated):

$addCssFile (wird abgelöst von: $includeCssFiles)$addJsFile (wird abgelöst von: $includeJsFiles)

Neu:

$loadJQuery$includeCssFiles$includeJsFiles$addJsInlineLabels

TYPO3 CMS 6.2 LTS - What’s New

Page 161: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

ViewHelper: button.icon

Fluid ViewHelper button.icon ist nicht mehr "experimentell"Liefert ein Button-Icon zurück (ggf. mit Link)

<f:be.buttons.iconicon="actions-document-new" title="Create new Foo" />

<f:be.buttons.icon uri="{f:uri.action(action:’new’)}"icon="actions-document-new" title="Create new Foo" />

Das Attribut icon unterstützt derzeit über 310 Werte!

Siehe:

$GLOBALS[’TBE_STYLES’][’spriteIconApi’][’coreSpriteImageNames’]

...in der Datei:

typo3/systext/core/ext_tables.php

TYPO3 CMS 6.2 LTS - What’s New

Page 162: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Option addQueryStringMethod

Option addQueryString unterstützt lediglich GET-Argumente, diedann an den erzeugten Link angehängt werden

POST-Argumente (wie sie z.B. bei Widgets vorkommen) funktionierenmit dieser Option allerdings nicht

Über die neue Option addQueryStringMethod kann nun definiertwerden, welche Parameter verwendet werden sollen:GET (default), POST, GET/POST oder POST/GET

Folgende ViewHelper wurden mit dieser Option ausgestattet:link.action

link.page

uri.action

uri.page

widget.link

widget.uri

widget.paginate

TYPO3 CMS 6.2 LTS - What’s New

Page 163: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Extbase & Fluid

Fluid: Template Fallback Pfad

Fluid erlaubt nun "Fallback" Pfade für Templates, Partials und Layouts:templateRootPaths, partialRootPaths, layoutRootPaths

Reihenfolge der Verzeichnisse, die geprüft werden: höchster Indexzuerst, dann Verzeichnisse mit ensprechend kleinerem Indexplugin.tx_myextension {

view {templateRootPath = EXT:myextension/Resources/Private/Templates/

}}

plugin.tx_myextension {view {

templateRootPath >templateRootPaths {

10 = fileadmin/myextension/Templates/20 = EXT:myextension/Resources/Private/Templates/

}}

}

TYPO3 CMS 6.2 LTS - What’s New

Page 164: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Upgrade zu TYPO3 CMS 6.2 LTS

Kapitel 9:

Upgrade zu TYPO3 CMS 6.2 LTS

TYPO3 CMS 6.2 LTS - What’s New

Page 165: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Upgrade zu TYPO3 CMS 6.2 LTS

Generelles Vorgehen

Anleitung zum Upgrade:http://wiki.typo3.org/Upgrade#Upgrading_to_6.2

Offizielles TYPO3 Guide "TYPO3 Installation and Upgrading":http://docs.typo3.org/typo3cms/InstallationGuide

Generelles Vorgehen:

Prüfen, ob das System die Mindestvoraussetzungen erfüllt(PHP, MySQL, usw.)deprecation_*.log der alten TYPO3 Installation durchsehenSämtliche Extensions auf den aktuellste Stand bringen(auf TYPO3 6.2 Kompatibilität achten)Installation: siehe Kapitel "Install Tool" in dieser Präsentation

TYPO3 CMS 6.2 LTS - What’s New

Page 166: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Upgrade zu TYPO3 CMS 6.2 LTS

Upgrade von TYPO3 CMS 4.5 LTS

Viele TYPO3 Installationen werden von der bisherigen LTS zur neuen LTSVersion aktualisieren (4.5 zu 6.2)Smooth Migration Project:

Hat sich zum Ziel gesetzt, die Migration von 4.5 zu 6.2 so unkompliziertwie möglich zu gestaltenLiefert Dokumentationen und sammelt Infos über mögliche Probleme inExtensions usw.http://forge.typo3.org/projects/typo3cms-smoothmigration

EXT:typo3-upgradereport:Hauptsächlich von Steffen Ritter entwickeltWird in einer TYPO3 CMS 4.5 LTS installiert und durchläuft etliche TestsMithilfe zur Optimierung der Extension ist natürlich erwünschthttps://github.com/nxpthx/typo3-upgradereport

TYPO3 CMS 6.2 LTS - What’s New

Page 167: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Upgrade zu TYPO3 CMS 6.2 LTS

Infos speziell für Redakteure

Fasst die wichtigsten Änderungen zwischen TYPO3 CMS 4.5 LTS undTYPO3 CMS 6.2 LTS zusammen

Zielgruppe: speziell Redakteure (nicht-technische End-Benutzer)

Soll außerdem Agenturen unterstützen:

Zur Vorbereitung auf Supportanfragen ihrer KundenZur Unterstützung bei Workshops, Seminaren, Schulungen, usw.

Dokument "What’s New for Editors" kann kostenlos runtergeladenwerden:http://typo3.org/download/release-notes/whats-new

TYPO3 CMS 6.2 LTS - What’s New

Page 168: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

MythBuster

Kapitel 10:

TYPO3 CMS 6.2 LTS - MythBuster

TYPO3 CMS 6.2 LTS - What’s New

Page 169: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

MythBuster

Mythen über TYPO3 CMS 6.2

TYPO3 CMS 6.2 LTS wird das letzte TYPO3 CMS Release sein �falsch!Die Wahrheit ist, dass trotz der Veröffentlichung von TYPO3 Neos die Entwicklung von

TYPO3 CMS fortgesetzt wird und dass es auch in Zukunft weitere Versionen geben wird.

Der TYPO3 Core wurde in 6.x komplett überarbeitet �falsch!Die Wahrheit ist, dass mit TYPO3 CMS 6.0 das PHP Konzept von "Namespaces" eingeführt

wurde, was neue Klassennamen zur Folge hat. Allerdings stellt eine Kompatibilitäts-

schicht in TYPO3 sicher, dass Entwickler noch weiterhin die bisherigen, veralteten

Klassennamen ohne Probleme in ihren Extensions verwenden können.

TYPO3 CMS 6.2 LTS - What’s New

Page 170: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

MythBuster

Mythen über TYPO3 CMS 6.2

Extensions, die für TYPO3 CMS 4.5 entwickelt wurden,funktionieren in 6.2 nicht mehr �falsch!Die Wahrheit ist, dass die Core API nicht vollständig geändert wurde und eine

Abwärtskompatibilität aufweist, die der Deprecation Policy entspricht. Die meisten

Extensions, die für TYPO3 CMS 4.5 entwickelt wurden, sind auch in TYPO3 CMS 6.2

lauffähig, ohne dass Modifikationen notwendig sind (oder nur geringe Anpassungen).

TemplaVoilà ist in TYPO3 6.2 nicht mehr lauffähig �falsch!Die Wahrheit ist, dass die Entwicklergemeinschaft an einer Version von TemplaVoilà

arbeitet, die auch mit TYPO3 CMS 6.2 kompatibel ist. Allerdings wird TemplaVoilà nicht

weiterentwickelt und TYPO3 Integratoren sollten für zukünftige Projekte Alternativen

in Erwägung ziehen.

TYPO3 CMS 6.2 LTS - What’s New

Page 171: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

MythBuster

Mythen über TYPO3 CMS 6.2

tslib_pibase-Extensions funktionieren nicht mehr �falsch!Die Wahrheit ist, dass die Klasse tslib_pibase auch in TYPO3 6.2 existiert, aber

aufgrund der zuvor erwähnten Namespace-Konvention einen neuen Namen trägt:

\TYPO3\CMS\Frontend\Plugin\AbstractPlugin.

Ein Klassenalias stellt sicher, dass auch der bisherige Name verwendet werden kann

(Abwärtkompatibilität).

DAM Records können nicht nach FAL migriert werden �falsch!Fakt ist, dass DAM nicht von TYPO3 6.x unterstützt wird. Allerdings bietet FAL eine API,

die dazu bestimmt ist, sämtliche DAM-Funktionalität abzubilden. Es gibt außerdem

eine DAM-to-FAL Migration Extension.

TYPO3 CMS 6.2 LTS - What’s New

Page 172: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

MythBuster

Mythen über TYPO3 CMS 6.2

Upgrade von 4.5 zu 6.2 mit einem Upgrade-Wizard �falsch!Gerüchten zufolge soll das "Smooth Migration" Projekt einen Upgrade-Wizard bereit

stellen, der eine TYPO3 Version 4.5 automatisch zu 6.2 aktualisiert. Die Wahrheit ist,

dass das Projekt das Ziel verfolgt, Information und Dokumentationen zu liefern, um

TYPO3 Integratoren bei dem Migrationsprozess zu unterstützen.

TYPO3 6.2 benötigt wesentlich bessere Hardware �falsch!Gerüchten zufolge soll TYPO3 6.2 zehn Mal langsamer als 4.5 sein. Die Wahrheit ist,

dass die Performance in den meisten Fällen identisch ist und sich die

Mindestanforderungen von TYPO3 CMS kaum geändert haben. Allerdings sollten

Systemadministratoren einen Hardware-Upgrade generell in Erwägung ziehen, da

TYPO3 4.5 bereits im Januar 2011 veröffentlicht wurde - also vor über 3 Jahren!

TYPO3 CMS 6.2 LTS - What’s New

Page 173: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Quellen und Autoren

Kapitel 11:

Quellen und Autoren

TYPO3 CMS 6.2 LTS - What’s New

Page 174: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Quellen und Autoren

Quellennachweis

TYPO3 News:http://typo3.org/news

Release Notes:http://wiki.typo3.org/TYPO3_6.2

http://typo3.org/download/release-notes/typo3-6-2-release-notes/

NEWS.txt und ChangeLog

TYPO3 Git Repositories:https://git.typo3.org/TYPO3v4/Core.git

https://git.typo3.org/TYPO3v4/CoreProjects/MVC/extbase.git

https://git.typo3.org/TYPO3v4/CoreProjects/MVC/fluid.git

TYPO3 CMS 6.2 LTS - What’s New

Page 175: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Quellen und Autoren

Quellennachweis

TYPO3 Bug-/Issuetracker:http://forge.typo3.org/projects/typo3v4-core/issues

Weitere Quellen:Responsive Image Community Grouphttp://responsiveimages.orgPackage Manager (Blueprint)http://wiki.typo3.org/Blueprints/PackagemanagerNormalize.csshttp://necolas.github.io/normalize.css/PHP Logging standard PSR-3http://www.php-fig.org/psr/psr-3/"LTS Smooth Migration" Projekthttp://forge.typo3.org/projects/typo3cms-smoothmigrationTYPO3 CMS 4.5 zu 6.2 Upgrade Reporthttps://github.com/nxpthx/typo3-upgradereport

TYPO3 CMS 6.2 LTS - What’s New

Page 176: TYPO3 CMS 6.2 LTS - What's New - Übersicht der neuen

Quellen und Autoren

TYPO3 CMS What’s New Slides:Patrick Lobacher (Recherche und Informationsdokumentation)Michael Schams (Englische/deutsche Version und Project Leader)

Übersetzungen von:Andrey Aksenov, Paul Blondiaux, Sergio Catala,Philippe Hérault, Sinisa Mitrovic, Michel Mix,

Roberto Torresani, Ric van Westhreenen, Christiaan Wiesenekker

http://typo3.org/download/release-notes/whats-new

Lizensiert unter Creative Commons BY-NC-SA 3.0

TYPO3 CMS 6.2 LTS - What’s New