SlideShare ist ein Scribd-Unternehmen logo
TYPO3 CMS 6.1 „Improve“
Die Neuerungen
Patrick Lobacher
CEO typovision GmbH
30.04.2013
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 2
TYPO3 CMS 6.1 „Improve“- Short facts
• Veröffentlicht: 30.04.2013
• End of Maintenance: 31.10.2014
(keine LTS - das wird 6.2 sein)
• Release Manager: Benni Mack
benni.mack(AT)typo3.org
@bennimack
• Hauptziele: Improving communication
Improving contribution
Improving the product
• Systemvoraussetzungen: PHP 5.3.7 - 5.4.x, MySQL 5.1.x-5.5.x
• Download: http://typo3.org/download/
Bildquelle: snowflake.ch
Einführung - „Improve“
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 3
TYPO3
Release Agenda
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 4
Bildquelle: typo3.org
TYPO3 Release Agenda
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 Release Agenda
January February March April May June July August September October November December
2013
TYPO3 6.1 alpha1
March 12th
TYPO3 6.1 beta1
April 3rd
TYPO3 6.1 beta2
April 10th
TYPO3 6.1 RC1
April 25th
TYPO3 6.1 Final Release
April 30th
TYPO3 6.1 Release
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 5
2011 April
TYPO3 Release Agenda
TYPO3 4.5 LTS
Main development
TYPO3 4.6
TYPO3 4.7
TYPO3 6.0
TYPO3 6.2 LTS
TYPO3 6.1
TYPO3 6.2 + 2
TYPO3 6.2 + 3
TYPO3 6.2 + 1
2012 April 2013 April 2014 April 2015 April 2016 April
Bildquelle: typo3.org
TYPO3 Release Agenda
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 6
Änderungen im
Backend
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 7
Header im New Content Element Wizard
Backend - Header im New Content Element Wizard
• Das Content-Element „Header Only“ kann nun im „New Content Element Wizard“ ausgewählt werden
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 < 6.1
TYPO3 >= 6.1
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 8
Context-Menü für Template Datensatz
Backend - Context-Menü für Template Datensatz
• Der Template-Datensatz im Modul „Template“ hat nun auf dem Icon ein Kontext-Menü
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 9
Delete-Button für Filelist
Backend - Delete-Button für Filelist
• Im Modul „Filelist“ wurde ein „Delete-Button“ integriert
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 < 6.1
TYPO3 >= 6.1
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 10
Confirmation Checkbox für FORM cObjekt
Backend - Confirmation Checkbox für FORM cObjekt
• Während man per TypoScript schon länger angeben konnte, dass das cObject FORM auch eine
Confirmation-Page anzeigen soll, wurde dies nun auch im Backendend als Checkbox beim Content-
Objekt FORM nachgeholt.
enctype = multipart/form-data
method = post
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
...
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 11
Extension Manager wurde leicht überarbeitet
Backend - Extension Manager wurde überarbeitet
• Der Extension Manager wurde erneut überarbeitet und präsentiert sich nun mit besserer Usability.
• Visuelles Feedback für Download
und Install wurde hinzugefügt
• Functionmenu für Manage/Get
• Direktlink für „Show all versions“
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 < 6.1
TYPO3 >= 6.1
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 12
Rewrite der Systemextension „sys_note“
Backend - Rewrite sys_note
• Die Systemextension sys_note wurde mittels Extbase/Fluid neu geschrieben
• Funktionell wurde fast nichts geändert (Edit-Button erst bei Hover).
• Es ist nun sehr einfach die Extension selbst zu erweitern und insbesondere das Layout
anzupassen:
# constants
module.tx_sysnote {
view {
# cat=Internal Notes/general/1000; type=string; label=Layout Root Path: Path to layouts
layoutRootPath = EXT:sys_note/Resources/Private/Layouts/
# cat=Internal Notes/general/1010; type=string; label=Partial Root Path: Path to partials
partialRootPath = EXT:sys_note/Resources/Private/Partials/
# cat=Internal Notes/general/1020; type=string; label=Template Root Path: Path to templates
templateRootPath = EXT:sys_note/Resources/Private/Templates/
}
}
# setup
module.tx_sysnote {
view {
layoutRootPath = {$module.tx_sysnote.view.layoutRootPath}
templateRootPath = {$module.tx_sysnote.view.templateRootPath}
partialRootPath = {$module.tx_sysnote.view.partialRootPath}
}
}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 13
Scheduler
Backend - Scheduler
• Die Scheduler-Übersicht wurde überarbeitet
• Man kann nun einen Task aus der Übersicht über ein Icon starten
• Ein Task wird zudem ausgewählt, wenn man irgendwo in der Zeile klickt
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 < 6.1
TYPO3 >= 6.1
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 14
Scheduler Emails bei System Status Update
Backend - Scheduler Email
• Im Scheduler Task „System Status Update“ war es bislang lediglich möglich eine Email-Adresse
zu hinterlegen
• Dies wurde nun insofern geändert, dass man beliebig viele Adressen hinterlegen kann
TYPO3 CMS 6.1 - Die Neuerungen
TYPO3 < 6.1
TYPO3 >= 6.1
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 15
System Environment Check
Backend - System Environment Check
• Die System Checks des Install Tools wurden komplett neu integriert
• So wurden alle Checks in ein eigenes Skript ausgelagert, welches als „Standalone Script“ keine
Abhängigkeiten mehr zu TYPO3 hat.
• Felix Kopp hat daraus ein Script entwickelt, welches es ermöglicht ein Hosting ohne Installation von
TYPO3 auf dessen Tauglichkeit zu testen: https://github.com/7elix/TYPO3-Probe
• Ab der Version TYPO3 6.2 wird im ersten Schritt einer TYPO3 Installation überprüft, ob die
Systemvoraussetzungen optimal sind - bis dahin kann das Skript im Install Tool aufgerufen werden
• Zudem kann im Support-Fall darauf verwiesen werden und auch ein Serverumzug lässt sich damit
gut begleiten, da anschließend nachgesehen werden kann, ob die Systemvoraussetzungen auch
auf dem neuen Server noch passen
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 16
System Environment Check
Backend - System Environment Check
• Im Install Tool gibt es zudem den neuen Abschnitt „System environment“, der die Übersicht über die
Systemvoraussetzungen und
deren Tests zeigt
• Dabei gelten folgende Zustände:
• grün: Alles in Ordnung
• gelb: Hier sollte man genau
nachsehen und ggf.
Änderungen vornehmen
• rot: Fehler - hier *muss*
man Änderungen vornehmen
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 17
TSconfig &
TypoScript
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 18
stdWrap Funktion strPad
TypoScript - stdWrap Funktion strPad
• Analog zur PHP-Funktion str_pad() kann nun auch mittels stdWrap eine Funktion strPad verwendet
werden - folgende Parameter stehen dort zur Verfügung:
• length (number): Anzahl Zeichen, die es aufzufüllen gilt
• padWith (string; default: space): Zeichen, mit dem/denen aufgefüllt wird
• type (left, right, both; default: right): Richtung, von wo aufgefüllt wird
page.10 = TEXT
page.10.value = HELLO WORLD!
page.10.strPad {
length = 15
padWith = .
type = left
}
Ausgabe:
...HELLO WORLD!
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 19
Ausgabe des <body> Tags unterbinden
TypoScript - Ausgabe des <body> Tags unterbinden
• Wenn z.B. TemplaVoilá für die Generierung der Seite verwendet wird, will man manchmal
Klassen direkt im <body> Tag innerhalb von TemplaVoilá setzen
• Dafür muss TemplaVoilá das <body> Tag selbst generieren
• Da aber TYPO3 selbst auch davon unabhängig ein <body> Tag generiert, hätte man schließlich
zwei davon im resultierenden HTML-Quelltext
• Um dieses Problem zu lösen, wurde die Option disableBodyTag eingeführt, welche die
Generierung des <body> Tags unterbindet
config.disableBodyTag = 1
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 20
Templates aus cObjects für FLUIDTEMPLATE
TypoScript - Templates aus cObjects für FLUIDTEMPLATE
• Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Datei
über die Option file angeben
• In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nun
auch cObjects als Quelle für das Template verwenden kann
• Das folgende Beispiel zeigt die Verwendung von TEXT (Beispiel 1)
page.10 = FLUIDTEMPLATE
page.10 {
template = TEXT
template.value = <h1>{data.title}</h1>
partialRootPath = fileadmin/templates/partial/
variables {
mylabel = TEXT
mylabel.value = Dieses Label kommt aus TypoScript
}
}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 21
Templates aus cObjects für FLUIDTEMPLATE
TypoScript - Templates aus cObjects für FLUIDTEMPLATE
• Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Datei
über die Option file angeben
• In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nun
auch cObjects als Quelle für das Template verwenden kann
• Das folgende Beispiel zeigt die Verwendung von FILE (Beispiel 2)
page.10 = FLUIDTEMPLATE
page.10 {
template = FILE
template.file = fileadmin/templates/MyTemplate.html
partialRootPath = fileadmin/templates/partial/
variables {
mylabel = TEXT
mylabel.value = Dieses Label kommt aus TypoScript
}
}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 22
Settings Array für FLUIDTEMPLATE
TypoScript - Settings Array für FLUIDTEMPLATE
• Im TypoScript für eine Extbase-Extension kann man über den Schlüssel settings
TypoScript Settings direkt in der Action zur Verfügung stellen
• Dies wurde nun auch für FLUIDTEMPLATE realisiert
• Innerhalb des Schlüssels settings funktioniert nun auch die Auflösung von
Konstanten:
lib.globalSettings {
foo = value
bar = {$bar}
}
page = PAGE
page.10 = FLUIDTEMPLATE
page.10 {
file = fileadmin/templates/MyTemplate.html
settings < lib.globalSettings
}
Zugriff im Template über:
{settings.foo} und {settings.bar}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 23
Split-Char für noTrimWrap festlegen
TypoScript - Split-Char für noTrimWrap festlegen
• Verwendet man noTrimWrap innerhalb eines HMENU, so wird dieser immer als
optionSplit interpretiert. Abhilfe schafft die neu eingeführte Option splitChar,
mit der man die Zeichen angeben kann, die für noTrimWrap verwendet werden
sollen. Default für diese Option ist „|“
temp.mainMenu.10 = HMENU
temp.mainMenu.10 {
...
1 = GMENU
1.NO {
...
10 = TEXT
10 {
text.field = title
# Wird als optionSplit interpretiert - daher nicht möglich
# text.noTrimWrap = | -- | |
text.noTrimWrap = * -- * *
text.noTrimWrap.splitChar = *
...
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 24
Export von Daten in List-Modul verhindern
TSconfig - Export von Daten in List-Modul verhindern
• Es gibt nun eine Page TSconfig-Option um den Export der Daten (DB oder CSV) im
Modul „List“ zu verhindern
mod.web_list.noExportRecordsLinks = 1
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 25
INCLUDE im Datensatz „Backend Layout“
TypoScript - INCLUDE im Datensatz „Backend Layout“
• In Datensätzen vom Typ „Backend
Layout“ kann man in das Feld „Config“
eine TypoScript ähnliche Syntax zum
Aufbau des Grids eingeben
• Hier kann man ab sofort auch ein
INCLUDE_TYPOSCRIPT verwenden -
damit ist es möglich, die Konfiguration in
eine Datei auszulagern
<INCLUDE_TYPOSCRIPT:source=
"FILE:fileadmin/layout.ts">
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 26
Neue Optionen für TypoScript Listen
TSconfig - Neue Optionen für TypoScript Listen
• Es gibt neue Optionen um TypoScript Listen zu manipulieren
• Bisherige Optionen: prependString(), appendString(), removeString(),
replaceString(), addToList(), removeFromList()
• Neue Optionen: uniqueList(), reverseList(), sortList()
page = PAGE
page.10 = TEXT
page.10.value = 11,14,11,7
// Ausgabe: 11,14,7
page.10.value := uniqueList()
// Ausgabe: 7,14,11
page.10.value := reverseList()
// Ausgabe: 14,11,7 - mögliche Optionen: numeric, descending
page.10.value := sortList(numeric,descending)
// Ausgabe: 7,11,14
page.10.value := sortList(numeric)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 27
Verschiedenes
TypoScript - Verschiedenes
• Entfernen des CSS, welches über _CSS_PAGE_STYLE durch Extensions (wie z.B.
css_styled_content) eingebracht wurde:
config.removePageCss = 1
• Die Option config.pageTitleSeparator (eingeführt in 4.7) kann ab sofort nicht
nur Zeichen aufnehmen, sondern kann nun auch per stdWrap behandelt werden:
config.pageTitleSeparator = -
config.pageTitleSeparator.noTrimWrap = | | |
• Die Default-Values (Option: value) der Formularfelder im FORM-cObject haben nun
stdWrap-Properties
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 28
Verschiedenes
TypoScript - Verschiedenes
• Ab sofort kann man über die stdWrap Option addPageCacheTags Tags zu Seiten
hinzufügen (wird in der Tabelle cache_pages gespeichert):
stdWrap.addPageCacheTags = pagetag1,pagetag2,pagetag3
Diese können nun über das folgende TSconfig wieder gelöscht werden:
TCEMAIN.clearCacheCmd = tag:pagetag1,tag:pagetag2,tag:pagetag3
• Die User TSconfig Option „clearRTECache“ wurde umbenannt:
ALT: options.clearCache.clearRTECache
NEU: options.clearCache.clearLangCache (BREAKING Change!)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 29
Änderungen im
System
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 30
TCA-Handling wurde erneuert
System-Änderungen - TCA-Handling angepasst
• Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zu
erreichen:
• Im Frontend wird das TCA nun immer geladen und nach dem ersten Aufruf gecached
• Die Datei ext_tables.php wiederum wird nicht bei jedem Aufruf ausgeführt
• Im Backend wird das TCA ebenfalls gecached und macht die Option 'dynamicConfigFile '
überflüssig (da der Unterschied zwischen 'ctrl' und 'columns' getilgt wurde)
• Die TCA-Dateien sollten ab sofort an folgender Stelle hinterlegt werden
ext:extensionname/Configuration/TCA/tablename.php
und sollten ein Array mit dem TCA für die Tabelle - definiert im Dateinamen - zurückliefern
• Beim ersten Zugriff werden diese Dateien gelesen und gecached
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 31
TCA-Handling wurde erneuert
System-Änderungen - TCA-Handling angepasst
• Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zu
erreichen:
• Die 'ctrl' Abschnitte aus der Datei ext_tables.php können komplett entfernt werden
• Die Funktionen TSFE->includeTCA(), TSFE->getCompressedTCarray() und
GeneralUtility:loadTca() sind nun obsolet
• Extensions, die das neue TCA-Ladeschema nicht verwenden, haben den Fallback in der Datei
typo3conf/ext_tables.php, um die Option 'dynamicConfigFile' gleich nach den
Einstellungen aus der jeweiligen ext_tables.php Datei der Extension zu laden, damit diese
über die ExtensionManagementUtility zu manipulieren sind
• Das Verzeichnis t3lib/stddb wurde entfernt - alle Dateien wurden in den Core integriert
• Die Core-Extension halten sich bereits an das Schema. Als Beispiel kann man
die Systemextension „sys_note“ ansehen.
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 32
Display Condition Erweiterung im TCA
System-Änderungen - Display Condition Erweiterung im TCA
• Mit Hilfe der Option displayCond kann man eine Bedingungsregel definieren,
ob das Feld angezeigt wird oder nicht
• Die Option displayCond des TCA ist insofern erweitert worden, dass nun auch
mehrere Conditions möglich sind und diese mit AND und/oder OR verknüpft
werden können:
'link_file' => array (
'exclude' => 0,
'label' => 'LLL:EXT:filelinks/
locallang_db.xml:tx_filelinks.link_file',
'config' => array (
...
),
'displayCond' => array(
'AND' => array(
'FIELD:testField:>:9',
'FIELD:testField:<:11',
),
),
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 33
Integration von require.js
System-Änderungen - require.js Integration
• In den Core wurde „require.js“ integriert (ein JavaScript File- und Module-Loader)
• Der Loader ist sowohl über das Frontend, wie auch das Backend über die
PageRenderer-Klasse verfügbar
• Zudem können sogenannte Asynchronous Module Definitions (AMD) beim Laden
der Seite geladen werden
• jQuery wird bereits über ein AMD (Asynchronous Module Definition) mit dem
Namen „jQuery“ geladen
• Alle eigenen AMD-Module sollten wie folgt benannt werden:
TYPO3.CMS.[PackageName].[ModuleName]
Damit wird die Datei automatisch wie folgt aufgelöst
EXT:PackageName/Resources/Public/JavaScript/ModuleName.js
• Die Syntax lautet dabei wie folgt:
/* $mainModuleName - "TYPO3/CMS/PackageName/ModuleName" e.g. "TYPO3/CMS/Backend/FormEngine" */
public function loadRequireJsModule($mainModuleName)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 34
Integration von MySQLi
System-Änderungen - require.js Integration
• Die Datenbank Konnektivitätsklasse (bisher bekannt als TYPO3_DB)
verwendet nun „mysqli“ anstelle der alten „mysql“ Extention
• MySQLi wurde mit PHP 5.0 eingeführt und wird per default mit allen
unterstützten PHP-Versionen mitgeliefert
• Die ursprüngliche Extension „mysql“ wird mit der zukünftigen PHP Version
5.5 deprecated und ist zudem lediglich optimiert für MySQL 4.1.3 und früher.
Zudem fehlen dort wichtige Features des MySQL-Servers
• Nachdem das TYPO3 CMS MySQL 5+ für einige Versionen benötigt, ist der
Wechsel zu MySQLi folgerichtig
• Da die API seit langer Zeit gekapselt war, merkt der Entwickler vom Wechsel
auf MySQLi überhaupt nichts.
• Ab sofort ist „mysqli“ ein Modul, welches zwingend geladen sein muss,
damit TYPO3 funktioniert
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 35
Verschiedene System-Änderungen
System-Änderungen - Verschiedenes
• Der Query zum Abruf der Domain-Records beim Erzeugen von Links mittels typolink wird ab
sofort gecached, wenn die Option config.typolinkCheckRootline = 1 gesetzt ist
• Im Caching Framework ist es ab sofort möglich, XCache (ein PHP Opcode Cache ähnlich wie
APC) zu verwenden. Dies geht allerdings nicht im CLI-Mode.
http://xcache.lighttpd.net/wiki/Introduction
• Es wird im Install Tool nicht mehr nur überprüft, ob „apt“, „xcache“ oder „eaccelerator“
geladen wird, sondern es wurden auch Tests auf „Zend Optimizer“, „Zend OPcache“ und
„wincache“ hinzugefügt - also Tests gegen „irgendeinen Optimizer“
• Die Bilder aus dem RTE werden nun statt in /uploads/RTEmagicC_* in /fileadmin/
_migrated_/RTE/ gespeichert. Bereits in /uploads vorhande Bilder werden durch den
Upgrade-Wizard umkopiert.
• Einführung von „Lazy Database Connection“: Der Bootstrapper setzt zwar die Credentials für
die Datenbank - stellt aber die Verbindung nicht mehr her. Dies übernimmt die DB-Klasse bei
Bedarf selbst. eID-Skripte müssen nicht mehr connectDB() aufrufen.
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 36
Application Programming
Interface (API)
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 37
searchQuery mit AND oder OR
API - searchQuery
• Bislang konnte die DB-API Funktion „searchQuery“ die Suchworte nur mittels AND verknüpfen
• Ab sofort kann nun auch OR dafür verwendet werden - dafür wurde ein 4. Paramter geschaffen
• Klasse: TYPO3CMSCoreDatabaseDatabaseConnection
class DatabaseConnection {
public function searchQuery(
$searchWords,
$fields,
$table,
$constraint = self::AND_Constraint) { // oder self::OR_Constraint
...
}
}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 38
Pre- und Post SELECT Hooks
Hooks - Pre- und Post SELECT Hook
• Im Core wurde auch die SELECT-Abfrage mit einem Pre- und Post-Process-Hook
ausgestattet
• Klasse: TYPO3CMSCoreDatabaseDatabaseConnection
/* Pre-processor for the SELECTquery method. */
public function SELECTquery_preProcessAction(&
$select_fields, &$from_table, &$where_clause, &$groupBy, &
$orderBy, &$limit, TYPO3CMSCoreDatabaseDataba
/* Post-processor for the SELECTquery method. */
public function exec_SELECTquery_postProcessAction(&
$select_fields, &$from_table, &$where_clause, &$groupBy, &
$orderBy, &$limit, TYPO3CMSCoreDatabase
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 39
Custom CE-Rendering Hook
Hooks - Custom CE-Rendering Hook
• Es wurde ein Hook eingeführt, der innerhalb der CSS Styled Content (CSC) in das
Rendering eines einzelnen Media-Elements eingreifen kann, um so ein eigenes
Rendering zu ermöglichen.
• Sinnvoll kann dies z.B. für FAL-Inhalte wie Video genutzt werden oder Inhalte die
per JavaScript eingebettet werden
• Klasse: TYPO3CMSCssStyledContentController
CssStyledContentController
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']
['css_styled_content']['pi1_hooks']
['render_singleMediaElement']
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 40
Extbase &
Fluid
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 41
Class Naming Utility
Extbase & Fluid - Class Naming Utility
• Im Core wurde eine Utility-Klasse (mit statischen Methoden) hinzugefügt, welche
Benennungsaufgaben wie z.B. Konvertierung eines Klassennamens eines Models zu dem eines
Repositories und ähnliches durchführen kann
• Klasse: TYPO3CMSCoreUtilityClassNamingUtility
• Methoden:
• translateModelNameToRepositoryName($modelName)
z.B. Tx_Extbase_Domain_Model_Foo zu Tx_Extbase_Domain_Repository_FooRepository
oder
TYPO3CMSExtbaseDomainModelFoo zu TYPO3CMSExtbaseDomainRepositoryFooRepository
• translateModelNameToValidatorName($modelName)
• translateRepositoryNameToModelName($repositoryName)
• explodeObjectControllerName($controllerObjectName)
Zerlegt einen controllerObjectName wie VendorExtControllerFooController
in seine Einzelteile wie
vendorName, extensionName, subpackageKey und controllerName
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 42
Extbase: Rekursive Storage PID per TypoScript
Extbase & Fluid - Extbase: Rekursive Storage PID per TypoScript
• Die Storage PID kann nun per TypoScript auch rekursiv gesetzt werden:
plugin {
tx_extension {
persistence {
storagePid = 1,2,3
recursive = 99
}
}
}
• Lässt man die Eigenschaft recursive weg, so wird ein Wert von 0 (Null) per Default angenommen.
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 43
Extbase: Überschreiben des Object Mapping
Extbase & Fluid - Extbase: Überschreiben des Object Mapping
• Über den folgenden Schlüssel kann man das Object Mapping per TypoScript überschreiben:
config.tx_extbase {
objects {
Tx_Extbase_Persistence_BackendInterface {
className = Tx_MyExt_Persistence_Backend
}
}
}
• Dies lässt sich ab sofort auch per Plugin überschreiben:
plugin.tx_foo {
objects {
Tx_Extbase_Persistence_BackendInterface {
className = Tx_MyExt_Persistence_Backend
}
}
}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 44
Extbase: beforeCallActionMethod Signal
Extbase & Fluid - Extbase: beforeCallActionMethod Signal
• Dieses Signal stellt einen Hook dar, der unmittelbar vor dem Aufruf der aktuellen Action
(callActionMethod) aufgerufen wird.
• Übergeben werden der Name des Controllers, der Name der Action und die Argumente der Action:
$this->signalSlotDispatcher->dispatch(
__CLASS__,
'beforeCallActionMethod',
array(
'controllerName' => get_class($this),
'actionMethodName' => $this->actionMethodName,
'preparedArguments' => $preparedArguments)
);
• Verwendung des Slots:
$this->getSignalSlotDispatcher()->connect(
'TYPO3CMSExtbaseMvcControllerActionController',
'beforeCallActionMethod',
'Tx_MyExtension_CallActionSlot',
'beforeCallActionMethode'
);
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 45
Extbase: Neuer Property Mapper aktiv
Extbase & Fluid - Extbase: Neuer Property Mapper aktiv
• Der überarbeitete Property Mapper (mitgeliefert seit TYPO3 4.6) ist nun auf für produktive
Umgebungen geeignet und wird mittels TypoScript per Default aktiviert:
config.tx_extbase.features.rewrittenPropertyMapper = 1
• Da der Property-Mapper ein Downport von TYPO3 Flow ist, kann auch die dort vorhandene
Dokumentation als Referenz verwendet werden:
http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/
PartIII/PropertyMapping.html
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 46
Extbase: TYPO3_MODE Detection
Extbase & Fluid - Extbase: TYPO3_MODE Detection
• Da jeder eine eigene Methode benutzt hat, um herauszufinden, ob der TYPO3_MODE gerade
Backend oder Frontend ist, wurde eine eigene Service-Klasse eingeführt
• Klasse: TYPO3CMSExtbaseServiceEnvironmentService
• Methoden:
public function isEnvironmentInFrontendMode() {
return (defined('TYPO3_MODE') && TYPO3_MODE === 'FE') ?: FALSE;
}
public function isEnvironmentInBackendMode() {
return (defined('TYPO3_MODE') && TYPO3_MODE === 'BE') ?: FALSE;
}
• Verwendung (Dependency Injection des Services):
/**
* @var TYPO3CMSExtbaseServiceEnvironmentService
*/
protected $environmentService;
/**
* @param TYPO3CMSExtbaseServiceEnvironmentService $environmentService
* @return void
*/
public function injectEnvironmentService(TYPO3CMSExtbaseService
EnvironmentService $environmentService) {
$this->environmentService = $environmentService;
}
... if ($this->environmentService->isEnvironmentInFrontendMode()) { ...
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 47
Extbase: Per Plugin FlashMessages-Queue
Extbase & Fluid - Extbase: Per Plugin FlashMessages-Queue
• Bislang konnte man in Extbase FlashMessages nur in einem Container speichern
• Dies wurde nun verändert, in dem man FlashMessages in einer sogenannte Queue auch per Plugin
speichern kann
• Dafür muss das Handling im TypoScript umgestellt werden
config.tx_extbase.legacy.enableLegacyFlashMessageHandling = 0
• Die Messaging-Klasse befindet sich hier:
TYPO3CMSCoreMessagingFlashMessageQueue.php
• Setzen einer FlashMessage im aktuellen Plugin-Context
$this->controllerContext->getFlashMessageQueue()-
>addMessage(new TYPO3CMSCoreMessaging
FlashMessage($errorFlashMessage, '', TYPO3CMSCoreMessaging
FlashMessage::ERROR));
• Auslesen aller FlashMessages und flushen (leeren) der Queue
$this->controllerContext->getFlashMessageQueue()-
>getAllMessagesAndFlush();
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 48
Extbase: Performance
Extbase & Fluid - Extbase: Performance
• Es wurden zudem einige Performance-Fixes eingebracht, die Extbase nun deutlich schneller
machen
• Löschen des Page-Caches
Anstatt den Cache bei jeder schreibenden Action (create, update und delete) zu löschen, wurde
ein Page ID-Stack implementiert, der den Page-Cache am Ende des Requests löscht
• Caching-Layer für getTargetPidByPlugin
Die Funktion getTargetPidByPlugin benutzt nun einen internen Cache, um die Load auf die
Datenbank (Aufrufe von exec_SELECTgetRows) zu reduzieren
• Optimierung der Persistierung eines ObjectStorages sobald dieser verändert wurde
Während bislang bei der Änderung von Objekten mit m:m-Relation diese komplett entfernt und
neu aufgebaut wurden, wurde dies nun wie folgt optimiert:
• Einfügen von m:m-Relationen nur noch bei neuen Objekten
• Update von m:m- und 1:m-Relationen nur für Relationen, die nach einem Objekt eingefügt
werden oder für die Position an der ein Objekt verschoben wurde
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 49
Extbase: Explizites Speichern von mod. Objekten
Extbase & Fluid - Extbase: Explizites Speichern von modifizierten Objekten
• Der alte Property-Mapper hat das übertragene Objekt zunächst rekonstituiert sowie gemappt und
dann validiert
• Schlug diese Validierung allerdings fehl, gab es zwei Möglichkeiten:
• Sofern man zurück zur „erzeugenden“ Action geleitet wurde (z.B. bei Formularen dorthin zurück
mit einer Fehlermeldung) war alles in Ordnung, da keine Persistierung stattfand
• Ist man allerdings an eine Action geraten, die Objekte implizit persistiert (persistAll am Ende
des Requests), so wurde das invalide Objekt abgespeichert
• Dies hat man nun insofern geändert, das man modifizierte Objekte nun explizit als solche
kennzeichnen muss
• Dafür muss man die update()-Funktion des Repositories auf das Objekt anwenden
{the domain objects repositories}->update({modified domain object})
$this->blogRepository->update($blog);
• Dies sorgt auch für einen Performance-Zuwachs.
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 50
Extbase: Verschiedenes
Extbase & Fluid - Extbase: Verschiedenes
• Single Table Inheritance (STI) Konfiguration für User und Groups wurde aus dem Default-
TypoScript entfernt.
Die tx_extbase_type Einstellung für fe_users und fe_groups wurde eingeführt, um STI in
Extbase zu demonstrieren. Allerdings führte dies zu zahlreichen Problemen. Somit wurden die
zugehörigen TypoScript-Einstellungen entfernt, aber das TCA und SQL aus Gründen der
Abwärtskompatibilität belassen.
• ObjectManager::create ist nun deprecated - es wird nur noch ObjectManager::get
verwendet.
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 51
Fluid: BE Pagination ViewHelper
Extbase & Fluid - Fluid: BE Paginator (bereits seit 6.0)
• Es gibt (seit TYPO3 CMS 6.0) einen Pagination-ViewHelper für die Verwendung im Backend
• <f:be.widget.paginate
objects="{blogs}"
as="paginatedBlogs"
configuration="{ itemsPerPage: 5,
insertAbove: 1,
insertBelow: 0,
recordsLabel: 'MyRecords'
}">
/* Benutzung von {paginatedBlogs} statt {blogs},
z.B. innerhalb von einer <f:for> Schleife */
</f:be.widget.paginate>
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 52
Fluid: String-Vergleiche sind nun möglich
Extbase & Fluid - Fluid: String-Vergleiche sind nun möglich
• Es ist nun möglich, String-Vergleiche in boolschen Argumenten (z.B. im Argument condition im
if-ViewHelper) direkt zu verwenden:
• Beispiel:
<f:if condition="{foo} == 'bar'">
• Bislang (TYPO3 6.0 und früher) war der Fallback dafür wie folgt:
<f:if condition="{0:foo} == {0:'bar'}">
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 53
Fluid: Property Mapping Configuration
Extbase & Fluid - Fluid: Property Mapping Configuration
• Das Property Mapping muss ab sofort auf einer Whitelist basieren
• Für Fluid Formulare wird dies per Default vom Framework erledigt, indem alle Formularfelder zu einer
Whitelist von „trusted properties“ hinzugefügt werden - dies gilt aber nur für das aktuelle Level (also
keine nested Objects)
• Alles andere wird wie folgt konfiguriert:
• Konfiguration vom Typ TYPO3CMSExtbasePropertyPropertyMappingConfiguration
$propertyMappingConfiguration->
• setTypeConverterOptions($typeConverterClassName, array $options)
• Angabe der erlaubten Properties
allowProperties($propertyName1, $propertyName2, ...)
• Alle Properties (des selben Levels) sind erlaubt
allowAllProperties()
• Alle Properties, mit Ausnahme der angegebenen sind erlaubt
allowAllPropertiesExcept($propertyName1, $propertyName2)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 54
Fluid: Arrays nur noch in ViewHelper-Argumenten
Extbase & Fluid - Fluid: Arrays nur noch in ViewHelper-Argumenten
• Fluid-Arrays verwenden eine JavaScript-Syntax, was es extrem schwierig macht, diese in einem
gemischten Kontext (HTML/JavaScript) zu verwenden.
• Beispiel (funktioniert nicht wie gewünscht - Ergebnis ist: var uris = Array):
var uris = {
endPoint1: '{f:uri.action(.)}',
endPoint2: '{f:uri.action(.)}',
};
• Daher werden Fluid-Arrays nur noch innerhalb von ViewHelper-Argumenten ausgewertet - dies
kann ein Breaking-Change sein!
• Hat man z.B. die folgende Syntax vorliegen:
<f:debug>{key1: 'value1', key2: 'value2'}</f:debug>
• so muss man diese wie folgt umwandeln:
<f:debug value="{key1: 'value1', key2: 'value2'}" />
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 55
Fluid: Verschiedenes
Extbase & Fluid - Fluid: Verschiedenes
• Der Currency-ViewHelper erlaubt nun die Angabe der Dezimalstellen:
<f:format.currency currencySign="$" decimalSeparator="."
thousandsSeparator="," prependCurrency="TRUE"
separateCurrency="FALSE" decimals="2">1234.5678</f:format.currency>
Ausgabe:
$1,234.56
• Zugriff auf FileReferences funktioniert nun „on the fly“ durch Erzeugung eines FAL Resource Objekts
{myEntity.fileProperty.originalResource.title}
{myEntity.fileProperty.originalResource.properties.identifier}
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 56
Entfernte &
veraltete Funktionen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 57
Entfernte und veraltete Funktionen
Entfernte & veraltete Funktionen
• Die Sytem-Extension „statictemplates“ wurde nun komplett entfernt
• Es wurden (zusammen mit „statictemplates“) folgende HMENU-Typen aus dem Core entfernt:
HMENU_LAYERS, GMENU_LAYERS und GMENU_FOLDOUT
• Die Flash-Bibliothek „swfupload“ und das Flash Uploader Interface wurden entfernt
(Der weitaus stabilere HTML5 File Uploader, der mit TYPO3 CMS 6.0 eingeführt wurde ist nun als
stabil gekennzeichnet)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 58
Quellen &
Resourcen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 59
Quellen:
Quellen und Resourcen
• NEWS
http://typo3.org/news/article/typo3-cms-61-released/
• Release Notes
http://typo3.org/download/release-notes/typo3-61-release-notes/
• Technische Release Notes
http://wiki.typo3.org/TYPO3_6.1
• TYPO3 GIT
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 Bugtracker
http://forge.typo3.org/projects/typo3v4-core/issues
• NEWS.txt
(im Rootverzeichnis der Sourcen)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 60
Quellen:
Quellen und Resourcen
• RequireJS und AMD
http://requirejs.org
https://github.com/amdjs/amdjs-api/wiki/AMD
• Property Mapper Dokumentation
http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/
PropertyMapping.html
• Extbase Performance
http://forge.typo3.org/projects/typo3v4-mvc/wiki/28091_dirty_objectStorage_improvements
• XCache
http://xcache.lighttpd.net/wiki/Introduction
• Download TYPO3 CMS
http://typo3.org/download
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 61
TYPO3 inspires people
to share...
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 62
TYPO3 inspires people to share...:
TYPO3 inspires people to share...
• Während der Entwicklung am TYPO3 CMS 6.1
wurde die 10.000 te Änderung am Core (Core
merge) eingebracht!
•Danke an alle Contributer :-)
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 63
Über den
Autor
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013
Patrick Lobacher
Geschäftsfüher typovision GmbH
Veröffentlichungen:
64
TYPO3 CMS 6.1 - Die Neuerungen
Über den Autor
• 42 Jahre, glücklich verheiratet, wohnhaft in München
• Autor von 9 Fachbüchern und > 40 Fachartikeln zum Thema TYPO3 und
Webentwicklung
• Selbständig im Bereich Webentwicklung seit 1994
• Certified TYPO3 Integrator seit 2009
• Mitglied bis 2012 in den TYPO3 Core-Teams:
Certification, Extbase und Content Editorial
• Mitglied bis 2012 im Expert Advisory Board der TYPO3 Association
(EAB)
• Organisator des TYPO3camp Munich 2008-2013 und der T3DD12
• Speaker auf nationalen und internationalen Kongressen
• Dozent für führende Schulungsinstitute und die MVHS
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013
• Münchner Fullservice-Agentur für digitale Kommunikation
• 33 feste Mitarbeiter vor Ort (+ 10 aus festem Freelancer Pool)
• Geschäftsführer: Sebastian Böttger, Patrick Lobacher
• Hochspezialisiert auf TYPO3 seit 10 Jahren (Extbase/Fluid seit 2009)
• Spezialisiert auf Enterprise Search (Solr, Elastic Search) seit 3 Jahren
• Fokus: Premium Webtechnologie und CMS im Open Source Bereich
• Agenturpräsentation unter: www.typovision.de/dieagentur
• Über 600 Projekte jeglicher Größenordnung
• Vision:
Wir sind der Partner des Kunden in allen Bereichen seiner digitalen
Kommunikation - von der ersten Vision bis hin zur erfolgreichen Umsetzung
und darüber hinaus.
typovision GmbH
65
Über die typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 66
typovison GmbH Referenzen
TYPO3 CMS 6.1 - Die Neuerungen
(c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 67
Kontakt
typovison GmbH Kontakt
Klassisch:
typovision GmbH
Elsenheimerstr. 7
80687 München
Fon: +49 89 45 20 59 3 - 0
Fax: +49 89 45 20 59 3 - 29
Email: info@typovision.de
Web: http://www.typovision.de
Twitter:
www.twitter.com/typovision
www.twitter.com/PatrickLobacher
www.twitter.com/crosscontent
Facebook:
www.facebook.com/typovision
Blog:
typoblog.de
XING:
www.xing.com/companies/typovisiongmbh
www.xing.com/profile/Patrick_Lobacher
www.xing.com/profile/Sebastian_Boettger2
LinkedIn
www.linkedin.com/company/2038844
Slideshare:
www.slideshare.net/plobacher
www.slideshare.net/typovision
Amazon:
www.amazon.de/Patrick-Lobacher/e/
TYPO3 CMS 6.1 - Die Neuerungen
Besten Dank für Ihre
Aufmerksamkeit
Creative Commons BY-NC-SA 3.0

Weitere ähnliche Inhalte

Was ist angesagt?

TYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenTYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein Wissen
Alex Kellner
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)
die.agilen GmbH
 
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerkTYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerkTYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerkTYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
TYPO3 CMS 7.3 - Die Neuerungen - pluswerkTYPO3 CMS 7.3 - Die Neuerungen - pluswerk
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
die.agilen GmbH
 
Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2
Wolfgang Wagner
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
die.agilen GmbH
 
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerkTYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
die.agilen GmbH
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
Mokhtar Slama
 
TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)
die.agilen GmbH
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Alex Kellner
 
TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)
Marcus Schwemer
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
B1 Systems GmbH
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
SpeedPartner GmbH
 
Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015
die.agilen GmbH
 
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenTYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
Alex Kellner
 

Was ist angesagt? (20)

TYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenTYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein Wissen
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)
 
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerkTYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
 
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerkTYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
 
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerkTYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
 
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
TYPO3 CMS 7.3 - Die Neuerungen - pluswerkTYPO3 CMS 7.3 - Die Neuerungen - pluswerk
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
 
Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
 
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerkTYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
 
TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
 
TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
 
Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015Neos CMS - Das CMS der nächsten Generation - IPC 2015
Neos CMS - Das CMS der nächsten Generation - IPC 2015
 
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenTYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
 

Andere mochten auch

SSCI Corporate Profile
SSCI Corporate ProfileSSCI Corporate Profile
SSCI Corporate Profile
Mitch C. Galutera
 
To dos & not to dos that move business forward
To dos & not to dos that move business forwardTo dos & not to dos that move business forward
To dos & not to dos that move business forward
TST Business Strategies, LLC
 
Having the Correct Context for an Agile Transformation
Having the Correct Context for an Agile TransformationHaving the Correct Context for an Agile Transformation
Having the Correct Context for an Agile Transformation
Derek Huether
 
E-government in Poland - strategy, enterprise architecture and key projects -...
E-government in Poland - strategy, enterprise architecture and key projects -...E-government in Poland - strategy, enterprise architecture and key projects -...
E-government in Poland - strategy, enterprise architecture and key projects -...
Michal Bukowski, MBA, P2P
 
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
David Terrar
 
Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3
Martin Huber
 
A/B Testing your TYPO3 website - T3CON14EU
A/B Testing your TYPO3 website - T3CON14EUA/B Testing your TYPO3 website - T3CON14EU
A/B Testing your TYPO3 website - T3CON14EU
WEBFORMAT srl
 
4DX and Mobile Learning
4DX and Mobile Learning4DX and Mobile Learning
4DX and Mobile Learning
Brandi Livingston
 
Agile Transformations that Stick
Agile Transformations that StickAgile Transformations that Stick
Agile Transformations that Stick
Nicola Dourambeis
 
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
Mohamed Said Ouerghi
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
die.agilen GmbH
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
die.agilen GmbH
 
Hot or not - who are TYPO3's competitors?
Hot or not - who are TYPO3's competitors?Hot or not - who are TYPO3's competitors?
Hot or not - who are TYPO3's competitors?
die.agilen GmbH
 
Haydn Shaw Presentation
Haydn Shaw PresentationHaydn Shaw Presentation
Haydn Shaw Presentation
katnut
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
die.agilen GmbH
 

Andere mochten auch (16)

SSCI Corporate Profile
SSCI Corporate ProfileSSCI Corporate Profile
SSCI Corporate Profile
 
To dos & not to dos that move business forward
To dos & not to dos that move business forwardTo dos & not to dos that move business forward
To dos & not to dos that move business forward
 
Having the Correct Context for an Agile Transformation
Having the Correct Context for an Agile TransformationHaving the Correct Context for an Agile Transformation
Having the Correct Context for an Agile Transformation
 
E-government in Poland - strategy, enterprise architecture and key projects -...
E-government in Poland - strategy, enterprise architecture and key projects -...E-government in Poland - strategy, enterprise architecture and key projects -...
E-government in Poland - strategy, enterprise architecture and key projects -...
 
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
Enabling the digital mind shift in the organisation - Enterprise Digital Summ...
 
Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3
 
Barrierefreiheit
BarrierefreiheitBarrierefreiheit
Barrierefreiheit
 
A/B Testing your TYPO3 website - T3CON14EU
A/B Testing your TYPO3 website - T3CON14EUA/B Testing your TYPO3 website - T3CON14EU
A/B Testing your TYPO3 website - T3CON14EU
 
4DX and Mobile Learning
4DX and Mobile Learning4DX and Mobile Learning
4DX and Mobile Learning
 
Agile Transformations that Stick
Agile Transformations that StickAgile Transformations that Stick
Agile Transformations that Stick
 
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
Défis et opportunités d'une mise en œuvre conjointe e-Government et Open Gov...
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
 
Hot or not - who are TYPO3's competitors?
Hot or not - who are TYPO3's competitors?Hot or not - who are TYPO3's competitors?
Hot or not - who are TYPO3's competitors?
 
Haydn Shaw Presentation
Haydn Shaw PresentationHaydn Shaw Presentation
Haydn Shaw Presentation
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
 

Ähnlich wie TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH

TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013
die.agilen GmbH
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
Markus Goldbeck
 
TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014
die.agilen GmbH
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
CS2 AG
 
TYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / VorschauTYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / Vorschau
CS2 AG
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
die.agilen GmbH
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
FotiosKaramitsos
 
TYPO3 Website Monitoring mit Caretaker
TYPO3 Website Monitoring mit CaretakerTYPO3 Website Monitoring mit Caretaker
TYPO3 Website Monitoring mit Caretaker
Peter Kraume
 
Tag Management System bei der Post
Tag Management System bei der PostTag Management System bei der Post
Tag Management System bei der Post
Unic
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführung
die.agilen GmbH
 
TYPO3 CMS 7
TYPO3 CMS 7TYPO3 CMS 7
TYPO3 CMS 7
Frank Nägler
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoring
Peter Kraume
 
Office 365 Akademie News - Mai 2020
Office 365 Akademie News - Mai 2020Office 365 Akademie News - Mai 2020
Office 365 Akademie News - Mai 2020
Thomas Maier
 
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch HamburgDomino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
DNUG e.V.
 
FCE ohne TemplaVoila
FCE ohne TemplaVoilaFCE ohne TemplaVoila
FCE ohne TemplaVoila
Tobias Liegl
 
Eine Website in einer Stunde mit TYPO3 bauen
Eine Website in einer Stunde mit TYPO3 bauenEine Website in einer Stunde mit TYPO3 bauen
Eine Website in einer Stunde mit TYPO3 bauen
DeveloperConference
 
Eine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
Eine Website in einer Stunde mit TYPO3 bauen, Gernot PloinerEine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
Eine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
DeveloperConference
 
Deployment
DeploymentDeployment
Deployment
Christian Händel
 

Ähnlich wie TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH (18)

TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
 
TYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / VorschauTYPO3 Version 4.5 LTS - Preview / Vorschau
TYPO3 Version 4.5 LTS - Preview / Vorschau
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 
TYPO3 Website Monitoring mit Caretaker
TYPO3 Website Monitoring mit CaretakerTYPO3 Website Monitoring mit Caretaker
TYPO3 Website Monitoring mit Caretaker
 
Tag Management System bei der Post
Tag Management System bei der PostTag Management System bei der Post
Tag Management System bei der Post
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführung
 
TYPO3 CMS 7
TYPO3 CMS 7TYPO3 CMS 7
TYPO3 CMS 7
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoring
 
Office 365 Akademie News - Mai 2020
Office 365 Akademie News - Mai 2020Office 365 Akademie News - Mai 2020
Office 365 Akademie News - Mai 2020
 
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch HamburgDomino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
 
FCE ohne TemplaVoila
FCE ohne TemplaVoilaFCE ohne TemplaVoila
FCE ohne TemplaVoila
 
Eine Website in einer Stunde mit TYPO3 bauen
Eine Website in einer Stunde mit TYPO3 bauenEine Website in einer Stunde mit TYPO3 bauen
Eine Website in einer Stunde mit TYPO3 bauen
 
Eine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
Eine Website in einer Stunde mit TYPO3 bauen, Gernot PloinerEine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
Eine Website in einer Stunde mit TYPO3 bauen, Gernot Ploiner
 
Deployment
DeploymentDeployment
Deployment
 

Mehr von die.agilen GmbH

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
die.agilen GmbH
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
die.agilen GmbH
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
die.agilen GmbH
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
die.agilen GmbH
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKR
die.agilen GmbH
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
die.agilen GmbH
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
die.agilen GmbH
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical application
die.agilen GmbH
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
die.agilen GmbH
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
die.agilen GmbH
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
die.agilen GmbH
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerk
die.agilen GmbH
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
die.agilen GmbH
 
WTC15 - Innovationsmotor Design Thinking
WTC15 - Innovationsmotor Design ThinkingWTC15 - Innovationsmotor Design Thinking
WTC15 - Innovationsmotor Design Thinking
die.agilen GmbH
 
Medienhaus pecha-kucha - T3CON 2015
Medienhaus pecha-kucha - T3CON 2015Medienhaus pecha-kucha - T3CON 2015
Medienhaus pecha-kucha - T3CON 2015
die.agilen GmbH
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
die.agilen GmbH
 
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
die.agilen GmbH
 

Mehr von die.agilen GmbH (19)

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKR
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical application
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerk
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
 
WTC15 - Innovationsmotor Design Thinking
WTC15 - Innovationsmotor Design ThinkingWTC15 - Innovationsmotor Design Thinking
WTC15 - Innovationsmotor Design Thinking
 
Medienhaus pecha-kucha - T3CON 2015
Medienhaus pecha-kucha - T3CON 2015Medienhaus pecha-kucha - T3CON 2015
Medienhaus pecha-kucha - T3CON 2015
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
 
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
 

TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH

  • 1. TYPO3 CMS 6.1 „Improve“ Die Neuerungen Patrick Lobacher CEO typovision GmbH 30.04.2013
  • 2. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 2 TYPO3 CMS 6.1 „Improve“- Short facts • Veröffentlicht: 30.04.2013 • End of Maintenance: 31.10.2014 (keine LTS - das wird 6.2 sein) • Release Manager: Benni Mack benni.mack(AT)typo3.org @bennimack • Hauptziele: Improving communication Improving contribution Improving the product • Systemvoraussetzungen: PHP 5.3.7 - 5.4.x, MySQL 5.1.x-5.5.x • Download: http://typo3.org/download/ Bildquelle: snowflake.ch Einführung - „Improve“ TYPO3 CMS 6.1 - Die Neuerungen
  • 3. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 3 TYPO3 Release Agenda
  • 4. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 4 Bildquelle: typo3.org TYPO3 Release Agenda TYPO3 CMS 6.1 - Die Neuerungen TYPO3 Release Agenda January February March April May June July August September October November December 2013 TYPO3 6.1 alpha1 March 12th TYPO3 6.1 beta1 April 3rd TYPO3 6.1 beta2 April 10th TYPO3 6.1 RC1 April 25th TYPO3 6.1 Final Release April 30th TYPO3 6.1 Release
  • 5. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 5 2011 April TYPO3 Release Agenda TYPO3 4.5 LTS Main development TYPO3 4.6 TYPO3 4.7 TYPO3 6.0 TYPO3 6.2 LTS TYPO3 6.1 TYPO3 6.2 + 2 TYPO3 6.2 + 3 TYPO3 6.2 + 1 2012 April 2013 April 2014 April 2015 April 2016 April Bildquelle: typo3.org TYPO3 Release Agenda TYPO3 CMS 6.1 - Die Neuerungen
  • 6. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 6 Änderungen im Backend
  • 7. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 7 Header im New Content Element Wizard Backend - Header im New Content Element Wizard • Das Content-Element „Header Only“ kann nun im „New Content Element Wizard“ ausgewählt werden TYPO3 CMS 6.1 - Die Neuerungen TYPO3 < 6.1 TYPO3 >= 6.1
  • 8. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 8 Context-Menü für Template Datensatz Backend - Context-Menü für Template Datensatz • Der Template-Datensatz im Modul „Template“ hat nun auf dem Icon ein Kontext-Menü TYPO3 CMS 6.1 - Die Neuerungen
  • 9. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 9 Delete-Button für Filelist Backend - Delete-Button für Filelist • Im Modul „Filelist“ wurde ein „Delete-Button“ integriert TYPO3 CMS 6.1 - Die Neuerungen TYPO3 < 6.1 TYPO3 >= 6.1
  • 10. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 10 Confirmation Checkbox für FORM cObjekt Backend - Confirmation Checkbox für FORM cObjekt • Während man per TypoScript schon länger angeben konnte, dass das cObject FORM auch eine Confirmation-Page anzeigen soll, wurde dies nun auch im Backendend als Checkbox beim Content- Objekt FORM nachgeholt. enctype = multipart/form-data method = post prefix = tx_form confirmation = 1 postProcessor { 1 = mail ... TYPO3 CMS 6.1 - Die Neuerungen
  • 11. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 11 Extension Manager wurde leicht überarbeitet Backend - Extension Manager wurde überarbeitet • Der Extension Manager wurde erneut überarbeitet und präsentiert sich nun mit besserer Usability. • Visuelles Feedback für Download und Install wurde hinzugefügt • Functionmenu für Manage/Get • Direktlink für „Show all versions“ TYPO3 CMS 6.1 - Die Neuerungen TYPO3 < 6.1 TYPO3 >= 6.1
  • 12. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 12 Rewrite der Systemextension „sys_note“ Backend - Rewrite sys_note • Die Systemextension sys_note wurde mittels Extbase/Fluid neu geschrieben • Funktionell wurde fast nichts geändert (Edit-Button erst bei Hover). • Es ist nun sehr einfach die Extension selbst zu erweitern und insbesondere das Layout anzupassen: # constants module.tx_sysnote { view { # cat=Internal Notes/general/1000; type=string; label=Layout Root Path: Path to layouts layoutRootPath = EXT:sys_note/Resources/Private/Layouts/ # cat=Internal Notes/general/1010; type=string; label=Partial Root Path: Path to partials partialRootPath = EXT:sys_note/Resources/Private/Partials/ # cat=Internal Notes/general/1020; type=string; label=Template Root Path: Path to templates templateRootPath = EXT:sys_note/Resources/Private/Templates/ } } # setup module.tx_sysnote { view { layoutRootPath = {$module.tx_sysnote.view.layoutRootPath} templateRootPath = {$module.tx_sysnote.view.templateRootPath} partialRootPath = {$module.tx_sysnote.view.partialRootPath} } } TYPO3 CMS 6.1 - Die Neuerungen
  • 13. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 13 Scheduler Backend - Scheduler • Die Scheduler-Übersicht wurde überarbeitet • Man kann nun einen Task aus der Übersicht über ein Icon starten • Ein Task wird zudem ausgewählt, wenn man irgendwo in der Zeile klickt TYPO3 CMS 6.1 - Die Neuerungen TYPO3 < 6.1 TYPO3 >= 6.1
  • 14. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 14 Scheduler Emails bei System Status Update Backend - Scheduler Email • Im Scheduler Task „System Status Update“ war es bislang lediglich möglich eine Email-Adresse zu hinterlegen • Dies wurde nun insofern geändert, dass man beliebig viele Adressen hinterlegen kann TYPO3 CMS 6.1 - Die Neuerungen TYPO3 < 6.1 TYPO3 >= 6.1
  • 15. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 15 System Environment Check Backend - System Environment Check • Die System Checks des Install Tools wurden komplett neu integriert • So wurden alle Checks in ein eigenes Skript ausgelagert, welches als „Standalone Script“ keine Abhängigkeiten mehr zu TYPO3 hat. • Felix Kopp hat daraus ein Script entwickelt, welches es ermöglicht ein Hosting ohne Installation von TYPO3 auf dessen Tauglichkeit zu testen: https://github.com/7elix/TYPO3-Probe • Ab der Version TYPO3 6.2 wird im ersten Schritt einer TYPO3 Installation überprüft, ob die Systemvoraussetzungen optimal sind - bis dahin kann das Skript im Install Tool aufgerufen werden • Zudem kann im Support-Fall darauf verwiesen werden und auch ein Serverumzug lässt sich damit gut begleiten, da anschließend nachgesehen werden kann, ob die Systemvoraussetzungen auch auf dem neuen Server noch passen TYPO3 CMS 6.1 - Die Neuerungen
  • 16. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 16 System Environment Check Backend - System Environment Check • Im Install Tool gibt es zudem den neuen Abschnitt „System environment“, der die Übersicht über die Systemvoraussetzungen und deren Tests zeigt • Dabei gelten folgende Zustände: • grün: Alles in Ordnung • gelb: Hier sollte man genau nachsehen und ggf. Änderungen vornehmen • rot: Fehler - hier *muss* man Änderungen vornehmen TYPO3 CMS 6.1 - Die Neuerungen
  • 17. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 17 TSconfig & TypoScript
  • 18. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 18 stdWrap Funktion strPad TypoScript - stdWrap Funktion strPad • Analog zur PHP-Funktion str_pad() kann nun auch mittels stdWrap eine Funktion strPad verwendet werden - folgende Parameter stehen dort zur Verfügung: • length (number): Anzahl Zeichen, die es aufzufüllen gilt • padWith (string; default: space): Zeichen, mit dem/denen aufgefüllt wird • type (left, right, both; default: right): Richtung, von wo aufgefüllt wird page.10 = TEXT page.10.value = HELLO WORLD! page.10.strPad { length = 15 padWith = . type = left } Ausgabe: ...HELLO WORLD! TYPO3 CMS 6.1 - Die Neuerungen
  • 19. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 19 Ausgabe des <body> Tags unterbinden TypoScript - Ausgabe des <body> Tags unterbinden • Wenn z.B. TemplaVoilá für die Generierung der Seite verwendet wird, will man manchmal Klassen direkt im <body> Tag innerhalb von TemplaVoilá setzen • Dafür muss TemplaVoilá das <body> Tag selbst generieren • Da aber TYPO3 selbst auch davon unabhängig ein <body> Tag generiert, hätte man schließlich zwei davon im resultierenden HTML-Quelltext • Um dieses Problem zu lösen, wurde die Option disableBodyTag eingeführt, welche die Generierung des <body> Tags unterbindet config.disableBodyTag = 1 TYPO3 CMS 6.1 - Die Neuerungen
  • 20. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 20 Templates aus cObjects für FLUIDTEMPLATE TypoScript - Templates aus cObjects für FLUIDTEMPLATE • Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Datei über die Option file angeben • In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nun auch cObjects als Quelle für das Template verwenden kann • Das folgende Beispiel zeigt die Verwendung von TEXT (Beispiel 1) page.10 = FLUIDTEMPLATE page.10 { template = TEXT template.value = <h1>{data.title}</h1> partialRootPath = fileadmin/templates/partial/ variables { mylabel = TEXT mylabel.value = Dieses Label kommt aus TypoScript } } TYPO3 CMS 6.1 - Die Neuerungen
  • 21. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 21 Templates aus cObjects für FLUIDTEMPLATE TypoScript - Templates aus cObjects für FLUIDTEMPLATE • Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Datei über die Option file angeben • In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nun auch cObjects als Quelle für das Template verwenden kann • Das folgende Beispiel zeigt die Verwendung von FILE (Beispiel 2) page.10 = FLUIDTEMPLATE page.10 { template = FILE template.file = fileadmin/templates/MyTemplate.html partialRootPath = fileadmin/templates/partial/ variables { mylabel = TEXT mylabel.value = Dieses Label kommt aus TypoScript } } TYPO3 CMS 6.1 - Die Neuerungen
  • 22. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 22 Settings Array für FLUIDTEMPLATE TypoScript - Settings Array für FLUIDTEMPLATE • Im TypoScript für eine Extbase-Extension kann man über den Schlüssel settings TypoScript Settings direkt in der Action zur Verfügung stellen • Dies wurde nun auch für FLUIDTEMPLATE realisiert • Innerhalb des Schlüssels settings funktioniert nun auch die Auflösung von Konstanten: lib.globalSettings { foo = value bar = {$bar} } page = PAGE page.10 = FLUIDTEMPLATE page.10 { file = fileadmin/templates/MyTemplate.html settings < lib.globalSettings } Zugriff im Template über: {settings.foo} und {settings.bar} TYPO3 CMS 6.1 - Die Neuerungen
  • 23. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 23 Split-Char für noTrimWrap festlegen TypoScript - Split-Char für noTrimWrap festlegen • Verwendet man noTrimWrap innerhalb eines HMENU, so wird dieser immer als optionSplit interpretiert. Abhilfe schafft die neu eingeführte Option splitChar, mit der man die Zeichen angeben kann, die für noTrimWrap verwendet werden sollen. Default für diese Option ist „|“ temp.mainMenu.10 = HMENU temp.mainMenu.10 { ... 1 = GMENU 1.NO { ... 10 = TEXT 10 { text.field = title # Wird als optionSplit interpretiert - daher nicht möglich # text.noTrimWrap = | -- | | text.noTrimWrap = * -- * * text.noTrimWrap.splitChar = * ... TYPO3 CMS 6.1 - Die Neuerungen
  • 24. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 24 Export von Daten in List-Modul verhindern TSconfig - Export von Daten in List-Modul verhindern • Es gibt nun eine Page TSconfig-Option um den Export der Daten (DB oder CSV) im Modul „List“ zu verhindern mod.web_list.noExportRecordsLinks = 1 TYPO3 CMS 6.1 - Die Neuerungen
  • 25. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 25 INCLUDE im Datensatz „Backend Layout“ TypoScript - INCLUDE im Datensatz „Backend Layout“ • In Datensätzen vom Typ „Backend Layout“ kann man in das Feld „Config“ eine TypoScript ähnliche Syntax zum Aufbau des Grids eingeben • Hier kann man ab sofort auch ein INCLUDE_TYPOSCRIPT verwenden - damit ist es möglich, die Konfiguration in eine Datei auszulagern <INCLUDE_TYPOSCRIPT:source= "FILE:fileadmin/layout.ts"> TYPO3 CMS 6.1 - Die Neuerungen
  • 26. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 26 Neue Optionen für TypoScript Listen TSconfig - Neue Optionen für TypoScript Listen • Es gibt neue Optionen um TypoScript Listen zu manipulieren • Bisherige Optionen: prependString(), appendString(), removeString(), replaceString(), addToList(), removeFromList() • Neue Optionen: uniqueList(), reverseList(), sortList() page = PAGE page.10 = TEXT page.10.value = 11,14,11,7 // Ausgabe: 11,14,7 page.10.value := uniqueList() // Ausgabe: 7,14,11 page.10.value := reverseList() // Ausgabe: 14,11,7 - mögliche Optionen: numeric, descending page.10.value := sortList(numeric,descending) // Ausgabe: 7,11,14 page.10.value := sortList(numeric) TYPO3 CMS 6.1 - Die Neuerungen
  • 27. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 27 Verschiedenes TypoScript - Verschiedenes • Entfernen des CSS, welches über _CSS_PAGE_STYLE durch Extensions (wie z.B. css_styled_content) eingebracht wurde: config.removePageCss = 1 • Die Option config.pageTitleSeparator (eingeführt in 4.7) kann ab sofort nicht nur Zeichen aufnehmen, sondern kann nun auch per stdWrap behandelt werden: config.pageTitleSeparator = - config.pageTitleSeparator.noTrimWrap = | | | • Die Default-Values (Option: value) der Formularfelder im FORM-cObject haben nun stdWrap-Properties TYPO3 CMS 6.1 - Die Neuerungen
  • 28. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 28 Verschiedenes TypoScript - Verschiedenes • Ab sofort kann man über die stdWrap Option addPageCacheTags Tags zu Seiten hinzufügen (wird in der Tabelle cache_pages gespeichert): stdWrap.addPageCacheTags = pagetag1,pagetag2,pagetag3 Diese können nun über das folgende TSconfig wieder gelöscht werden: TCEMAIN.clearCacheCmd = tag:pagetag1,tag:pagetag2,tag:pagetag3 • Die User TSconfig Option „clearRTECache“ wurde umbenannt: ALT: options.clearCache.clearRTECache NEU: options.clearCache.clearLangCache (BREAKING Change!) TYPO3 CMS 6.1 - Die Neuerungen
  • 29. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 29 Änderungen im System
  • 30. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 30 TCA-Handling wurde erneuert System-Änderungen - TCA-Handling angepasst • Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zu erreichen: • Im Frontend wird das TCA nun immer geladen und nach dem ersten Aufruf gecached • Die Datei ext_tables.php wiederum wird nicht bei jedem Aufruf ausgeführt • Im Backend wird das TCA ebenfalls gecached und macht die Option 'dynamicConfigFile ' überflüssig (da der Unterschied zwischen 'ctrl' und 'columns' getilgt wurde) • Die TCA-Dateien sollten ab sofort an folgender Stelle hinterlegt werden ext:extensionname/Configuration/TCA/tablename.php und sollten ein Array mit dem TCA für die Tabelle - definiert im Dateinamen - zurückliefern • Beim ersten Zugriff werden diese Dateien gelesen und gecached TYPO3 CMS 6.1 - Die Neuerungen
  • 31. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 31 TCA-Handling wurde erneuert System-Änderungen - TCA-Handling angepasst • Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zu erreichen: • Die 'ctrl' Abschnitte aus der Datei ext_tables.php können komplett entfernt werden • Die Funktionen TSFE->includeTCA(), TSFE->getCompressedTCarray() und GeneralUtility:loadTca() sind nun obsolet • Extensions, die das neue TCA-Ladeschema nicht verwenden, haben den Fallback in der Datei typo3conf/ext_tables.php, um die Option 'dynamicConfigFile' gleich nach den Einstellungen aus der jeweiligen ext_tables.php Datei der Extension zu laden, damit diese über die ExtensionManagementUtility zu manipulieren sind • Das Verzeichnis t3lib/stddb wurde entfernt - alle Dateien wurden in den Core integriert • Die Core-Extension halten sich bereits an das Schema. Als Beispiel kann man die Systemextension „sys_note“ ansehen. TYPO3 CMS 6.1 - Die Neuerungen
  • 32. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 32 Display Condition Erweiterung im TCA System-Änderungen - Display Condition Erweiterung im TCA • Mit Hilfe der Option displayCond kann man eine Bedingungsregel definieren, ob das Feld angezeigt wird oder nicht • Die Option displayCond des TCA ist insofern erweitert worden, dass nun auch mehrere Conditions möglich sind und diese mit AND und/oder OR verknüpft werden können: 'link_file' => array ( 'exclude' => 0, 'label' => 'LLL:EXT:filelinks/ locallang_db.xml:tx_filelinks.link_file', 'config' => array ( ... ), 'displayCond' => array( 'AND' => array( 'FIELD:testField:>:9', 'FIELD:testField:<:11', ), ), TYPO3 CMS 6.1 - Die Neuerungen
  • 33. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 33 Integration von require.js System-Änderungen - require.js Integration • In den Core wurde „require.js“ integriert (ein JavaScript File- und Module-Loader) • Der Loader ist sowohl über das Frontend, wie auch das Backend über die PageRenderer-Klasse verfügbar • Zudem können sogenannte Asynchronous Module Definitions (AMD) beim Laden der Seite geladen werden • jQuery wird bereits über ein AMD (Asynchronous Module Definition) mit dem Namen „jQuery“ geladen • Alle eigenen AMD-Module sollten wie folgt benannt werden: TYPO3.CMS.[PackageName].[ModuleName] Damit wird die Datei automatisch wie folgt aufgelöst EXT:PackageName/Resources/Public/JavaScript/ModuleName.js • Die Syntax lautet dabei wie folgt: /* $mainModuleName - "TYPO3/CMS/PackageName/ModuleName" e.g. "TYPO3/CMS/Backend/FormEngine" */ public function loadRequireJsModule($mainModuleName) TYPO3 CMS 6.1 - Die Neuerungen
  • 34. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 34 Integration von MySQLi System-Änderungen - require.js Integration • Die Datenbank Konnektivitätsklasse (bisher bekannt als TYPO3_DB) verwendet nun „mysqli“ anstelle der alten „mysql“ Extention • MySQLi wurde mit PHP 5.0 eingeführt und wird per default mit allen unterstützten PHP-Versionen mitgeliefert • Die ursprüngliche Extension „mysql“ wird mit der zukünftigen PHP Version 5.5 deprecated und ist zudem lediglich optimiert für MySQL 4.1.3 und früher. Zudem fehlen dort wichtige Features des MySQL-Servers • Nachdem das TYPO3 CMS MySQL 5+ für einige Versionen benötigt, ist der Wechsel zu MySQLi folgerichtig • Da die API seit langer Zeit gekapselt war, merkt der Entwickler vom Wechsel auf MySQLi überhaupt nichts. • Ab sofort ist „mysqli“ ein Modul, welches zwingend geladen sein muss, damit TYPO3 funktioniert TYPO3 CMS 6.1 - Die Neuerungen
  • 35. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 35 Verschiedene System-Änderungen System-Änderungen - Verschiedenes • Der Query zum Abruf der Domain-Records beim Erzeugen von Links mittels typolink wird ab sofort gecached, wenn die Option config.typolinkCheckRootline = 1 gesetzt ist • Im Caching Framework ist es ab sofort möglich, XCache (ein PHP Opcode Cache ähnlich wie APC) zu verwenden. Dies geht allerdings nicht im CLI-Mode. http://xcache.lighttpd.net/wiki/Introduction • Es wird im Install Tool nicht mehr nur überprüft, ob „apt“, „xcache“ oder „eaccelerator“ geladen wird, sondern es wurden auch Tests auf „Zend Optimizer“, „Zend OPcache“ und „wincache“ hinzugefügt - also Tests gegen „irgendeinen Optimizer“ • Die Bilder aus dem RTE werden nun statt in /uploads/RTEmagicC_* in /fileadmin/ _migrated_/RTE/ gespeichert. Bereits in /uploads vorhande Bilder werden durch den Upgrade-Wizard umkopiert. • Einführung von „Lazy Database Connection“: Der Bootstrapper setzt zwar die Credentials für die Datenbank - stellt aber die Verbindung nicht mehr her. Dies übernimmt die DB-Klasse bei Bedarf selbst. eID-Skripte müssen nicht mehr connectDB() aufrufen. TYPO3 CMS 6.1 - Die Neuerungen
  • 36. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 36 Application Programming Interface (API)
  • 37. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 37 searchQuery mit AND oder OR API - searchQuery • Bislang konnte die DB-API Funktion „searchQuery“ die Suchworte nur mittels AND verknüpfen • Ab sofort kann nun auch OR dafür verwendet werden - dafür wurde ein 4. Paramter geschaffen • Klasse: TYPO3CMSCoreDatabaseDatabaseConnection class DatabaseConnection { public function searchQuery( $searchWords, $fields, $table, $constraint = self::AND_Constraint) { // oder self::OR_Constraint ... } } TYPO3 CMS 6.1 - Die Neuerungen
  • 38. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 38 Pre- und Post SELECT Hooks Hooks - Pre- und Post SELECT Hook • Im Core wurde auch die SELECT-Abfrage mit einem Pre- und Post-Process-Hook ausgestattet • Klasse: TYPO3CMSCoreDatabaseDatabaseConnection /* Pre-processor for the SELECTquery method. */ public function SELECTquery_preProcessAction(& $select_fields, &$from_table, &$where_clause, &$groupBy, & $orderBy, &$limit, TYPO3CMSCoreDatabaseDataba /* Post-processor for the SELECTquery method. */ public function exec_SELECTquery_postProcessAction(& $select_fields, &$from_table, &$where_clause, &$groupBy, & $orderBy, &$limit, TYPO3CMSCoreDatabase TYPO3 CMS 6.1 - Die Neuerungen
  • 39. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 39 Custom CE-Rendering Hook Hooks - Custom CE-Rendering Hook • Es wurde ein Hook eingeführt, der innerhalb der CSS Styled Content (CSC) in das Rendering eines einzelnen Media-Elements eingreifen kann, um so ein eigenes Rendering zu ermöglichen. • Sinnvoll kann dies z.B. für FAL-Inhalte wie Video genutzt werden oder Inhalte die per JavaScript eingebettet werden • Klasse: TYPO3CMSCssStyledContentController CssStyledContentController $GLOBALS['TYPO3_CONF_VARS']['EXTCONF'] ['css_styled_content']['pi1_hooks'] ['render_singleMediaElement'] TYPO3 CMS 6.1 - Die Neuerungen
  • 40. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 40 Extbase & Fluid
  • 41. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 41 Class Naming Utility Extbase & Fluid - Class Naming Utility • Im Core wurde eine Utility-Klasse (mit statischen Methoden) hinzugefügt, welche Benennungsaufgaben wie z.B. Konvertierung eines Klassennamens eines Models zu dem eines Repositories und ähnliches durchführen kann • Klasse: TYPO3CMSCoreUtilityClassNamingUtility • Methoden: • translateModelNameToRepositoryName($modelName) z.B. Tx_Extbase_Domain_Model_Foo zu Tx_Extbase_Domain_Repository_FooRepository oder TYPO3CMSExtbaseDomainModelFoo zu TYPO3CMSExtbaseDomainRepositoryFooRepository • translateModelNameToValidatorName($modelName) • translateRepositoryNameToModelName($repositoryName) • explodeObjectControllerName($controllerObjectName) Zerlegt einen controllerObjectName wie VendorExtControllerFooController in seine Einzelteile wie vendorName, extensionName, subpackageKey und controllerName TYPO3 CMS 6.1 - Die Neuerungen
  • 42. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 42 Extbase: Rekursive Storage PID per TypoScript Extbase & Fluid - Extbase: Rekursive Storage PID per TypoScript • Die Storage PID kann nun per TypoScript auch rekursiv gesetzt werden: plugin { tx_extension { persistence { storagePid = 1,2,3 recursive = 99 } } } • Lässt man die Eigenschaft recursive weg, so wird ein Wert von 0 (Null) per Default angenommen. TYPO3 CMS 6.1 - Die Neuerungen
  • 43. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 43 Extbase: Überschreiben des Object Mapping Extbase & Fluid - Extbase: Überschreiben des Object Mapping • Über den folgenden Schlüssel kann man das Object Mapping per TypoScript überschreiben: config.tx_extbase { objects { Tx_Extbase_Persistence_BackendInterface { className = Tx_MyExt_Persistence_Backend } } } • Dies lässt sich ab sofort auch per Plugin überschreiben: plugin.tx_foo { objects { Tx_Extbase_Persistence_BackendInterface { className = Tx_MyExt_Persistence_Backend } } } TYPO3 CMS 6.1 - Die Neuerungen
  • 44. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 44 Extbase: beforeCallActionMethod Signal Extbase & Fluid - Extbase: beforeCallActionMethod Signal • Dieses Signal stellt einen Hook dar, der unmittelbar vor dem Aufruf der aktuellen Action (callActionMethod) aufgerufen wird. • Übergeben werden der Name des Controllers, der Name der Action und die Argumente der Action: $this->signalSlotDispatcher->dispatch( __CLASS__, 'beforeCallActionMethod', array( 'controllerName' => get_class($this), 'actionMethodName' => $this->actionMethodName, 'preparedArguments' => $preparedArguments) ); • Verwendung des Slots: $this->getSignalSlotDispatcher()->connect( 'TYPO3CMSExtbaseMvcControllerActionController', 'beforeCallActionMethod', 'Tx_MyExtension_CallActionSlot', 'beforeCallActionMethode' ); TYPO3 CMS 6.1 - Die Neuerungen
  • 45. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 45 Extbase: Neuer Property Mapper aktiv Extbase & Fluid - Extbase: Neuer Property Mapper aktiv • Der überarbeitete Property Mapper (mitgeliefert seit TYPO3 4.6) ist nun auf für produktive Umgebungen geeignet und wird mittels TypoScript per Default aktiviert: config.tx_extbase.features.rewrittenPropertyMapper = 1 • Da der Property-Mapper ein Downport von TYPO3 Flow ist, kann auch die dort vorhandene Dokumentation als Referenz verwendet werden: http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/ PartIII/PropertyMapping.html TYPO3 CMS 6.1 - Die Neuerungen
  • 46. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 46 Extbase: TYPO3_MODE Detection Extbase & Fluid - Extbase: TYPO3_MODE Detection • Da jeder eine eigene Methode benutzt hat, um herauszufinden, ob der TYPO3_MODE gerade Backend oder Frontend ist, wurde eine eigene Service-Klasse eingeführt • Klasse: TYPO3CMSExtbaseServiceEnvironmentService • Methoden: public function isEnvironmentInFrontendMode() { return (defined('TYPO3_MODE') && TYPO3_MODE === 'FE') ?: FALSE; } public function isEnvironmentInBackendMode() { return (defined('TYPO3_MODE') && TYPO3_MODE === 'BE') ?: FALSE; } • Verwendung (Dependency Injection des Services): /** * @var TYPO3CMSExtbaseServiceEnvironmentService */ protected $environmentService; /** * @param TYPO3CMSExtbaseServiceEnvironmentService $environmentService * @return void */ public function injectEnvironmentService(TYPO3CMSExtbaseService EnvironmentService $environmentService) { $this->environmentService = $environmentService; } ... if ($this->environmentService->isEnvironmentInFrontendMode()) { ... TYPO3 CMS 6.1 - Die Neuerungen
  • 47. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 47 Extbase: Per Plugin FlashMessages-Queue Extbase & Fluid - Extbase: Per Plugin FlashMessages-Queue • Bislang konnte man in Extbase FlashMessages nur in einem Container speichern • Dies wurde nun verändert, in dem man FlashMessages in einer sogenannte Queue auch per Plugin speichern kann • Dafür muss das Handling im TypoScript umgestellt werden config.tx_extbase.legacy.enableLegacyFlashMessageHandling = 0 • Die Messaging-Klasse befindet sich hier: TYPO3CMSCoreMessagingFlashMessageQueue.php • Setzen einer FlashMessage im aktuellen Plugin-Context $this->controllerContext->getFlashMessageQueue()- >addMessage(new TYPO3CMSCoreMessaging FlashMessage($errorFlashMessage, '', TYPO3CMSCoreMessaging FlashMessage::ERROR)); • Auslesen aller FlashMessages und flushen (leeren) der Queue $this->controllerContext->getFlashMessageQueue()- >getAllMessagesAndFlush(); TYPO3 CMS 6.1 - Die Neuerungen
  • 48. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 48 Extbase: Performance Extbase & Fluid - Extbase: Performance • Es wurden zudem einige Performance-Fixes eingebracht, die Extbase nun deutlich schneller machen • Löschen des Page-Caches Anstatt den Cache bei jeder schreibenden Action (create, update und delete) zu löschen, wurde ein Page ID-Stack implementiert, der den Page-Cache am Ende des Requests löscht • Caching-Layer für getTargetPidByPlugin Die Funktion getTargetPidByPlugin benutzt nun einen internen Cache, um die Load auf die Datenbank (Aufrufe von exec_SELECTgetRows) zu reduzieren • Optimierung der Persistierung eines ObjectStorages sobald dieser verändert wurde Während bislang bei der Änderung von Objekten mit m:m-Relation diese komplett entfernt und neu aufgebaut wurden, wurde dies nun wie folgt optimiert: • Einfügen von m:m-Relationen nur noch bei neuen Objekten • Update von m:m- und 1:m-Relationen nur für Relationen, die nach einem Objekt eingefügt werden oder für die Position an der ein Objekt verschoben wurde TYPO3 CMS 6.1 - Die Neuerungen
  • 49. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 49 Extbase: Explizites Speichern von mod. Objekten Extbase & Fluid - Extbase: Explizites Speichern von modifizierten Objekten • Der alte Property-Mapper hat das übertragene Objekt zunächst rekonstituiert sowie gemappt und dann validiert • Schlug diese Validierung allerdings fehl, gab es zwei Möglichkeiten: • Sofern man zurück zur „erzeugenden“ Action geleitet wurde (z.B. bei Formularen dorthin zurück mit einer Fehlermeldung) war alles in Ordnung, da keine Persistierung stattfand • Ist man allerdings an eine Action geraten, die Objekte implizit persistiert (persistAll am Ende des Requests), so wurde das invalide Objekt abgespeichert • Dies hat man nun insofern geändert, das man modifizierte Objekte nun explizit als solche kennzeichnen muss • Dafür muss man die update()-Funktion des Repositories auf das Objekt anwenden {the domain objects repositories}->update({modified domain object}) $this->blogRepository->update($blog); • Dies sorgt auch für einen Performance-Zuwachs. TYPO3 CMS 6.1 - Die Neuerungen
  • 50. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 50 Extbase: Verschiedenes Extbase & Fluid - Extbase: Verschiedenes • Single Table Inheritance (STI) Konfiguration für User und Groups wurde aus dem Default- TypoScript entfernt. Die tx_extbase_type Einstellung für fe_users und fe_groups wurde eingeführt, um STI in Extbase zu demonstrieren. Allerdings führte dies zu zahlreichen Problemen. Somit wurden die zugehörigen TypoScript-Einstellungen entfernt, aber das TCA und SQL aus Gründen der Abwärtskompatibilität belassen. • ObjectManager::create ist nun deprecated - es wird nur noch ObjectManager::get verwendet. TYPO3 CMS 6.1 - Die Neuerungen
  • 51. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 51 Fluid: BE Pagination ViewHelper Extbase & Fluid - Fluid: BE Paginator (bereits seit 6.0) • Es gibt (seit TYPO3 CMS 6.0) einen Pagination-ViewHelper für die Verwendung im Backend • <f:be.widget.paginate objects="{blogs}" as="paginatedBlogs" configuration="{ itemsPerPage: 5, insertAbove: 1, insertBelow: 0, recordsLabel: 'MyRecords' }"> /* Benutzung von {paginatedBlogs} statt {blogs}, z.B. innerhalb von einer <f:for> Schleife */ </f:be.widget.paginate> TYPO3 CMS 6.1 - Die Neuerungen
  • 52. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 52 Fluid: String-Vergleiche sind nun möglich Extbase & Fluid - Fluid: String-Vergleiche sind nun möglich • Es ist nun möglich, String-Vergleiche in boolschen Argumenten (z.B. im Argument condition im if-ViewHelper) direkt zu verwenden: • Beispiel: <f:if condition="{foo} == 'bar'"> • Bislang (TYPO3 6.0 und früher) war der Fallback dafür wie folgt: <f:if condition="{0:foo} == {0:'bar'}"> TYPO3 CMS 6.1 - Die Neuerungen
  • 53. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 53 Fluid: Property Mapping Configuration Extbase & Fluid - Fluid: Property Mapping Configuration • Das Property Mapping muss ab sofort auf einer Whitelist basieren • Für Fluid Formulare wird dies per Default vom Framework erledigt, indem alle Formularfelder zu einer Whitelist von „trusted properties“ hinzugefügt werden - dies gilt aber nur für das aktuelle Level (also keine nested Objects) • Alles andere wird wie folgt konfiguriert: • Konfiguration vom Typ TYPO3CMSExtbasePropertyPropertyMappingConfiguration $propertyMappingConfiguration-> • setTypeConverterOptions($typeConverterClassName, array $options) • Angabe der erlaubten Properties allowProperties($propertyName1, $propertyName2, ...) • Alle Properties (des selben Levels) sind erlaubt allowAllProperties() • Alle Properties, mit Ausnahme der angegebenen sind erlaubt allowAllPropertiesExcept($propertyName1, $propertyName2) TYPO3 CMS 6.1 - Die Neuerungen
  • 54. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 54 Fluid: Arrays nur noch in ViewHelper-Argumenten Extbase & Fluid - Fluid: Arrays nur noch in ViewHelper-Argumenten • Fluid-Arrays verwenden eine JavaScript-Syntax, was es extrem schwierig macht, diese in einem gemischten Kontext (HTML/JavaScript) zu verwenden. • Beispiel (funktioniert nicht wie gewünscht - Ergebnis ist: var uris = Array): var uris = { endPoint1: '{f:uri.action(.)}', endPoint2: '{f:uri.action(.)}', }; • Daher werden Fluid-Arrays nur noch innerhalb von ViewHelper-Argumenten ausgewertet - dies kann ein Breaking-Change sein! • Hat man z.B. die folgende Syntax vorliegen: <f:debug>{key1: 'value1', key2: 'value2'}</f:debug> • so muss man diese wie folgt umwandeln: <f:debug value="{key1: 'value1', key2: 'value2'}" /> TYPO3 CMS 6.1 - Die Neuerungen
  • 55. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 55 Fluid: Verschiedenes Extbase & Fluid - Fluid: Verschiedenes • Der Currency-ViewHelper erlaubt nun die Angabe der Dezimalstellen: <f:format.currency currencySign="$" decimalSeparator="." thousandsSeparator="," prependCurrency="TRUE" separateCurrency="FALSE" decimals="2">1234.5678</f:format.currency> Ausgabe: $1,234.56 • Zugriff auf FileReferences funktioniert nun „on the fly“ durch Erzeugung eines FAL Resource Objekts {myEntity.fileProperty.originalResource.title} {myEntity.fileProperty.originalResource.properties.identifier} TYPO3 CMS 6.1 - Die Neuerungen
  • 56. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 56 Entfernte & veraltete Funktionen
  • 57. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 57 Entfernte und veraltete Funktionen Entfernte & veraltete Funktionen • Die Sytem-Extension „statictemplates“ wurde nun komplett entfernt • Es wurden (zusammen mit „statictemplates“) folgende HMENU-Typen aus dem Core entfernt: HMENU_LAYERS, GMENU_LAYERS und GMENU_FOLDOUT • Die Flash-Bibliothek „swfupload“ und das Flash Uploader Interface wurden entfernt (Der weitaus stabilere HTML5 File Uploader, der mit TYPO3 CMS 6.0 eingeführt wurde ist nun als stabil gekennzeichnet) TYPO3 CMS 6.1 - Die Neuerungen
  • 58. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 58 Quellen & Resourcen
  • 59. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 59 Quellen: Quellen und Resourcen • NEWS http://typo3.org/news/article/typo3-cms-61-released/ • Release Notes http://typo3.org/download/release-notes/typo3-61-release-notes/ • Technische Release Notes http://wiki.typo3.org/TYPO3_6.1 • TYPO3 GIT 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 Bugtracker http://forge.typo3.org/projects/typo3v4-core/issues • NEWS.txt (im Rootverzeichnis der Sourcen) TYPO3 CMS 6.1 - Die Neuerungen
  • 60. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 60 Quellen: Quellen und Resourcen • RequireJS und AMD http://requirejs.org https://github.com/amdjs/amdjs-api/wiki/AMD • Property Mapper Dokumentation http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/ PropertyMapping.html • Extbase Performance http://forge.typo3.org/projects/typo3v4-mvc/wiki/28091_dirty_objectStorage_improvements • XCache http://xcache.lighttpd.net/wiki/Introduction • Download TYPO3 CMS http://typo3.org/download TYPO3 CMS 6.1 - Die Neuerungen
  • 61. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 61 TYPO3 inspires people to share...
  • 62. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 62 TYPO3 inspires people to share...: TYPO3 inspires people to share... • Während der Entwicklung am TYPO3 CMS 6.1 wurde die 10.000 te Änderung am Core (Core merge) eingebracht! •Danke an alle Contributer :-) TYPO3 CMS 6.1 - Die Neuerungen
  • 63. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 63 Über den Autor
  • 64. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 Patrick Lobacher Geschäftsfüher typovision GmbH Veröffentlichungen: 64 TYPO3 CMS 6.1 - Die Neuerungen Über den Autor • 42 Jahre, glücklich verheiratet, wohnhaft in München • Autor von 9 Fachbüchern und > 40 Fachartikeln zum Thema TYPO3 und Webentwicklung • Selbständig im Bereich Webentwicklung seit 1994 • Certified TYPO3 Integrator seit 2009 • Mitglied bis 2012 in den TYPO3 Core-Teams: Certification, Extbase und Content Editorial • Mitglied bis 2012 im Expert Advisory Board der TYPO3 Association (EAB) • Organisator des TYPO3camp Munich 2008-2013 und der T3DD12 • Speaker auf nationalen und internationalen Kongressen • Dozent für führende Schulungsinstitute und die MVHS
  • 65. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 • Münchner Fullservice-Agentur für digitale Kommunikation • 33 feste Mitarbeiter vor Ort (+ 10 aus festem Freelancer Pool) • Geschäftsführer: Sebastian Böttger, Patrick Lobacher • Hochspezialisiert auf TYPO3 seit 10 Jahren (Extbase/Fluid seit 2009) • Spezialisiert auf Enterprise Search (Solr, Elastic Search) seit 3 Jahren • Fokus: Premium Webtechnologie und CMS im Open Source Bereich • Agenturpräsentation unter: www.typovision.de/dieagentur • Über 600 Projekte jeglicher Größenordnung • Vision: Wir sind der Partner des Kunden in allen Bereichen seiner digitalen Kommunikation - von der ersten Vision bis hin zur erfolgreichen Umsetzung und darüber hinaus. typovision GmbH 65 Über die typovision GmbH TYPO3 CMS 6.1 - Die Neuerungen
  • 66. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 66 typovison GmbH Referenzen TYPO3 CMS 6.1 - Die Neuerungen
  • 67. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 67 Kontakt typovison GmbH Kontakt Klassisch: typovision GmbH Elsenheimerstr. 7 80687 München Fon: +49 89 45 20 59 3 - 0 Fax: +49 89 45 20 59 3 - 29 Email: info@typovision.de Web: http://www.typovision.de Twitter: www.twitter.com/typovision www.twitter.com/PatrickLobacher www.twitter.com/crosscontent Facebook: www.facebook.com/typovision Blog: typoblog.de XING: www.xing.com/companies/typovisiongmbh www.xing.com/profile/Patrick_Lobacher www.xing.com/profile/Sebastian_Boettger2 LinkedIn www.linkedin.com/company/2038844 Slideshare: www.slideshare.net/plobacher www.slideshare.net/typovision Amazon: www.amazon.de/Patrick-Lobacher/e/ TYPO3 CMS 6.1 - Die Neuerungen
  • 68. Besten Dank für Ihre Aufmerksamkeit Creative Commons BY-NC-SA 3.0