SlideShare ist ein Scribd-Unternehmen logo
TYPO3 CMS 7.1 - What’s New
Übersicht der neuen Funktionen, Änderungen
und Verbesserungen
Patrick Lobacher (GF +Pluswerk GmbH)
http://www.plus-werk.com
17/February/2015
Creative Commons BY-NC-SA 3.0
TYPO3 CMS 7.1 - What’s New
Kapitelübersicht
Einführung
Backend User Interface
TSconfig & TypoScript
Änderungen im System
Extbase & Fluid
Veraltete/Entfernte Funktionen
Quellen und Autoren
TYPO3 CMS 7.1 - What’s New
Einführung
Einführung
(Die Fakten)
TYPO3 CMS 7.1 - What’s New
Einführung
TYPO3 CMS 7.1: Die Fakten
Veröffentlichungsdatum: 24. Februar 2015
Releasetyp: "Sprint Release"
Vision: Embrace, Innovate, Deliver
Hauptfokus: Core Cleanup Streamlining
TYPO3 CMS 7.1 - What’s New
Einführung
Systemvoraussetzungen
PHP*: v5.5.0 - v5.6.x
MySQL: v5.5.x - v5.6.x (no strict mode)
Festplattenplatz: mindestens 200 MB
PHP Einstellungen:
memory_limit >= 128M
max_execution_time >= 240s
PHP Kompilierungsoption –disable-ipv6 darf nicht aktiviert sein
Backend benötigt IE >= 9 oder jeden anderen modernen Browser
*) weitere Details: PHP Minimum Requirements for TYPO3 CMS 7
TYPO3 CMS 7.1 - What’s New
Einführung
Release-Zyklus
TYPO3 CMS 7.1 - What’s New
Einführung
TYPO3 CMS Roadmap
Voraussichtliche Veröffentlichungen und deren Hauptfokus:
v7.0 02/Dez/2014 Backend Overhaul Vol 1
v7.1 24/Feb/2015 Core Cleanup & Streamlining
v7.2 10/Mär/2015 Frontend
v7.3 21/Apr/2015 Composer Ecosystem
v7.4 09/Jun/2015 Backend Overhaul Vol 2
v7.5 28/Jul/2015 (noch unbestimmt)
v7.6 13/Okt/2015 pre-LTS inferno
v7.7 xx/xxx/2015 TYPO3 CMS 7 LTS (Long Term Release)
https://typo3.org/typo3-cms/roadmap/
http://typo3.org/news/article/embrace-and-innovate-typo3-cms-7/
TYPO3 CMS 7.1 - What’s New
Einführung
Installation
Empfohlene Installationsschritte unter Linux/Mac OS X
(DocumentRoot ist beispielsweise /var/www/site/htdocs):
$ cd /var/www/site
$ wget --content-disposition get.typo3.org/7.1
$ tar xzf typo3_src-7.1.0.tar.gz
$ cd htdocs
$ ln -s ../typo3_src-7.1.0 typo3_src
$ ln -s typo3_src/index.php
$ ln -s typo3_src/typo3
$ touch FIRST_INSTALL
Symbolische Links unter Microsoft Windows:
unter Windows XP/2000 kann junction benutzt werden
unter Windows Vista und Windows 7 kann mlink benutzt werden
TYPO3 CMS 7.1 - What’s New
Einführung
Upgrade zu TYPO3 CMS 7
Upgrades nur von TYPO3 CMS 6.2 LTS möglich
TYPO3 CMS < 6.2 sollte man erst auf TYPO3 CMS 6.2 LTS aktualisieren
Upgrade-Anleitung:
http://wiki.typo3.org/Upgrade#Upgrading_to_7.1
Offizielles TYPO3 Guide "TYPO3 Installation and Upgrading":
http://docs.typo3.org/typo3cms/InstallationGuide
Generelles Vorgehen:
Prüfen, ob Mindestvoraussetzungen erfüllt sind (PHP, MySQL, etc.)
Das deprecation_*.log der TYPO3 Instanz durchsehen
Sämtliche Extensions auf den aktuellsten Stand bringen
Neuen TYPO3 Quellcode entpacken und im Install Tool den Upgrade
Wizard ausführen
Startup Modul von Backend Benutzern überprüfen (optional)
TYPO3 CMS 7.1 - What’s New
Backend User Interface
Kapitel 1:
Backend User Interface
TYPO3 CMS 7.1 - What’s New
Backend User Interface
Look & Feel: Date/Time Picker
Date/Time Picker im Backend wurde auf Twitter Bootstrap umgestellt
TYPO3 CMS 7.1 - What’s New
Backend User Interface
Look & Feel: Funktionen-Modul
Die Funktionen "Seiten sortieren" und "mehrere Seiten erzeugen" sind jetzt
unter WEB => Funktionen zu finden
(in TYPO3 CMS < 7.1 waren diese unter "WEB => Funktionen => Wizards" zu finden)
TYPO3 CMS 7.1 - What’s New
Backend User Interface
Look & Feel: Access Modul
Im Modul Access kann man User und/oder Gruppe unverändert (" - leave
unchanged -") lassen, wenn man nur die Berechtigungen ändern möchte
TYPO3 CMS 7.1 - What’s New
Backend User Interface
Look & Feel: Icons im List-Modul
Icons ("Action Buttons") im List-Modul sind nun in zwei Gruppen angeordnet
(primäre Aktionen (lesen, speichern, löschen) zuerst, anschließend die sekundären Icons)
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Kapitel 2:
TSconfig & TypoScript
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
StdWrap für page.headTag
TypoScript Option page.headTag hat nun stdWrap-Funktionalität
page = PAGE
page.headTag = <head>
page.headTag.override = <head class="special">
page.headTag.override.if {
isInList.field = uid
value = 24
}
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
JavaScript-Dateien asynchron laden
JavaScript-Dateien könen nun asynchron geladen werden
page {
includeJS {
jsFile = /path/to/file.js
jsFile.async = 1
}
}
Das gilt für:
includeJSlibs / includeJSLibs
includeJSFooterlibs
includeJS
includeJSFooter
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
HMENU Eigenschaft mit additionalWhere
TypoScript cObject HMENU erhält eine neue Eigenschaft
additionalWhere
Jenes erlaubt eine spezifischere DB Abfrage (z.B. Filterung)
Beispiel:
lib.authormenu = HMENU
lib.authormenu.1 = TMENU
lib.authormenu.1.additionalWhere = AND author!=""
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Zusätzliche Eigenschaften für HMENU Browse-Menü
Zwei neue Eigenschaften für das cObject HMENU (Option
"special=browse"), um detaillierter definieren zu können, welche
Seiten im Menü erscheinen sollen:
excludeNoSearchPages
includeNotInMenu
Beispiel:
lib.browsemenu = HMENU
lib.browsemenu.special = browse
lib.browsemenu.special.excludeNoSearchPages = 1
lib.browsemenu.includeNotInMenu = 1
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Mehrere HTTP-Header
HTTP Header können nun mittels config.additionalHeaders
als Array gesetzt werden
Das ermöglicht es, mehreren Header-Zeilen auf einmal zu konfigurieren
config.additionalHeaders {
10 {
# header string
header = WWW-Authenticate: Negotiate
# (optional) replace previous headers with the same name (default: 1)
replace = 0
# (optional) force HTTP response code
httpResponseCode = 401
}
# set second additional HTTP header
20.header = Cache-control: Private
}
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Option "auto" für config.absRefPrefix
TypoScript Konfiguration config.absRefPrefix kann verwendet
werden, um der URL einen Prefix bei relativen Pfaden zu geben. Als
Alternative zu config.baseURL (um eine bestimmte Domain zu
spezifizieren), erkennt absRefPrefix die Site-Root automatisch:
config.absRefPrefix = auto
# anstelle von:
[ApplicationContext = Production]
config.absRefPrefix = /
[ApplicationContext = Testing]
config.absRefPrefix = /my_site_root/
Hinweis: diese Option ist "Multi-Domain"-sicher und mehrfaches Caching der selben
Daten wird verhindern.
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Zwei-Zeichen ISO Code für sys_language (1)
Die Behandlung von Sprachen wird durch Einträge in DB Tabelle
sys_language vorgenommen, die durch sys_language_uid
referenziert werden
In TYPO3 CMS 7.1 wurden ISO 639-1 Zwei-Zeichen Codes implementiert:
Neues DB Feld: sys_language.language_isocode
Neue TypoScript-Option: sys_language_isocode
Hinweis: bei ISO 639 handelt es sich um eine Sammlung von Standards der
"International Organization for Standardization". Eine List der ISO 639-1
Codes ist hier abrufbar:
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Zwei-Zeichen ISO Code für sys_language (2)
Beispiel:
# Danish by default
config.sys_language_uid = 0
config.sys_language_isocode_default = da
[globalVar = GP:L = 1]
# ISO code stored in table sys_language (uid 1)
config.sys_language_uid = 1
# overwrite ISO code as required
config.sys_language_isocode = fr
[GLOBAL]
page.10 = TEXT
page.10.data = TSFE:sys_language_isocode
page.10.wrap = <div class="main" data-language="|">
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Eigene Conditions im Backend
Eigene Conditions für das Frontend wurden bereits mit TYPO3 CMS 7.0
eingeführt
Seit TYPO3 CMS 7.1 ist es nun auch möglich, eigene Conditions für das
Backend zu implementieren
Die Condition muss von AbstractCondition ableiten und die
Methode matchCondition bereitstellen
Anwendungsbeispiel in TypoScript:
[BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition]
[BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = 7]
[BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = 7, != 6]
[BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = {$mysite.myconstant}]
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Zufügen von Icons in TCEFORM via PageTSconfig
Eigene Werte und Labels von Select-Feldern können bereits mit der
PageTSconfig Option addItems vergeben werden
Nun können auch Icons für diese Felder definiert werden
Option 1: mittels addItems und der Eigenschaft .icon
Option 2: mittels altIcons (generell für alle Felder)
Beispiel:
TCEFORM.pages.doktype.addItems {
10 = My Label
10.icon = EXT:t3skin/icons/gfx/i/pages.gif
}
TCEFORM.pages.doktype.altIcons {
10 = EXT:myext/icon.gif
}
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Element Browser: Mountpoints hinzufügen
Neue UserTSconfig Option .append erlaubt es Administratoren
Mountpoints hinzuzufügen, anstatt die Liste der konfigurierten DB
Mountpoints eines Benutzers neu zu schreiben
Beispiel:
options.pageTree.altElementBrowserMountPoints = 20,31
options.pageTree.altElementBrowserMountPoints.append = 1
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Überschreiben der Labels von Radio-Buttons und Checkboxen
Labels von Radio-Buttons und Checkboxen können nun überschrieben
werden
Beispiel:
// field with a single checkbox (use ".default")
TCEFORM.pages.hidden.altLabels.default = new label
TCEFORM.pages.hidden.altLabels.default = LLL:path/to/languagefile.xlf:individualLabel
// field with multiple checkboxes (0, 1, 2, 3...)
TCEFORM.pages.l18n_cfg.altLabels.0 = new label of first checkbox
TCEFORM.pages.l18n_cfg.altLabels.1 = new label of second checkbox
TCEFORM.pages.l18n_cfg.altLabels.2 = new label of third checkbox
...
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Diverses (1)
Breite und Höhe des Element-Browsers können nun per UserTSconfig
festgelegt werden
options.popupWindowSize = 400x900
options.RTE.popupWindowSize = 200x200
PageTSconfig: mit einer neue RTE-Konfiguration kann das
Standard-Ziel von Links beeinflusst werden
buttons.link.[type].properties.target.default
Wobei [type] zum Beispiel page, file, url, mail or spec sein kann
(Extensions können weitere Typen zur Verfügung stellen)
TYPO3 CMS 7.1 - What’s New
TSconfig & TypoScript
Diverses (2)
Standardmäßig sind Section-Headlines der Indexed-Search Resultate
verlinkt. Das kann nun mittels TypoScript deaktiviert werden
plugin.tx_indexedsearch.linkSectionTitles = 0
getData kann jetzt auch field-Daten abfragen (nicht nur Arrays, wie
beispielsweise GPVar und TSFE)
10 = TEXT
10.data = field:fieldname|level1|level2
TypoScript Konfiguration config.pageTitle hat jetzt
stdWrap-Funktionalität
# make value of <title> upper case
page = PAGE
page.config.pageTitle.case = upper
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Kapitel 3:
Änderungen im System
TYPO3 CMS 7.1 - What’s New
Änderungen im System
TCA: Maximum chars in text element
TCA-Typ text unterstützt nun das HTML5-Attribut maxlength, um die
maximale Anzahl der einzugebenden Zeichen zu beschränken (Hinweis:
Zeilenumbrüche zählen hierbei als zwei Zeichen)
’teaser’ => array(
’label’ => ’Teaser’,
’config’ => array(
’type’ => ’text’,
’cols’ => 60,
’rows’ => 2,
’max’ => ’30’ // <-- maxlength
)
),
Es ist zu beachten, dass nicht alle Browser dieses Attribut unterstützen.
Siehe: Browserübersicht
TYPO3 CMS 7.1 - What’s New
Änderungen im System
New SplFileInfo implementation
Neue Klasse: TYPO3CMSCoreTypeFileFileInfo
Diese erweitert SplFileInfo, die wiederrum Meta-Informationen von
Dateien ermittelt
$fileIdentifier = ’/tmp/foo.html’;
$fileInfo = GeneralUtility::makeInstance(
TYPO3CMSCoreTypeFileFileInfo::class,
$fileIdentifier
);
echo $fileInfo->getMimeType(); // output: text/html
Entwickler können über folgenden Hook auf die Funktionalität
zugreifen:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]
[TYPO3CMSCoreTypeFileFileInfo::class][’mimeTypeGuessers’]
TYPO3 CMS 7.1 - What’s New
Änderungen im System
UserFunc in TCA Display Condition
userFunc displayCondition ermöglicht es auf jeden erdenklichen
Status und jede Condition zu prüfen
Sollte irgendeine Situation nicht mit den existierenden Checks
abgefangen werden können, ist es auch möglich, eigene Funktionen zu
schreiben (diese müssen lediglich TRUE/FALSE zurückgeben, um das
entsprechende TCA Field sichtbar zu machen oder zu verbergen)
$GLOBALS[’TCA’][’tt_content’][’columns’][’bodytext’][’displayCond’] =
’USER:VendorExampleUserElementConditionMatcher->
checkHeaderGiven:any:more:information’;
TYPO3 CMS 7.1 - What’s New
Änderungen im System
API für Twitter Bootstrap Modals (1)
Zwei neue API Methoden um Modal Popups zu erzeugen/entfernen:
TYPO3.Modal.confirm(title, content, severity, buttons)
TYPO3.Modal.dismiss()
Optionen title und content sind mindestens erforderlich
Optionen buttons.text und buttons.trigger sind erforderlich,
wenn buttons verwendet wird
Beispiel 1:
TYPO3.Modal.confirm(
’The title of the modal’, // title
’This the the body of the modal’, // content
TYPO3.Severity.warning // severity
);
TYPO3 CMS 7.1 - What’s New
Änderungen im System
API für Twitter Bootstrap Modals (2)
Beispiel 2:
TYPO3.Modal.confirm(’Warning’, ’You may break the internet!’,
TYPO3.Severity.warning,
[
{
text: ’Break it’,
active: true,
trigger: function() { ... }
},
{
text: ’Abort!’,
trigger: function() {
TYPO3.Modal.dismiss();
}
}
]
);
TYPO3 CMS 7.1 - What’s New
Änderungen im System
JavaScript Storage API (1)
Mittels JavaScript kann auf die BE User Konfiguration zugegriffen
werden ($BE_USER->uc, einfache Key-Value Paare)
Zusätzlich kann nun auch der HTML5 Standard localStorage verwendet
werden, um Daten (Client-seitig) im Browser des Benutzers zu
speichern und auszulesen
Zwei neue global TYPO3 Objekte:
top.TYPO3.Storage.Client
top.TYPO3.Storage.Persistent
Jedes Objekt hat folgende API Methoden:
get(key): Daten holen
set(key,value): Daten schreiben
isset(key): Prüfen, ob key genutzt wird
clear(): Löschen des Speichers
TYPO3 CMS 7.1 - What’s New
Änderungen im System
JavaScript Storage API (2)
Beispiel:
// get value of key ’startModule’
var value = top.TYPO3.Storage.Persistent.get(’startModule’);
// write value ’web_info’ as key ’start_module’
top.TYPO3.Storage.Persistent.set(’startModule’, ’web_info’);
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Inline Rendering von Checkboxes
Die Konfiguration inline sorgt bei "cols" dafür, dass Checkboxen
nebeneinander dargestellt werden, um Platz im Backend User Interface
zu sparen
’weekdays’ => array(
’label’ => ’Weekdays’,
’config’ => array(
’type’ => ’check’,
’items’ => array(
array(’Mo’, ’’),
array(’Tu’, ’’),
array(’We’, ’’),
array(’Th’, ’’),
array(’Fr’, ’’),
array(’Sa’, ’’),
array(’Su’, ’’)
),
’cols’ => ’inline’
)
),
...
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Content Object Registration
Es wurde eine neue globale Option eingeführt, um cObjects wie TEXT
zu registrieren bzw. zu erweitern
Eine Liste aller verfügbaren cObjects ist verfügbar als:
$GLOBALS[’TYPO3_CONF_VARS’][’FE’][’ContentObjects’]
Beispiel: ein neues cObject EXAMPLE registrieren
$GLOBALS[’TYPO3_CONF_VARS’][’FE’][’ContentObjects’][’EXAMPLE’] =
VendorMyExtensionContentObjectExampleContentObject::class;
Die registrierte Klasse muss von der folgenden Klasse ableiten:
TYPO3CMSFrontendContentObjectAbstractContentObject
Idealerweise speichert man seine Datei im Verzeichnis
typo3conf/myextension/Classes/ContentObject/
um für zukünftige Autoload-Funktionen vorbereitet zu sein
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Hooks und Signals (1)
Neuer Hook wurde am Ende von PageRepository->init()
hinzugefügt, mit dem die Sichtbarkeit von Seiten beeinflusst werden
kann
Der Hook kann wie folgt registriert werden:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]
[TYPO3CMSFrontendPagePageRepository::class][’init’]
Die Hook-Klasse muss das folgende Interface implementieren:
TYPO3CMSFrontendPagePageRepositoryInitHookInterface
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Hooks und Signals (2)
Neuer Hook wurde zu PageLayoutView hinzugefügt, um das Rendering
des Footers von Inhaltselementen im Backend manipulieren zu können
Beispiel:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]
[’cms/layout/class.tx_cms_layout.php’][’tt_content_drawFooter’];
Die Hook-Klasse muss das folgende Interface implementieren:
TYPO3CMSBackendViewPageLayoutViewDrawFooterHookInterface
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Hooks und Signals (3)
Es wurde ein Hook als Post-Prozessor zu
BackendUtility::countVersionsOfRecordsOnPage hinzugefügt
Dieser wird z.B. verwendet, um Workspace-Zustände im Seitenbaum zu
visualisieren
Der Hook kann wie folgt registriert werden:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]
[’t3lib/class.t3lib_befunc.php’][’countVersionsOfRecordsOnPage’][] =
’MyPackageHookClass->hookMethod’;
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Hooks und Signals (4)
Neues Signal wurde am Ende der Methode
DataPreprocessor::fetchRecord() hinzugefügt
Jenes kann dazu verwendet werden, um das Array
regTableItems_data zu manipulieren, damit die manipulierten
Daten in TCEForms angezeigt werden können
$this->getSignalSlotDispatcher()->dispatch(
TYPO3CMSBackendFormDataPreprocessor::class,
’fetchRecordPostProcessing’,
array($this)
);
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Hooks und Signals (5)
Neues Signal wurde eingeführt, um zusätzlichen Code bei der
Registrierung des Mailer-Objekts auszuführen (z.B. Swift Mailer Plugins)
$signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility::makeInstance(
TYPO3CMSExtbaseSignalSlotDispatcher::class
);
$signalSlotDispatcher->connect(
TYPO3CMSCoreMailMailer::class,
’postInitializeMailer’,
VendorPackageSlotsMailerSlot::class,
’registerPlugin’
);
TYPO3 CMS 7.1 - What’s New
Änderungen im System
Multiple UID in PageRepository::getMenu()
Methode PageRepository::getMenu() kann nun auch ein Array
aufnehmen, um meherer Root-Seiten zu definieren
$pageRepository = new TYPO3CMSFrontendPagePageRepository();
$pageRepository->init(FALSE);
$rows = $pageRepository->getMenu(array(2, 3));
TYPO3 CMS 7.1 - What’s New
Extbase & Fluid
Kapitel 4:
Extbase & Fluid
TYPO3 CMS 7.1 - What’s New
Extbase & Fluid
PaginateViewHelper
Der Paginate-ViewHelper unterstützt nun folgende Input-Werte:
QueryResultInterface
ObjectStorage
ArrayAccess
array
Beispiel:
<f:widget.paginate objects="{blogs}" as="paginatedBlogs">
<f:for each="{paginatedBlogs}" as="blog">
<h4>{blog.title}</h4>
</f:for>
</f:widget.paginate>
TYPO3 CMS 7.1 - What’s New
Extbase & Fluid
ContainerViewHelper lädt RequireJS Module
Der ContainerViewHelper kann RequireJS-Module via
includeRequireJsModules Attribut laden
Beispiel:
<f:be.container pageTitle="Extension Module" loadJQuery="true"
includeRequireJsModules="{
0:’TYPO3/CMS/Extension/Module1’,
1:’TYPO3/CMS/Extension/Module2’,
2:’TYPO3/CMS/Extension/Module3’,
3:’TYPO3/CMS/Extension/Module4’
}" >
TYPO3 CMS 7.1 - What’s New
Extbase & Fluid
Methode has() im ObjectAccess
Für die Benutzung in Fluid, object.property und
object.isProperty unterstützten bereits die folgenden Methoden:
isProperty()
getProperty()
Neu in TYPO3 CMS 7.1: hasProperty()
Hier wird die Method $object->hasProperty() aufgerufen, wenn
object.hasProperty in Fluid benutzt wird
TYPO3 CMS 7.1 - What’s New
Extbase & Fluid
Hochladen mehrerer Dateien im FormUpload-ViewHelper
Der FormUpload-Viewhelper unterstützt das neue Attribut multiple,
welches es ermöglicht, mehrere Dateien auf einmal zu übertragen
<f:form.upload property="files" multiple="multiple" />
Hinweis: es ist darauf zu achten, dass für das Property-Mapping ein
eigener TypeConverter erstellt werden muss!
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Kapitel 5:
Veraltete und entfernte Funktionen
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
$TYPO3_CONF_VARS[SYS][compat_version]
Die Option $TYPO3_CONF_VARS[SYS][compat_version] (gesetzt
beim Update im Install Tool wizard) wurde entfernt
Alle Prüfungen gegen GeneralUtility::compat_version werden
nun gegen die Konstante TYPO3_branch gemacht
Hinweis: TypoScript Conditions, die auf compat_version prüfen,
haben nun keine Wirkung mehr!
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Inline styles of <blockquote> tag
CSS Styled Content rendert <blockquote> über die TypoScript Option
lib.parseFunc_RTE
Diese Zeilen wurden ersatzlos entfernt:
lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser = 1
lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.
overrideAttribs = style="margin-bottom:0;margin-top:0;"
Das bedeutet, die Inline-Styles "margin-bottom:0;margin-top:0;"
werden dem <blockquote>-Tag nicht mehr hinzugefügt
Hinweis: nach einem Update auf TYPO3 CMS 7.1 könnte sich das Styling
von <blockquote> geändert haben
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Workspaces: Feld disable_autocreate
Das Feld disable_autocreate wurde von EXT:workspaces entfernt
Sollten TYPO3 Extensions dieses Feld verwenden, wird ein SQL Fehler
erzeugt
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Funktion: include_once
Die Funktionalität, um PHP-Dateien mittels include_once innerhalb
von Modul-Funktionen (wie z.B. dem Info-Modul) zu inkludieren, wurde
entfernt
Das gilt für folgende Module:
Web => Page
Web => Page - New Content Element Wizard
Web => Functions
Web => Info
Web => Template
Web => Recycler
User => Task Center
System => Scheduler
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
TypoScript Option: config.meaningfulTempFilePrefix
Früher war es möglich, per TypoScript Teile des Original-Dateinamens
zum Dateinamen hinzuzufügen, der vom GIFBUILDER generiert wird
Jenes war mit folgender TypoScript Option möglich:
config.meaningfulTempFilePrefix
(standardmäßig verwendete der GIFBUILDER lediglich ein Hash-Wert als
Dateinamen)
Diese Option wurde entfernt
(Dateinamen im Verzeichnis typo3temp/GB/ enthalten nun den
Original-Dateinamen automatisch)
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Removed files
Die folgenden Dateien wurden entfernt:
typo3/file_edit.php
typo3/file_newfolder.php
typo3/file_rename.php
typo3/file_upload.php
typo3/show_rechis.php
typo3/listframe_loader.php
Deren Funktionalität wurde in Backend Module integriert, z.B.
typo3/file_edit.php in
BackendUtility::getModuleUrl(’file_edit’);
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
ExtJS DateTimePicker
Die ExtJS Komponente Ext.ux.DateTimePicker wurde entfernt und
gegen die Twitter Bootstrap Alternative ersetzt (siehe Kapitel "Backend
User Interface")
Das betrifft zum Beispiel die System Extensions EXT:belog und
EXT:scheduler
Hinweis: Extensions, die die (als "deprecated" markierte) Komponente
Ext.ux.DateTimePicker benötigen, werden mit hoher
Wahrscheinlichkeit nicht mehr funktionieren.
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Änderungen beim Access List Render Mode
Die folgende Variable wurde entfernt:
$GLOBALS[TYPO3_CONF_VARS][BE][accessListRenderMode]
Die entsprechenden Felder in den TCA Tabellen be_users und
be_groups besitzen nun die Standardwert "checkbox"
Jenes kann in der Datei typo3conf/extTables.php bei Bedarf
angepasst werden:
$GLOBALS[’TCA’][’be_users’][’columns’][’file_permissions’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_users’][’columns’][’userMods’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’file_permissions’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’pagetypes_select’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’tables_select’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’tables_modify’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’non_exclude_fields’][’config’][’renderMode’] = ’singlebox’;
$GLOBALS[’TCA’][’be_groups’][’columns’][’userMods’][’config’][’renderMode’] = ’singlebox’;
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Content Element "Mailform"
Die Mailform Funktionalität, die das cObject FORM bereitstellt, wurde
vom TYPO3 Core entfernt
(diese ist jedoch weiterhin in EXT:compatibility6 vorhanden)
Die folgenden Optionen wurden als "deprecated" markiert:
$TYPO3_CONF_VARS][FE][secureFormmail]
$TYPO3_CONF_VARS][FE][strictFormmail]
$TYPO3_CONF_VARS][FE][formmailMaxAttachmentSize]
Die folgenden Methoden im TypoScriptFrontendController wurden
entfernt:
protected checkDataSubmission()
protected sendFormmail()
public extractRecipientCopy()
public codeString()
protected roundTripCryptString()
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Funktionalität überarbeitet (1)
Die EXT:indexed_search wird automatisch aktiviert, sobald sie
installiert wird. Das bedeutet auch, dass die TypoScript Optionen
config.index_enable und config.index_externals ebenfalls
automatisch aktiviert werden
TSconfig web_func.menu.wiz ändert sich zu
web_func.menu.functions
Extensions, die sich in die Toolbar oben rechts einklinken, müssen das
folgende neue Interface implementieren:
TYPO3CMSBackendToolbarToolbarItemInterface
und müssen unter folgendem Schlüssel registriert werden:
$GLOBALS[’TYPO3_CONF_VARS’][’BE’][’toolbarItems’]
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Funktionalität überarbeitet (2)
Die Datei typo3/js/tree.js wurde ersetzt gegen
EXT:backend/Resources/Public/JavaScript/LegacyTree.js
(basierend auf jQuery)
Die Variable $GLOBALS[’WEBMOUNTS’] wurde ersetzt gegen
$GLOBALS[’BE_USER’]->returnWebmounts()
Die Unterstützung von .t3-table und .t3-button wurde entfernt
(Twitter Bootstrap CSS Klassen implementieren die Styles jetzt)
Länderflaggen (PNG-Bilder) wurden von typo3/gfx/flags/ und
typo3/sysext/t3skin/images/flags/ nach
typo3/sysext/core/Resources/Public/Icons/flags/ verschoben
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Funktionalität überarbeitet (3)
CSS Styled Content TypoScript Templates der TYPO3 CMS Versionen
4.5 bis 6.1 wurden entfernt
Die folgenden TypoScript cObjects wurden in die Legacy-Extension
EXT:compatibility6 verschoben:
SEARCHRESULTS COLUMNS OTABLE CLEARGIF
IMGTEXT CTABLE HRULER
Das Inhaltselement search wurde in die Legacy-Extension
EXT:compatibility6 verschoben
Die folgenden TCA-Wizard-Optionen wurden entfernt:
_PADDING _VALIGN _DISTANCE
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
TypoScript-Option andWhere
Die TypoScript-Option andWhere wurde als "deprecated" markiert
Integratoren sollten die Eigenschaften where und markers
verwenden:
page.30 = CONTENT
page.30 {
table = tt_content
select {
pidInList = this
orderBy = sorting
where {
dataWrap = sorting>{field:sorting}
}
}
}
page.60 = CONTENT
page.60 {
table = tt_content
select {
pidInList = 73
where = header != ###whatever###
orderBy = ###sortfield###
markers {
whatever.data = GP:first
sortfield.value = sor
sortfield.wrap = |ting
}
}
}
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Entry-Points
Die folgenden Entry-Points wurden als "deprecated" markiert:
typo3/tce_file.php
typo3/move_el.php
typo3/tce_db.php
typo3/login_frameset.php
typo3/sysext/cms/layout/db_new_content_el.php
typo3/sysext/cms/layout/db_layout.php
Stattdessen kann nun folgendes verwendet werden:
TYPO3CMSBackendUtilityBackendUtility::getModuleUrl(’<parameter>’)
Wobei <parameter> eines der folgenden Elemente sein kann:
tce_file, move_element, tce_db, login_frameset,
new_content_element, web_layout
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Diverses (1)
Die TypoScript-Option config.xhtmlDoctype = xhtml_2
wurde als "deprecated" markiert
Die folgenden Methoden wurden als "deprecated" markiert:
TYPO3CMSBackendUtilityBackendUtility::implodeTSParams()
TYPO3CMSBackendController::makeLoginBoxImage()
Die folgende Methode wurde als "deprecated" markiert:
LocalImageProcessor::getTemporaryImageWithText()
...und ersetzt gegen:
TYPO3CMSCoreImagingGraphicalFunctions::getTemporaryImageWithText()
Die stdWrap Eigenschaften textStyle und tableStyle
wurde als "deprecated" markiert
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Diverses (2)
Die TypoScript-Option page.includeJSlibs wurde umbenannt zu
page.includeJSLibs (Großbuchstabe "L") und die alte Option als
"deprecated" markiert
Die Condition device wurde als "deprecated" markiert
Die Methode DocumentTable::table() wurde als "deprecated"
markiert (Entwickler sollten dafür Fluid verwenden)
Die folgende Methode wurde als "deprecated" markiert:
TYPO3CMSFrontendController
TypoScriptFrontendController::doXHTML_cleaning()
...ebenso die dazugehörige TypoScript-Option config.xhtml_cleaning
Der folgende Hook wurde als "deprecated" markiert:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’GLOBAL’][’softRefParser_GL’]
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Diverses (3)
Die folgenden Methoden wurden als "deprecated" markiert:
TypoScriptTemplateObjectBrowserModuleFunctionController::
verify_TSobjects()
ExtendedTemplateService::ext_getKeyImage()
ConfigurationForm::ext_getKeyImage()
Die Ausführung von contentObject->COBJECT() wurde als
"deprecated" markiert
(benutze stattdessen $cObj->cObjGetSingle(’...’, $conf);)
Der direkte Zugriff auf FormEngine::$renderReadonly wurde als
"deprecated" markiert
(benutze stattdessen AbstractFormElement::setRenderReadonly(TRUE);)
TYPO3 CMS 7.1 - What’s New
Veraltete/Entfernte Funktionen
Diverses (4)
Die folgenden FormEngine-Methoden wurden als "deprecated"
markiert:
FormEngine::insertDefStyle
FormEngine::getAvailableLanguages()
FormEngine::sL()
FormEngine::renderVDEFDiff()
FormEngine::getLL()
FormEngine::getTSCpid()
FormEngine::getSingleField_typeFlex_langMenu()
FormEngine::getSingleField_typeFlex_sheetMenu()
FormEngine::getSpecConfFromString()
TYPO3 CMS 7.1 - What’s New
Quellen und Autoren
Kapitel 6:
Quellen und Autoren
TYPO3 CMS 7.1 - What’s New
Quellen und Autoren
Quellennachweis
TYPO3 News:
http://typo3.org/news
Release Infos:
http://wiki.typo3.org/TYPO3_CMS_7.1.0
INSTALL.md and ChangeLog
typo3/sysext/core/Documentation/Changelog/7.1/*
TYPO3 Bug-/Issuetracker:
https://forge.typo3.org/projects/typo3cms-core
TYPO3 Git Repositories:
https://git.typo3.org/Packages/TYPO3.CMS.git
https://git.typo3.org/Packages/TYPO3.Fluid.git
TYPO3 CMS 7.1 - What’s New
Quellen und Autoren
pluswerk
pluswerk ist eine Full Service Agentur für leidenschaftliche digitale
Kommunikation mit 10 Standorten in Deutschland und über 130 Mitarbeitern
www.plus-werk.com | +49 69 260 99 70 50 | facebook.com/pluswerk
TYPO3 CMS 7.1 - What’s New

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (20)

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.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerkTYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - 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
 
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 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im ÜberblickTypo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im Überblick
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
 
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
 
TYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenTYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein Wissen
 
TYPO3: Extension news
TYPO3: Extension newsTYPO3: Extension news
TYPO3: Extension news
 
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
 
TYPO3 4.5 LTS - Die Neuerungen auf einen Blick
TYPO3 4.5 LTS - Die Neuerungen auf einen BlickTYPO3 4.5 LTS - Die Neuerungen auf einen Blick
TYPO3 4.5 LTS - Die Neuerungen auf einen Blick
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
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
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
 
TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)
 
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

Technote Index Map Help
Technote Index Map HelpTechnote Index Map Help
Technote Index Map Help
guest0e7fb2
 
A portrait chapter_1
A portrait chapter_1A portrait chapter_1
A portrait chapter_1
mellamogaby
 

Andere mochten auch (17)

NASL
NASLNASL
NASL
 
Clipagem tarumã setembro 2010
Clipagem tarumã   setembro 2010Clipagem tarumã   setembro 2010
Clipagem tarumã setembro 2010
 
Livestock and Land
Livestock and LandLivestock and Land
Livestock and Land
 
cPanel User Manual
cPanel User ManualcPanel User Manual
cPanel User Manual
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate Package
 
Xdebug confoo11
Xdebug confoo11Xdebug confoo11
Xdebug confoo11
 
Introduction Php
Introduction PhpIntroduction Php
Introduction Php
 
C lipagem tarumã maio 2010
C lipagem tarumã   maio 2010C lipagem tarumã   maio 2010
C lipagem tarumã maio 2010
 
Technote Index Map Help
Technote Index Map HelpTechnote Index Map Help
Technote Index Map Help
 
いちばん簡単なconcrete5テーマ
いちばん簡単なconcrete5テーマいちばん簡単なconcrete5テーマ
いちばん簡単なconcrete5テーマ
 
C lipagem tarumã outubro 2010
C lipagem tarumã   outubro 2010C lipagem tarumã   outubro 2010
C lipagem tarumã outubro 2010
 
The Original Hacker número 11.
The Original Hacker número 11.The Original Hacker número 11.
The Original Hacker número 11.
 
La evolución de los medios de información
La evolución de los medios de informaciónLa evolución de los medios de información
La evolución de los medios de información
 
password (facebook)
password (facebook) password (facebook)
password (facebook)
 
concrete5 5.7でテーマ作ってみよう 超初級編
concrete5 5.7でテーマ作ってみよう超初級編concrete5 5.7でテーマ作ってみよう超初級編
concrete5 5.7でテーマ作ってみよう 超初級編
 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan Didak
 
A portrait chapter_1
A portrait chapter_1A portrait chapter_1
A portrait chapter_1
 

Ähnlich wie TYPO3 CMS 7.1 - Die Neuerungen - pluswerk

TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
Jochen Rau
 

Ähnlich wie TYPO3 CMS 7.1 - Die Neuerungen - pluswerk (20)

Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit Wordpress
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-Ansätze
 
TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?TYPO3 4.5 LTS - Was ist neu?
TYPO3 4.5 LTS - Was ist neu?
 
PHP im High End
PHP im High EndPHP im High End
PHP im High End
 
Contao und CSS
Contao und CSS Contao und CSS
Contao und CSS
 
Logging mit log4net
Logging mit log4netLogging mit log4net
Logging mit log4net
 
Back to Basics – Webinar 2: Ihre erste MongoDB-Anwendung
Back to Basics – Webinar 2: Ihre erste MongoDB-AnwendungBack to Basics – Webinar 2: Ihre erste MongoDB-Anwendung
Back to Basics – Webinar 2: Ihre erste MongoDB-Anwendung
 
Systemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im ÜberblickSystemvorstellung: dante cms im Überblick
Systemvorstellung: dante cms im Überblick
 
Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0
 
MongoDB - Big Data mit Open Source
MongoDB - Big Data mit Open SourceMongoDB - Big Data mit Open Source
MongoDB - Big Data mit Open Source
 
Back to Basics German 2: Erstellen Sie Ihre erste Anwendung in MongoDB
Back to Basics German 2: Erstellen Sie Ihre erste Anwendung in MongoDBBack to Basics German 2: Erstellen Sie Ihre erste Anwendung in MongoDB
Back to Basics German 2: Erstellen Sie Ihre erste Anwendung in MongoDB
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJS
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
 
WordPress vs. TYPO3
WordPress vs. TYPO3WordPress vs. TYPO3
WordPress vs. TYPO3
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
 

Mehr von die.agilen GmbH

Mehr von die.agilen GmbH (20)

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
 
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...
 
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...
 
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
 
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
 
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
 

TYPO3 CMS 7.1 - Die Neuerungen - pluswerk

  • 1. TYPO3 CMS 7.1 - What’s New Übersicht der neuen Funktionen, Änderungen und Verbesserungen Patrick Lobacher (GF +Pluswerk GmbH) http://www.plus-werk.com 17/February/2015 Creative Commons BY-NC-SA 3.0
  • 2. TYPO3 CMS 7.1 - What’s New Kapitelübersicht Einführung Backend User Interface TSconfig & TypoScript Änderungen im System Extbase & Fluid Veraltete/Entfernte Funktionen Quellen und Autoren TYPO3 CMS 7.1 - What’s New
  • 4. Einführung TYPO3 CMS 7.1: Die Fakten Veröffentlichungsdatum: 24. Februar 2015 Releasetyp: "Sprint Release" Vision: Embrace, Innovate, Deliver Hauptfokus: Core Cleanup Streamlining TYPO3 CMS 7.1 - What’s New
  • 5. Einführung Systemvoraussetzungen PHP*: v5.5.0 - v5.6.x MySQL: v5.5.x - v5.6.x (no strict mode) Festplattenplatz: mindestens 200 MB PHP Einstellungen: memory_limit >= 128M max_execution_time >= 240s PHP Kompilierungsoption –disable-ipv6 darf nicht aktiviert sein Backend benötigt IE >= 9 oder jeden anderen modernen Browser *) weitere Details: PHP Minimum Requirements for TYPO3 CMS 7 TYPO3 CMS 7.1 - What’s New
  • 7. Einführung TYPO3 CMS Roadmap Voraussichtliche Veröffentlichungen und deren Hauptfokus: v7.0 02/Dez/2014 Backend Overhaul Vol 1 v7.1 24/Feb/2015 Core Cleanup & Streamlining v7.2 10/Mär/2015 Frontend v7.3 21/Apr/2015 Composer Ecosystem v7.4 09/Jun/2015 Backend Overhaul Vol 2 v7.5 28/Jul/2015 (noch unbestimmt) v7.6 13/Okt/2015 pre-LTS inferno v7.7 xx/xxx/2015 TYPO3 CMS 7 LTS (Long Term Release) https://typo3.org/typo3-cms/roadmap/ http://typo3.org/news/article/embrace-and-innovate-typo3-cms-7/ TYPO3 CMS 7.1 - What’s New
  • 8. Einführung Installation Empfohlene Installationsschritte unter Linux/Mac OS X (DocumentRoot ist beispielsweise /var/www/site/htdocs): $ cd /var/www/site $ wget --content-disposition get.typo3.org/7.1 $ tar xzf typo3_src-7.1.0.tar.gz $ cd htdocs $ ln -s ../typo3_src-7.1.0 typo3_src $ ln -s typo3_src/index.php $ ln -s typo3_src/typo3 $ touch FIRST_INSTALL Symbolische Links unter Microsoft Windows: unter Windows XP/2000 kann junction benutzt werden unter Windows Vista und Windows 7 kann mlink benutzt werden TYPO3 CMS 7.1 - What’s New
  • 9. Einführung Upgrade zu TYPO3 CMS 7 Upgrades nur von TYPO3 CMS 6.2 LTS möglich TYPO3 CMS < 6.2 sollte man erst auf TYPO3 CMS 6.2 LTS aktualisieren Upgrade-Anleitung: http://wiki.typo3.org/Upgrade#Upgrading_to_7.1 Offizielles TYPO3 Guide "TYPO3 Installation and Upgrading": http://docs.typo3.org/typo3cms/InstallationGuide Generelles Vorgehen: Prüfen, ob Mindestvoraussetzungen erfüllt sind (PHP, MySQL, etc.) Das deprecation_*.log der TYPO3 Instanz durchsehen Sämtliche Extensions auf den aktuellsten Stand bringen Neuen TYPO3 Quellcode entpacken und im Install Tool den Upgrade Wizard ausführen Startup Modul von Backend Benutzern überprüfen (optional) TYPO3 CMS 7.1 - What’s New
  • 10. Backend User Interface Kapitel 1: Backend User Interface TYPO3 CMS 7.1 - What’s New
  • 11. Backend User Interface Look & Feel: Date/Time Picker Date/Time Picker im Backend wurde auf Twitter Bootstrap umgestellt TYPO3 CMS 7.1 - What’s New
  • 12. Backend User Interface Look & Feel: Funktionen-Modul Die Funktionen "Seiten sortieren" und "mehrere Seiten erzeugen" sind jetzt unter WEB => Funktionen zu finden (in TYPO3 CMS < 7.1 waren diese unter "WEB => Funktionen => Wizards" zu finden) TYPO3 CMS 7.1 - What’s New
  • 13. Backend User Interface Look & Feel: Access Modul Im Modul Access kann man User und/oder Gruppe unverändert (" - leave unchanged -") lassen, wenn man nur die Berechtigungen ändern möchte TYPO3 CMS 7.1 - What’s New
  • 14. Backend User Interface Look & Feel: Icons im List-Modul Icons ("Action Buttons") im List-Modul sind nun in zwei Gruppen angeordnet (primäre Aktionen (lesen, speichern, löschen) zuerst, anschließend die sekundären Icons) TYPO3 CMS 7.1 - What’s New
  • 15. TSconfig & TypoScript Kapitel 2: TSconfig & TypoScript TYPO3 CMS 7.1 - What’s New
  • 16. TSconfig & TypoScript StdWrap für page.headTag TypoScript Option page.headTag hat nun stdWrap-Funktionalität page = PAGE page.headTag = <head> page.headTag.override = <head class="special"> page.headTag.override.if { isInList.field = uid value = 24 } TYPO3 CMS 7.1 - What’s New
  • 17. TSconfig & TypoScript JavaScript-Dateien asynchron laden JavaScript-Dateien könen nun asynchron geladen werden page { includeJS { jsFile = /path/to/file.js jsFile.async = 1 } } Das gilt für: includeJSlibs / includeJSLibs includeJSFooterlibs includeJS includeJSFooter TYPO3 CMS 7.1 - What’s New
  • 18. TSconfig & TypoScript HMENU Eigenschaft mit additionalWhere TypoScript cObject HMENU erhält eine neue Eigenschaft additionalWhere Jenes erlaubt eine spezifischere DB Abfrage (z.B. Filterung) Beispiel: lib.authormenu = HMENU lib.authormenu.1 = TMENU lib.authormenu.1.additionalWhere = AND author!="" TYPO3 CMS 7.1 - What’s New
  • 19. TSconfig & TypoScript Zusätzliche Eigenschaften für HMENU Browse-Menü Zwei neue Eigenschaften für das cObject HMENU (Option "special=browse"), um detaillierter definieren zu können, welche Seiten im Menü erscheinen sollen: excludeNoSearchPages includeNotInMenu Beispiel: lib.browsemenu = HMENU lib.browsemenu.special = browse lib.browsemenu.special.excludeNoSearchPages = 1 lib.browsemenu.includeNotInMenu = 1 TYPO3 CMS 7.1 - What’s New
  • 20. TSconfig & TypoScript Mehrere HTTP-Header HTTP Header können nun mittels config.additionalHeaders als Array gesetzt werden Das ermöglicht es, mehreren Header-Zeilen auf einmal zu konfigurieren config.additionalHeaders { 10 { # header string header = WWW-Authenticate: Negotiate # (optional) replace previous headers with the same name (default: 1) replace = 0 # (optional) force HTTP response code httpResponseCode = 401 } # set second additional HTTP header 20.header = Cache-control: Private } TYPO3 CMS 7.1 - What’s New
  • 21. TSconfig & TypoScript Option "auto" für config.absRefPrefix TypoScript Konfiguration config.absRefPrefix kann verwendet werden, um der URL einen Prefix bei relativen Pfaden zu geben. Als Alternative zu config.baseURL (um eine bestimmte Domain zu spezifizieren), erkennt absRefPrefix die Site-Root automatisch: config.absRefPrefix = auto # anstelle von: [ApplicationContext = Production] config.absRefPrefix = / [ApplicationContext = Testing] config.absRefPrefix = /my_site_root/ Hinweis: diese Option ist "Multi-Domain"-sicher und mehrfaches Caching der selben Daten wird verhindern. TYPO3 CMS 7.1 - What’s New
  • 22. TSconfig & TypoScript Zwei-Zeichen ISO Code für sys_language (1) Die Behandlung von Sprachen wird durch Einträge in DB Tabelle sys_language vorgenommen, die durch sys_language_uid referenziert werden In TYPO3 CMS 7.1 wurden ISO 639-1 Zwei-Zeichen Codes implementiert: Neues DB Feld: sys_language.language_isocode Neue TypoScript-Option: sys_language_isocode Hinweis: bei ISO 639 handelt es sich um eine Sammlung von Standards der "International Organization for Standardization". Eine List der ISO 639-1 Codes ist hier abrufbar: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes TYPO3 CMS 7.1 - What’s New
  • 23. TSconfig & TypoScript Zwei-Zeichen ISO Code für sys_language (2) Beispiel: # Danish by default config.sys_language_uid = 0 config.sys_language_isocode_default = da [globalVar = GP:L = 1] # ISO code stored in table sys_language (uid 1) config.sys_language_uid = 1 # overwrite ISO code as required config.sys_language_isocode = fr [GLOBAL] page.10 = TEXT page.10.data = TSFE:sys_language_isocode page.10.wrap = <div class="main" data-language="|"> TYPO3 CMS 7.1 - What’s New
  • 24. TSconfig & TypoScript Eigene Conditions im Backend Eigene Conditions für das Frontend wurden bereits mit TYPO3 CMS 7.0 eingeführt Seit TYPO3 CMS 7.1 ist es nun auch möglich, eigene Conditions für das Backend zu implementieren Die Condition muss von AbstractCondition ableiten und die Methode matchCondition bereitstellen Anwendungsbeispiel in TypoScript: [BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition] [BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = 7] [BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = 7, != 6] [BigCompanyNameTypoScriptLovePackageMyCustomTypoScriptCondition = {$mysite.myconstant}] TYPO3 CMS 7.1 - What’s New
  • 25. TSconfig & TypoScript Zufügen von Icons in TCEFORM via PageTSconfig Eigene Werte und Labels von Select-Feldern können bereits mit der PageTSconfig Option addItems vergeben werden Nun können auch Icons für diese Felder definiert werden Option 1: mittels addItems und der Eigenschaft .icon Option 2: mittels altIcons (generell für alle Felder) Beispiel: TCEFORM.pages.doktype.addItems { 10 = My Label 10.icon = EXT:t3skin/icons/gfx/i/pages.gif } TCEFORM.pages.doktype.altIcons { 10 = EXT:myext/icon.gif } TYPO3 CMS 7.1 - What’s New
  • 26. TSconfig & TypoScript Element Browser: Mountpoints hinzufügen Neue UserTSconfig Option .append erlaubt es Administratoren Mountpoints hinzuzufügen, anstatt die Liste der konfigurierten DB Mountpoints eines Benutzers neu zu schreiben Beispiel: options.pageTree.altElementBrowserMountPoints = 20,31 options.pageTree.altElementBrowserMountPoints.append = 1 TYPO3 CMS 7.1 - What’s New
  • 27. TSconfig & TypoScript Überschreiben der Labels von Radio-Buttons und Checkboxen Labels von Radio-Buttons und Checkboxen können nun überschrieben werden Beispiel: // field with a single checkbox (use ".default") TCEFORM.pages.hidden.altLabels.default = new label TCEFORM.pages.hidden.altLabels.default = LLL:path/to/languagefile.xlf:individualLabel // field with multiple checkboxes (0, 1, 2, 3...) TCEFORM.pages.l18n_cfg.altLabels.0 = new label of first checkbox TCEFORM.pages.l18n_cfg.altLabels.1 = new label of second checkbox TCEFORM.pages.l18n_cfg.altLabels.2 = new label of third checkbox ... TYPO3 CMS 7.1 - What’s New
  • 28. TSconfig & TypoScript Diverses (1) Breite und Höhe des Element-Browsers können nun per UserTSconfig festgelegt werden options.popupWindowSize = 400x900 options.RTE.popupWindowSize = 200x200 PageTSconfig: mit einer neue RTE-Konfiguration kann das Standard-Ziel von Links beeinflusst werden buttons.link.[type].properties.target.default Wobei [type] zum Beispiel page, file, url, mail or spec sein kann (Extensions können weitere Typen zur Verfügung stellen) TYPO3 CMS 7.1 - What’s New
  • 29. TSconfig & TypoScript Diverses (2) Standardmäßig sind Section-Headlines der Indexed-Search Resultate verlinkt. Das kann nun mittels TypoScript deaktiviert werden plugin.tx_indexedsearch.linkSectionTitles = 0 getData kann jetzt auch field-Daten abfragen (nicht nur Arrays, wie beispielsweise GPVar und TSFE) 10 = TEXT 10.data = field:fieldname|level1|level2 TypoScript Konfiguration config.pageTitle hat jetzt stdWrap-Funktionalität # make value of <title> upper case page = PAGE page.config.pageTitle.case = upper TYPO3 CMS 7.1 - What’s New
  • 30. Änderungen im System Kapitel 3: Änderungen im System TYPO3 CMS 7.1 - What’s New
  • 31. Änderungen im System TCA: Maximum chars in text element TCA-Typ text unterstützt nun das HTML5-Attribut maxlength, um die maximale Anzahl der einzugebenden Zeichen zu beschränken (Hinweis: Zeilenumbrüche zählen hierbei als zwei Zeichen) ’teaser’ => array( ’label’ => ’Teaser’, ’config’ => array( ’type’ => ’text’, ’cols’ => 60, ’rows’ => 2, ’max’ => ’30’ // <-- maxlength ) ), Es ist zu beachten, dass nicht alle Browser dieses Attribut unterstützen. Siehe: Browserübersicht TYPO3 CMS 7.1 - What’s New
  • 32. Änderungen im System New SplFileInfo implementation Neue Klasse: TYPO3CMSCoreTypeFileFileInfo Diese erweitert SplFileInfo, die wiederrum Meta-Informationen von Dateien ermittelt $fileIdentifier = ’/tmp/foo.html’; $fileInfo = GeneralUtility::makeInstance( TYPO3CMSCoreTypeFileFileInfo::class, $fileIdentifier ); echo $fileInfo->getMimeType(); // output: text/html Entwickler können über folgenden Hook auf die Funktionalität zugreifen: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [TYPO3CMSCoreTypeFileFileInfo::class][’mimeTypeGuessers’] TYPO3 CMS 7.1 - What’s New
  • 33. Änderungen im System UserFunc in TCA Display Condition userFunc displayCondition ermöglicht es auf jeden erdenklichen Status und jede Condition zu prüfen Sollte irgendeine Situation nicht mit den existierenden Checks abgefangen werden können, ist es auch möglich, eigene Funktionen zu schreiben (diese müssen lediglich TRUE/FALSE zurückgeben, um das entsprechende TCA Field sichtbar zu machen oder zu verbergen) $GLOBALS[’TCA’][’tt_content’][’columns’][’bodytext’][’displayCond’] = ’USER:VendorExampleUserElementConditionMatcher-> checkHeaderGiven:any:more:information’; TYPO3 CMS 7.1 - What’s New
  • 34. Änderungen im System API für Twitter Bootstrap Modals (1) Zwei neue API Methoden um Modal Popups zu erzeugen/entfernen: TYPO3.Modal.confirm(title, content, severity, buttons) TYPO3.Modal.dismiss() Optionen title und content sind mindestens erforderlich Optionen buttons.text und buttons.trigger sind erforderlich, wenn buttons verwendet wird Beispiel 1: TYPO3.Modal.confirm( ’The title of the modal’, // title ’This the the body of the modal’, // content TYPO3.Severity.warning // severity ); TYPO3 CMS 7.1 - What’s New
  • 35. Änderungen im System API für Twitter Bootstrap Modals (2) Beispiel 2: TYPO3.Modal.confirm(’Warning’, ’You may break the internet!’, TYPO3.Severity.warning, [ { text: ’Break it’, active: true, trigger: function() { ... } }, { text: ’Abort!’, trigger: function() { TYPO3.Modal.dismiss(); } } ] ); TYPO3 CMS 7.1 - What’s New
  • 36. Änderungen im System JavaScript Storage API (1) Mittels JavaScript kann auf die BE User Konfiguration zugegriffen werden ($BE_USER->uc, einfache Key-Value Paare) Zusätzlich kann nun auch der HTML5 Standard localStorage verwendet werden, um Daten (Client-seitig) im Browser des Benutzers zu speichern und auszulesen Zwei neue global TYPO3 Objekte: top.TYPO3.Storage.Client top.TYPO3.Storage.Persistent Jedes Objekt hat folgende API Methoden: get(key): Daten holen set(key,value): Daten schreiben isset(key): Prüfen, ob key genutzt wird clear(): Löschen des Speichers TYPO3 CMS 7.1 - What’s New
  • 37. Änderungen im System JavaScript Storage API (2) Beispiel: // get value of key ’startModule’ var value = top.TYPO3.Storage.Persistent.get(’startModule’); // write value ’web_info’ as key ’start_module’ top.TYPO3.Storage.Persistent.set(’startModule’, ’web_info’); TYPO3 CMS 7.1 - What’s New
  • 38. Änderungen im System Inline Rendering von Checkboxes Die Konfiguration inline sorgt bei "cols" dafür, dass Checkboxen nebeneinander dargestellt werden, um Platz im Backend User Interface zu sparen ’weekdays’ => array( ’label’ => ’Weekdays’, ’config’ => array( ’type’ => ’check’, ’items’ => array( array(’Mo’, ’’), array(’Tu’, ’’), array(’We’, ’’), array(’Th’, ’’), array(’Fr’, ’’), array(’Sa’, ’’), array(’Su’, ’’) ), ’cols’ => ’inline’ ) ), ... TYPO3 CMS 7.1 - What’s New
  • 39. Änderungen im System Content Object Registration Es wurde eine neue globale Option eingeführt, um cObjects wie TEXT zu registrieren bzw. zu erweitern Eine Liste aller verfügbaren cObjects ist verfügbar als: $GLOBALS[’TYPO3_CONF_VARS’][’FE’][’ContentObjects’] Beispiel: ein neues cObject EXAMPLE registrieren $GLOBALS[’TYPO3_CONF_VARS’][’FE’][’ContentObjects’][’EXAMPLE’] = VendorMyExtensionContentObjectExampleContentObject::class; Die registrierte Klasse muss von der folgenden Klasse ableiten: TYPO3CMSFrontendContentObjectAbstractContentObject Idealerweise speichert man seine Datei im Verzeichnis typo3conf/myextension/Classes/ContentObject/ um für zukünftige Autoload-Funktionen vorbereitet zu sein TYPO3 CMS 7.1 - What’s New
  • 40. Änderungen im System Hooks und Signals (1) Neuer Hook wurde am Ende von PageRepository->init() hinzugefügt, mit dem die Sichtbarkeit von Seiten beeinflusst werden kann Der Hook kann wie folgt registriert werden: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [TYPO3CMSFrontendPagePageRepository::class][’init’] Die Hook-Klasse muss das folgende Interface implementieren: TYPO3CMSFrontendPagePageRepositoryInitHookInterface TYPO3 CMS 7.1 - What’s New
  • 41. Änderungen im System Hooks und Signals (2) Neuer Hook wurde zu PageLayoutView hinzugefügt, um das Rendering des Footers von Inhaltselementen im Backend manipulieren zu können Beispiel: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’cms/layout/class.tx_cms_layout.php’][’tt_content_drawFooter’]; Die Hook-Klasse muss das folgende Interface implementieren: TYPO3CMSBackendViewPageLayoutViewDrawFooterHookInterface TYPO3 CMS 7.1 - What’s New
  • 42. Änderungen im System Hooks und Signals (3) Es wurde ein Hook als Post-Prozessor zu BackendUtility::countVersionsOfRecordsOnPage hinzugefügt Dieser wird z.B. verwendet, um Workspace-Zustände im Seitenbaum zu visualisieren Der Hook kann wie folgt registriert werden: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’t3lib/class.t3lib_befunc.php’][’countVersionsOfRecordsOnPage’][] = ’MyPackageHookClass->hookMethod’; TYPO3 CMS 7.1 - What’s New
  • 43. Änderungen im System Hooks und Signals (4) Neues Signal wurde am Ende der Methode DataPreprocessor::fetchRecord() hinzugefügt Jenes kann dazu verwendet werden, um das Array regTableItems_data zu manipulieren, damit die manipulierten Daten in TCEForms angezeigt werden können $this->getSignalSlotDispatcher()->dispatch( TYPO3CMSBackendFormDataPreprocessor::class, ’fetchRecordPostProcessing’, array($this) ); TYPO3 CMS 7.1 - What’s New
  • 44. Änderungen im System Hooks und Signals (5) Neues Signal wurde eingeführt, um zusätzlichen Code bei der Registrierung des Mailer-Objekts auszuführen (z.B. Swift Mailer Plugins) $signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility::makeInstance( TYPO3CMSExtbaseSignalSlotDispatcher::class ); $signalSlotDispatcher->connect( TYPO3CMSCoreMailMailer::class, ’postInitializeMailer’, VendorPackageSlotsMailerSlot::class, ’registerPlugin’ ); TYPO3 CMS 7.1 - What’s New
  • 45. Änderungen im System Multiple UID in PageRepository::getMenu() Methode PageRepository::getMenu() kann nun auch ein Array aufnehmen, um meherer Root-Seiten zu definieren $pageRepository = new TYPO3CMSFrontendPagePageRepository(); $pageRepository->init(FALSE); $rows = $pageRepository->getMenu(array(2, 3)); TYPO3 CMS 7.1 - What’s New
  • 46. Extbase & Fluid Kapitel 4: Extbase & Fluid TYPO3 CMS 7.1 - What’s New
  • 47. Extbase & Fluid PaginateViewHelper Der Paginate-ViewHelper unterstützt nun folgende Input-Werte: QueryResultInterface ObjectStorage ArrayAccess array Beispiel: <f:widget.paginate objects="{blogs}" as="paginatedBlogs"> <f:for each="{paginatedBlogs}" as="blog"> <h4>{blog.title}</h4> </f:for> </f:widget.paginate> TYPO3 CMS 7.1 - What’s New
  • 48. Extbase & Fluid ContainerViewHelper lädt RequireJS Module Der ContainerViewHelper kann RequireJS-Module via includeRequireJsModules Attribut laden Beispiel: <f:be.container pageTitle="Extension Module" loadJQuery="true" includeRequireJsModules="{ 0:’TYPO3/CMS/Extension/Module1’, 1:’TYPO3/CMS/Extension/Module2’, 2:’TYPO3/CMS/Extension/Module3’, 3:’TYPO3/CMS/Extension/Module4’ }" > TYPO3 CMS 7.1 - What’s New
  • 49. Extbase & Fluid Methode has() im ObjectAccess Für die Benutzung in Fluid, object.property und object.isProperty unterstützten bereits die folgenden Methoden: isProperty() getProperty() Neu in TYPO3 CMS 7.1: hasProperty() Hier wird die Method $object->hasProperty() aufgerufen, wenn object.hasProperty in Fluid benutzt wird TYPO3 CMS 7.1 - What’s New
  • 50. Extbase & Fluid Hochladen mehrerer Dateien im FormUpload-ViewHelper Der FormUpload-Viewhelper unterstützt das neue Attribut multiple, welches es ermöglicht, mehrere Dateien auf einmal zu übertragen <f:form.upload property="files" multiple="multiple" /> Hinweis: es ist darauf zu achten, dass für das Property-Mapping ein eigener TypeConverter erstellt werden muss! TYPO3 CMS 7.1 - What’s New
  • 51. Veraltete/Entfernte Funktionen Kapitel 5: Veraltete und entfernte Funktionen TYPO3 CMS 7.1 - What’s New
  • 52. Veraltete/Entfernte Funktionen $TYPO3_CONF_VARS[SYS][compat_version] Die Option $TYPO3_CONF_VARS[SYS][compat_version] (gesetzt beim Update im Install Tool wizard) wurde entfernt Alle Prüfungen gegen GeneralUtility::compat_version werden nun gegen die Konstante TYPO3_branch gemacht Hinweis: TypoScript Conditions, die auf compat_version prüfen, haben nun keine Wirkung mehr! TYPO3 CMS 7.1 - What’s New
  • 53. Veraltete/Entfernte Funktionen Inline styles of <blockquote> tag CSS Styled Content rendert <blockquote> über die TypoScript Option lib.parseFunc_RTE Diese Zeilen wurden ersatzlos entfernt: lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser = 1 lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote. overrideAttribs = style="margin-bottom:0;margin-top:0;" Das bedeutet, die Inline-Styles "margin-bottom:0;margin-top:0;" werden dem <blockquote>-Tag nicht mehr hinzugefügt Hinweis: nach einem Update auf TYPO3 CMS 7.1 könnte sich das Styling von <blockquote> geändert haben TYPO3 CMS 7.1 - What’s New
  • 54. Veraltete/Entfernte Funktionen Workspaces: Feld disable_autocreate Das Feld disable_autocreate wurde von EXT:workspaces entfernt Sollten TYPO3 Extensions dieses Feld verwenden, wird ein SQL Fehler erzeugt TYPO3 CMS 7.1 - What’s New
  • 55. Veraltete/Entfernte Funktionen Funktion: include_once Die Funktionalität, um PHP-Dateien mittels include_once innerhalb von Modul-Funktionen (wie z.B. dem Info-Modul) zu inkludieren, wurde entfernt Das gilt für folgende Module: Web => Page Web => Page - New Content Element Wizard Web => Functions Web => Info Web => Template Web => Recycler User => Task Center System => Scheduler TYPO3 CMS 7.1 - What’s New
  • 56. Veraltete/Entfernte Funktionen TypoScript Option: config.meaningfulTempFilePrefix Früher war es möglich, per TypoScript Teile des Original-Dateinamens zum Dateinamen hinzuzufügen, der vom GIFBUILDER generiert wird Jenes war mit folgender TypoScript Option möglich: config.meaningfulTempFilePrefix (standardmäßig verwendete der GIFBUILDER lediglich ein Hash-Wert als Dateinamen) Diese Option wurde entfernt (Dateinamen im Verzeichnis typo3temp/GB/ enthalten nun den Original-Dateinamen automatisch) TYPO3 CMS 7.1 - What’s New
  • 57. Veraltete/Entfernte Funktionen Removed files Die folgenden Dateien wurden entfernt: typo3/file_edit.php typo3/file_newfolder.php typo3/file_rename.php typo3/file_upload.php typo3/show_rechis.php typo3/listframe_loader.php Deren Funktionalität wurde in Backend Module integriert, z.B. typo3/file_edit.php in BackendUtility::getModuleUrl(’file_edit’); TYPO3 CMS 7.1 - What’s New
  • 58. Veraltete/Entfernte Funktionen ExtJS DateTimePicker Die ExtJS Komponente Ext.ux.DateTimePicker wurde entfernt und gegen die Twitter Bootstrap Alternative ersetzt (siehe Kapitel "Backend User Interface") Das betrifft zum Beispiel die System Extensions EXT:belog und EXT:scheduler Hinweis: Extensions, die die (als "deprecated" markierte) Komponente Ext.ux.DateTimePicker benötigen, werden mit hoher Wahrscheinlichkeit nicht mehr funktionieren. TYPO3 CMS 7.1 - What’s New
  • 59. Veraltete/Entfernte Funktionen Änderungen beim Access List Render Mode Die folgende Variable wurde entfernt: $GLOBALS[TYPO3_CONF_VARS][BE][accessListRenderMode] Die entsprechenden Felder in den TCA Tabellen be_users und be_groups besitzen nun die Standardwert "checkbox" Jenes kann in der Datei typo3conf/extTables.php bei Bedarf angepasst werden: $GLOBALS[’TCA’][’be_users’][’columns’][’file_permissions’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_users’][’columns’][’userMods’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’file_permissions’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’pagetypes_select’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’tables_select’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’tables_modify’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’non_exclude_fields’][’config’][’renderMode’] = ’singlebox’; $GLOBALS[’TCA’][’be_groups’][’columns’][’userMods’][’config’][’renderMode’] = ’singlebox’; TYPO3 CMS 7.1 - What’s New
  • 60. Veraltete/Entfernte Funktionen Content Element "Mailform" Die Mailform Funktionalität, die das cObject FORM bereitstellt, wurde vom TYPO3 Core entfernt (diese ist jedoch weiterhin in EXT:compatibility6 vorhanden) Die folgenden Optionen wurden als "deprecated" markiert: $TYPO3_CONF_VARS][FE][secureFormmail] $TYPO3_CONF_VARS][FE][strictFormmail] $TYPO3_CONF_VARS][FE][formmailMaxAttachmentSize] Die folgenden Methoden im TypoScriptFrontendController wurden entfernt: protected checkDataSubmission() protected sendFormmail() public extractRecipientCopy() public codeString() protected roundTripCryptString() TYPO3 CMS 7.1 - What’s New
  • 61. Veraltete/Entfernte Funktionen Funktionalität überarbeitet (1) Die EXT:indexed_search wird automatisch aktiviert, sobald sie installiert wird. Das bedeutet auch, dass die TypoScript Optionen config.index_enable und config.index_externals ebenfalls automatisch aktiviert werden TSconfig web_func.menu.wiz ändert sich zu web_func.menu.functions Extensions, die sich in die Toolbar oben rechts einklinken, müssen das folgende neue Interface implementieren: TYPO3CMSBackendToolbarToolbarItemInterface und müssen unter folgendem Schlüssel registriert werden: $GLOBALS[’TYPO3_CONF_VARS’][’BE’][’toolbarItems’] TYPO3 CMS 7.1 - What’s New
  • 62. Veraltete/Entfernte Funktionen Funktionalität überarbeitet (2) Die Datei typo3/js/tree.js wurde ersetzt gegen EXT:backend/Resources/Public/JavaScript/LegacyTree.js (basierend auf jQuery) Die Variable $GLOBALS[’WEBMOUNTS’] wurde ersetzt gegen $GLOBALS[’BE_USER’]->returnWebmounts() Die Unterstützung von .t3-table und .t3-button wurde entfernt (Twitter Bootstrap CSS Klassen implementieren die Styles jetzt) Länderflaggen (PNG-Bilder) wurden von typo3/gfx/flags/ und typo3/sysext/t3skin/images/flags/ nach typo3/sysext/core/Resources/Public/Icons/flags/ verschoben TYPO3 CMS 7.1 - What’s New
  • 63. Veraltete/Entfernte Funktionen Funktionalität überarbeitet (3) CSS Styled Content TypoScript Templates der TYPO3 CMS Versionen 4.5 bis 6.1 wurden entfernt Die folgenden TypoScript cObjects wurden in die Legacy-Extension EXT:compatibility6 verschoben: SEARCHRESULTS COLUMNS OTABLE CLEARGIF IMGTEXT CTABLE HRULER Das Inhaltselement search wurde in die Legacy-Extension EXT:compatibility6 verschoben Die folgenden TCA-Wizard-Optionen wurden entfernt: _PADDING _VALIGN _DISTANCE TYPO3 CMS 7.1 - What’s New
  • 64. Veraltete/Entfernte Funktionen TypoScript-Option andWhere Die TypoScript-Option andWhere wurde als "deprecated" markiert Integratoren sollten die Eigenschaften where und markers verwenden: page.30 = CONTENT page.30 { table = tt_content select { pidInList = this orderBy = sorting where { dataWrap = sorting>{field:sorting} } } } page.60 = CONTENT page.60 { table = tt_content select { pidInList = 73 where = header != ###whatever### orderBy = ###sortfield### markers { whatever.data = GP:first sortfield.value = sor sortfield.wrap = |ting } } } TYPO3 CMS 7.1 - What’s New
  • 65. Veraltete/Entfernte Funktionen Entry-Points Die folgenden Entry-Points wurden als "deprecated" markiert: typo3/tce_file.php typo3/move_el.php typo3/tce_db.php typo3/login_frameset.php typo3/sysext/cms/layout/db_new_content_el.php typo3/sysext/cms/layout/db_layout.php Stattdessen kann nun folgendes verwendet werden: TYPO3CMSBackendUtilityBackendUtility::getModuleUrl(’<parameter>’) Wobei <parameter> eines der folgenden Elemente sein kann: tce_file, move_element, tce_db, login_frameset, new_content_element, web_layout TYPO3 CMS 7.1 - What’s New
  • 66. Veraltete/Entfernte Funktionen Diverses (1) Die TypoScript-Option config.xhtmlDoctype = xhtml_2 wurde als "deprecated" markiert Die folgenden Methoden wurden als "deprecated" markiert: TYPO3CMSBackendUtilityBackendUtility::implodeTSParams() TYPO3CMSBackendController::makeLoginBoxImage() Die folgende Methode wurde als "deprecated" markiert: LocalImageProcessor::getTemporaryImageWithText() ...und ersetzt gegen: TYPO3CMSCoreImagingGraphicalFunctions::getTemporaryImageWithText() Die stdWrap Eigenschaften textStyle und tableStyle wurde als "deprecated" markiert TYPO3 CMS 7.1 - What’s New
  • 67. Veraltete/Entfernte Funktionen Diverses (2) Die TypoScript-Option page.includeJSlibs wurde umbenannt zu page.includeJSLibs (Großbuchstabe "L") und die alte Option als "deprecated" markiert Die Condition device wurde als "deprecated" markiert Die Methode DocumentTable::table() wurde als "deprecated" markiert (Entwickler sollten dafür Fluid verwenden) Die folgende Methode wurde als "deprecated" markiert: TYPO3CMSFrontendController TypoScriptFrontendController::doXHTML_cleaning() ...ebenso die dazugehörige TypoScript-Option config.xhtml_cleaning Der folgende Hook wurde als "deprecated" markiert: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’GLOBAL’][’softRefParser_GL’] TYPO3 CMS 7.1 - What’s New
  • 68. Veraltete/Entfernte Funktionen Diverses (3) Die folgenden Methoden wurden als "deprecated" markiert: TypoScriptTemplateObjectBrowserModuleFunctionController:: verify_TSobjects() ExtendedTemplateService::ext_getKeyImage() ConfigurationForm::ext_getKeyImage() Die Ausführung von contentObject->COBJECT() wurde als "deprecated" markiert (benutze stattdessen $cObj->cObjGetSingle(’...’, $conf);) Der direkte Zugriff auf FormEngine::$renderReadonly wurde als "deprecated" markiert (benutze stattdessen AbstractFormElement::setRenderReadonly(TRUE);) TYPO3 CMS 7.1 - What’s New
  • 69. Veraltete/Entfernte Funktionen Diverses (4) Die folgenden FormEngine-Methoden wurden als "deprecated" markiert: FormEngine::insertDefStyle FormEngine::getAvailableLanguages() FormEngine::sL() FormEngine::renderVDEFDiff() FormEngine::getLL() FormEngine::getTSCpid() FormEngine::getSingleField_typeFlex_langMenu() FormEngine::getSingleField_typeFlex_sheetMenu() FormEngine::getSpecConfFromString() TYPO3 CMS 7.1 - What’s New
  • 70. Quellen und Autoren Kapitel 6: Quellen und Autoren TYPO3 CMS 7.1 - What’s New
  • 71. Quellen und Autoren Quellennachweis TYPO3 News: http://typo3.org/news Release Infos: http://wiki.typo3.org/TYPO3_CMS_7.1.0 INSTALL.md and ChangeLog typo3/sysext/core/Documentation/Changelog/7.1/* TYPO3 Bug-/Issuetracker: https://forge.typo3.org/projects/typo3cms-core TYPO3 Git Repositories: https://git.typo3.org/Packages/TYPO3.CMS.git https://git.typo3.org/Packages/TYPO3.Fluid.git TYPO3 CMS 7.1 - What’s New
  • 72. Quellen und Autoren pluswerk pluswerk ist eine Full Service Agentur für leidenschaftliche digitale Kommunikation mit 10 Standorten in Deutschland und über 130 Mitarbeitern www.plus-werk.com | +49 69 260 99 70 50 | facebook.com/pluswerk TYPO3 CMS 7.1 - What’s New