SlideShare ist ein Scribd-Unternehmen logo
TYPO3 CMS 7.6 - What's New
Übersicht der neuen Funktionen, Änderungen
und Verbesserungen
Patrick Lobacher (Vorstand pluswerk AG)
http://www.pluswerk.ag
10/November/2015
Creative Commons BY-NC-SA 3.0
TYPO3 CMS 7.6 - 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.6 - What's New
Einführung
Einführung
(Die Fakten)
TYPO3 CMS 7.6 - What's New
Einführung
TYPO3 CMS 7.6 - Die Fakten
Veröffentlichungsdatum: 10. November 2015
Releasetyp: Long Term Support (LTS) Release
Vision: Embrace, Innovate, Deliver
TYPO3 CMS 7.6 - 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
max_input_vars >= 1500
compilation option --disable-ipv6 must not be used
Backend benötigt IE >= 9 oder jeden anderen modernen Browser
*) weitere Details: PHP Minimum Requirements for TYPO3 CMS 7
TYPO3 CMS 7.6 - What's New
Einführung
Release-Zyklus
TYPO3 CMS 7.6 - 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 28/Apr/2015 Frontend
v7.3 16/Jun/2015 Package Ecosystem, Composer
v7.4 04/Aug/2015 Backend Overhaul Vol 2
v7.5 29/Sep/2015 Finalization
v7 LTS 10/Nov/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.6 - 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.6
$ tar xzf typo3_src-7.6.0.tar.gz
$ cd htdocs
$ ln -s ../typo3_src-7.6.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 mklink benutzt werden
TYPO3 CMS 7.6 - 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.6
Of zielles 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.6 - What's New
Backend User Interface
Kapitel 1:
Backend User Interface
TYPO3 CMS 7.6 - What's New
Backend User Interface
Benachrichtigungseinstellungen bei Workspaces (1)
Die Benachrichtigungseinstellungen (engl. Noti cation Settings) innerhalb
der Workspaces wurden überarbeitet
TYPO3 CMS 7.6 - What's New
Backend User Interface
Benachrichtigungseinstellungen bei Workspaces (2)
Man kann nun sogar für den Stage publish-execute Einstellungen
vornehmen
TYPO3 CMS 7.6 - What's New
Backend User Interface
Suche im Dateibrowser
Im Popup des Dateibrowser ist nun eine einfache Suche integriert, die
rekursiv agiert
TYPO3 CMS 7.6 - What's New
TScon g & TypoScript
Kapitel 2:
TScon g & TypoScript
TYPO3 CMS 7.6 - What's New
TScon g & TypoScript
Parameter für indexed_search
Einige Parameter für indexed_search, die bisher hart-kodiert waren,
können nun kon guriert werden
titleCropAfter = 50
titleCropSignifier = ...
summaryCropAfter = 180
summaryCropSignifier =
hrefInSummaryCropAfter = 60
hrefInSummaryCropSignifier = ...
markupSW_summaryMax = 300
markupSW_postPreLgd = 60
markupSW_postPreLgd_offset = 5
markupSW_divider = ...
Dabei können folgende Schlüssel angesprochen werden:
plugin.tx_indexedsearch.results.
plugin.tx_indexedsearch.settings.results.
Alle Optionen besitzen auÿerdem stdWrap-Funktionalität
TYPO3 CMS 7.6 - What's New
TScon g & TypoScript
Kon guration des Path-Seperators bei indexed_search
Es wurde eine neue TypoScript-Option breadcrumbWrap hinzugefügt,
mit dem Path-Seperators bei indexed_search kon guriert werden
kann
Darüber wird der Pfad für die Breadcrumb bei Suchergebnissen
angezeigt
Die Option verfügt über Option-Split und ist standardmäÿig auf "/"
kon guriert
plugin.tx_indexedsearch.settings.breadcrumbWrap = / || /
TYPO3 CMS 7.6 - What's New
TScon g & TypoScript
no_cache Parameter-Kon guration für indexed_search
Es wurde eine neuen TypoScript-Option hinzugefügt:
forwardSearchWordsInResultLink.no_cache
Damit kann eingestellt werden, ob der no_cache Paramater an die
Seiten-Links innerhalb von indexed_search hinzugefügt wird
// Fuer Extbase-Plugins
plugin.tx_indexedsearch.settings.forwardSearchWordsInResultLink.no_cache = 1
// Fuer eingefuegte Plugins
plugin.tx_indexedsearch.forwardSearchWordsInResultLink.no_cache = 1
TYPO3 CMS 7.6 - What's New
Änderungen im System
Kapitel 3:
Änderungen im System
TYPO3 CMS 7.6 - What's New
Änderungen im System
CSRF Schutz für eigene Plugins
Frontend Plugins müssen nun selbst für einen CSRF-Schutz sorgen:
$formToken = TYPO3CMSCoreFormProtectionFormProtectionFactory::get()->getFormProtection()->
generateToken(’news’, ’edit’, $uid);
if (
$dataHasBeenSubmitted
&& TYPO3CMSCoreFormProtectionFormProtectionFactory::get()->validateToken(
TYPO3CMSCoreUtilityGeneralUtility::_POST(’formToken’), ’User setup’, ’edit’)) {
// alles in Ordnung
}
else {
// ungueltiger Token!
}
TYPO3 CMS 7.6 - What's New
Änderungen im System
Neue Tabs für LinkBrowser (1)
Mit diesem Feature kann der LinkBrowser um neue Tabs erweitert
werden
Jeder Tab wird über einem sogenannten "LinkHandler" gesteuert,
welcher das folgende Interface implementieren muss:
TYPO3CMSRecordlistLinkHandlerLinkHandlerInterface
Die LinkHandler werden über PageTScon g registriert:
file {
handler = TYPO3CMSRecordlistLinkHandlerFileLinkHandler
label = LLL:EXT:lang/locallang_browse_links.xlf:file
displayAfter = page
scanAfter = page
configuration {
customConfig = passed to the handler
}
}
TYPO3 CMS 7.6 - What's New
Änderungen im System
Neue Tabs für LinkBrowser (2)
Die Optionen displayBefore und displayAfter geben die
Anzeigeposition der Tabs an
Die Optionen scanBefore und scanAfter regeln die Reihenfolge der
Ausführung
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’LinkBrowser’][’hooks’][1444048118] = [
’handler’ => VendorExtMyClass::class,
’before’ => [], // optional
’after’ => [] // optional
];
TYPO3 CMS 7.6 - What's New
Änderungen im System
Neue Module Template API (1)
Es wurde eine Module Template API integriert, um die Erstellung der
DocHeader zu vereinheitlichen
Beispiel 1: Button hinzufügen
$openInNewWindowButton = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar()
->makeLinkButton()
->setHref(’#’)
->setTitle($this->getLanguageService()->sL(
’LLL:EXT:lang/locallang_core.xlf:labels.openInNewWindow’, TRUE
))
->setIcon($this->iconFactory->getIcon(’actions-window-open’, Icon::SIZE_SMALL))
->setOnClick($aOnClick);
$this->moduleTemplate->getDocHeaderComponent()->getButtonBar()
->addButton($openInNewWindowButton, ButtonBar::BUTTON_POSITION_RIGHT);
TYPO3 CMS 7.6 - What's New
Änderungen im System
Neue Module Template API (2)
Beispiel 2: Menü hinzufügen
$languageMenu = $this->moduleTemplate->getDocHeaderComponent()
->getModuleMenuRegistry()->makeMenu()
->setIdentifier(’_langSelector’)
->setLabel($this->getLanguageService()->sL(
’LLL:EXT:lang/locallang_general.xlf:LGL.language’, TRUE
));
$menuItem = $languageMenu->makeMenuItem()
->setTitle($lang[’title’] . $newTranslation)
->setHref($href);
if((int)$lang[’uid’] === $currentLanguage) {
$menuItem->setActive(TRUE);
}
$languageMenu->addMenuItem($menuItem);
$this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->addMenu($languageMenu);
TYPO3 CMS 7.6 - What's New
Änderungen im System
PSR-7 Routing für Backend AJAX Requests
Um eine Route für einen AJAX-Request zuzufügen, erstellt man eine
Datei Configuration/Backend/AjaxRoutes.php mit folgendem
Inhalt in der eigenen Extension:
return [
// do something
’unique_route_name’ => [
’path’ => ’/toolcollection/some-action’,
’target’ => VendorControllerSomeController::class . ’::myAction’,
]
];
TYPO3 CMS 7.6 - What's New
Änderungen im System
OpenID Hook getUserRecord
Es wurden zwei Hooks zur Verarbeitung von OpenID hinzugefügt (1/2)
Hook 1:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’openid’][’getUserRecord’]
Modi ziert den Benutzer-Datensatz, nachdem dieser ermittelt wurde,
oder:
Legt einen neuen Datensatz an, wenn keine gefunden wurde
Es werden die Parameter record, response und authInfo an den
Hook übermittelt
TYPO3 CMS 7.6 - What's New
Änderungen im System
OpenID Hook authRequest
Es wurden zwei Hooks zur Verarbeitung von OpenID hinzugefügt (2/2)
Hook 2:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’openid’][’authRequest’]
Modi ziert den Authenti zierungs-Request bevor dieser abgesendet wird
Damit können z.B. zusätzliche Attribute, wie der Nickname vom
OpenID-Server angefordert werden
Es werden die Parameter authRequest und authInfo an den Hook
übermittelt
TYPO3 CMS 7.6 - What's New
Änderungen im System
Hooks und Signals (1)
Es ist nun möglich, das Verzeichnis, welches von
BackendUserAuthentication::getDefaultUploadFolder()
zurückgegeben wird, via Hook zu verändern
Dazu muss folgende Kon guration in die Datei ext_localconf.php
eingetragen werden:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’t3lib/class.t3lib_userauthgroup.php’]
[’getDefaultUploadFolder’][] =
VendorMyExtensionHooksDefaultUploadFolder::class . ’->getDefaultUploadFolder’;
TYPO3 CMS 7.6 - What's New
Änderungen im System
Hooks und Signals (2)
Beispiel:
<?php
namespace VendorMyExtensionHooks;
use TYPO3CMSCoreAuthenticationBackendUserAuthentication;
use TYPO3CMSCoreResourceFolder;
/**
* Class DefaultUploadFolder
*/
class DefaultUploadFolder {
/**
* Get default upload folder
* If there is a folder present with the same name as the last part of the table name use that folder.
* @param array $params
* @param BackendUserAuthentication $backendUserAuthentication
* @return Folder
*/
public function getDefaultUploadFolder($params, BackendUserAuthentication $backendUserAuthentication)
{
[...]
TYPO3 CMS 7.6 - What's New
Änderungen im System
Hooks und Signals (3)
Beispiel (Fortsetzung):
[...]
/** @var Folder $uploadFolder */
$uploadFolder = $params[’uploadFolder’];
$pid = $params[’pid’];
$table = $params[’table’];
$field = $params[’field’];
$matches = [];
if (!empty($uploadFolder) && preg_match(’/_([a-z]+)$/’, $table, $matches)) {
$folderName = $matches[1];
if ($uploadFolder->hasFolder($folderName)) {
$uploadFolder = $uploadFolder->getSubfolder($folderName);
}
}
return $uploadFolder;
}
}
TYPO3 CMS 7.6 - What's New
Änderungen im System
Diverse Änderungen
Der TCA-Typ select muss nun mit einer Option renderType versehen
werden
Folgende Werte sind hierbei zulässig:
’renderType’ => ’selectMultipleSideBySide’,
’renderType’ => ’selectCheckBox’,
’renderType’ => ’selectSingle’,
’renderType’ => ’selectSingleBox’,
’renderType’ => ’selectTree’,
TYPO3 CMS 7.6 - What's New
Extbase & Fluid
Kapitel 4:
Extbase & Fluid
TYPO3 CMS 7.6 - What's New
Extbase & Fluid
Relationen zu gleichen Tabellen
Es nun möglich ein Domain Model zu verwenden, in der ein Objekt eine
Relation zu einem anderen Objekt der selben Klasse hat
namespace VendorExtensionDomainModel;
class A {
/**
* @var VendorExtensionDomainModelA
*/
protected $parent;
}
namespace VendorExtensionDomainModel;
class A {
/**
* @var VendorExtensionDomainModelB
*/
protected $x;
/**
* @var VendorExtensionDomainModelB
*/
protected $y;
}
TYPO3 CMS 7.6 - What's New
Extbase & Fluid
absolute Option für Image-ViewHelper
Der ImageViewhelper und Uri/ImageViewHelper haben nun eine Option
absolute, mit der eine absolute URL ausgegeben werden kann.
Beispiel 1 (ImageViewhelper):
<f:image image="{file}" width="400" height="375" absolute="1" ></f:image>
// Ausgabe
<img alt="alt set in image record"
src="http://www.mydomain.com/fileadmin/_processed_/323223424.png"
width="400" height="375" />
Beispiel 2 (Uri/ImageViewHelper):
<f:uri.image image="{file}" width="400" height="375" absolute="1" ></f:uri>
// Ausgabe
http://www.mydomain.com/fileadmin/_processed_/323223424.png
TYPO3 CMS 7.6 - What's New
Extbase & Fluid
ViewHelper um Whitespaces in HTML zu entfernen
Es wurde ein ViewHelper spaceless eingeführt, um über üssige
Leerzeichen zwischen HTML-Tages zu entfernen. Beispiel:
<f:spaceless>
<div>
<div>
<div>text
text</div>
</div>
</div>
Ausgabe:
<div><div><div>text
text</div></div></div>
TYPO3 CMS 7.6 - What's New
Extbase & Fluid
RootLevel Kon guration
Der RootLevel einer Tabelle kann nun im TCA kon guriert werden
(damit wird festgelegt, wo die zugehörigen Datensätze gesucht werden)
0: Nur im Seitenbaum
1: Nur auf der Root-Seite (PID 0)
-1: In beiden
Zudem muss das TCA kon guriert werden:
$GLOBALS[’TCA’][’tx_myext_domain_model_record’][’ctrl’][’rootLevel’] = -1;
TYPO3 CMS 7.6 - What's New
Veraltete/Entfernte Funktionen
Kapitel 5:
Veraltete und entfernte Funktionen
TYPO3 CMS 7.6 - What's New
Veraltete/Entfernte Funktionen
Ajax Routen statt Handler
Ajax Handler, die im Core über
ExtensionManagementUtility::registerAjaxHandler()
registriert wurden, werden nun durch Ajax Routen ersetzt, die in
Configuration/Backend/AjaxRoutes.php registriert sind
Eine ausführliche Liste (alt-neu) ist hier zu nden:
Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst
TYPO3 CMS 7.6 - What's New
Veraltete/Entfernte Funktionen
Verschiedenes
Die Extension mediace wurde entfernt und ist nun im TER zu nden
Die TCA-Option dynamicConfigFile innerhalb des ctrl Abschnitts
ist deprecated. Das zugehörige TCA wird nun an die Stelle
Configuration/TCA/<table_name>.php platziert.
Die jumpurl Funktion wurde aus dem Core komplett entfernt und ist
nun als Extension im TER zu nden
TYPO3 CMS 7.6 - What's New
Quellen und Autoren
Kapitel 6:
Quellen und Autoren
TYPO3 CMS 7.6 - What's New
Quellen und Autoren
Quellennachweis
TYPO3 News:
http://typo3.org/news
Release Infos:
http://wiki.typo3.org/TYPO3_CMS_7.6.0
INSTALL.md and ChangeLog
typo3/sysext/core/Documentation/Changelog/7.6/*
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.6 - 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.pluswerk.ag | +49 69 260 99 70 50 | facebook.com/pluswerk
TYPO3 CMS 7.6 - What's New

Weitere ähnliche Inhalte

PDF
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
PDF
Upgrade auf TYPO3 6.2
PDF
TYPO3 CMS 7.0 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.3 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
Upgrade auf TYPO3 6.2
TYPO3 CMS 7.0 - Die Neuerungen - pluswerk

Was ist angesagt? (20)

PDF
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
PDF
TYPO3 CMS 6.2 LTS - Die Neuerungen
PDF
Neos CMS - das Kompendium (Version 2.0.0)
PDF
Typo3 4.3 Die Neuerungen im Überblick
PDF
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
PPTX
TYPO3 Certified Integrator - Teste dein Wissen
ODP
TYPO3: Extension news
PDF
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
PDF
Systemmanagement mit Puppet und Foreman
PDF
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
PPTX
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
PDF
System- & Konfigurationsmanagement mit Foreman & Puppet
PDF
TYPO3 4.5 LTS - Die Neuerungen auf einen Blick
PDF
Extbase/Fluid: Kennenlernen und ausprobieren
ODP
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
PDF
TYPO3 Performance (TYPO3camp München)
PPT
Einsteiger Workshop
ODP
Deploy Magento Shops with Capistrano v3
TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk
TYPO3 CMS 7.2 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 6.2 LTS - Die Neuerungen
Neos CMS - das Kompendium (Version 2.0.0)
Typo3 4.3 Die Neuerungen im Überblick
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 Certified Integrator - Teste dein Wissen
TYPO3: Extension news
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
Systemmanagement mit Puppet und Foreman
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
System- & Konfigurationsmanagement mit Foreman & Puppet
TYPO3 4.5 LTS - Die Neuerungen auf einen Blick
Extbase/Fluid: Kennenlernen und ausprobieren
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Performance (TYPO3camp München)
Einsteiger Workshop
Deploy Magento Shops with Capistrano v3
Anzeige

Mehr von die.agilen GmbH (20)

PDF
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
PDF
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
PDF
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
PDF
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
PDF
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
PDF
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
PDF
Roman Rackwitz - Gamification und OKR
PDF
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
PDF
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
PDF
The agile enterprise - Digital Transformation as a practical application
PDF
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
PDF
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
PDF
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
PDF
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
PDF
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
PDF
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
PDF
Innovationsmotor Design Thinking - pluswerk
PDF
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
PDF
WTC15 - Innovationsmotor Design Thinking
PDF
Medienhaus pecha-kucha - T3CON 2015
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 ...
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
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...
Roman Rackwitz - Gamification und OKR
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
The agile enterprise - Digital Transformation as a practical application
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...
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
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...
Innovationsmotor Design Thinking - pluswerk
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
WTC15 - Innovationsmotor Design Thinking
Medienhaus pecha-kucha - T3CON 2015
Anzeige

TYPO3 CMS 7.6 - Die Neuerungen - pluswerk

  • 1. TYPO3 CMS 7.6 - What's New Übersicht der neuen Funktionen, Änderungen und Verbesserungen Patrick Lobacher (Vorstand pluswerk AG) http://www.pluswerk.ag 10/November/2015 Creative Commons BY-NC-SA 3.0
  • 2. TYPO3 CMS 7.6 - 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.6 - What's New
  • 4. Einführung TYPO3 CMS 7.6 - Die Fakten Veröffentlichungsdatum: 10. November 2015 Releasetyp: Long Term Support (LTS) Release Vision: Embrace, Innovate, Deliver TYPO3 CMS 7.6 - 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 max_input_vars >= 1500 compilation option --disable-ipv6 must not be used Backend benötigt IE >= 9 oder jeden anderen modernen Browser *) weitere Details: PHP Minimum Requirements for TYPO3 CMS 7 TYPO3 CMS 7.6 - 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 28/Apr/2015 Frontend v7.3 16/Jun/2015 Package Ecosystem, Composer v7.4 04/Aug/2015 Backend Overhaul Vol 2 v7.5 29/Sep/2015 Finalization v7 LTS 10/Nov/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.6 - 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.6 $ tar xzf typo3_src-7.6.0.tar.gz $ cd htdocs $ ln -s ../typo3_src-7.6.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 mklink benutzt werden TYPO3 CMS 7.6 - 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.6 Of zielles 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.6 - What's New
  • 10. Backend User Interface Kapitel 1: Backend User Interface TYPO3 CMS 7.6 - What's New
  • 11. Backend User Interface Benachrichtigungseinstellungen bei Workspaces (1) Die Benachrichtigungseinstellungen (engl. Noti cation Settings) innerhalb der Workspaces wurden überarbeitet TYPO3 CMS 7.6 - What's New
  • 12. Backend User Interface Benachrichtigungseinstellungen bei Workspaces (2) Man kann nun sogar für den Stage publish-execute Einstellungen vornehmen TYPO3 CMS 7.6 - What's New
  • 13. Backend User Interface Suche im Dateibrowser Im Popup des Dateibrowser ist nun eine einfache Suche integriert, die rekursiv agiert TYPO3 CMS 7.6 - What's New
  • 14. TScon g & TypoScript Kapitel 2: TScon g & TypoScript TYPO3 CMS 7.6 - What's New
  • 15. TScon g & TypoScript Parameter für indexed_search Einige Parameter für indexed_search, die bisher hart-kodiert waren, können nun kon guriert werden titleCropAfter = 50 titleCropSignifier = ... summaryCropAfter = 180 summaryCropSignifier = hrefInSummaryCropAfter = 60 hrefInSummaryCropSignifier = ... markupSW_summaryMax = 300 markupSW_postPreLgd = 60 markupSW_postPreLgd_offset = 5 markupSW_divider = ... Dabei können folgende Schlüssel angesprochen werden: plugin.tx_indexedsearch.results. plugin.tx_indexedsearch.settings.results. Alle Optionen besitzen auÿerdem stdWrap-Funktionalität TYPO3 CMS 7.6 - What's New
  • 16. TScon g & TypoScript Kon guration des Path-Seperators bei indexed_search Es wurde eine neue TypoScript-Option breadcrumbWrap hinzugefügt, mit dem Path-Seperators bei indexed_search kon guriert werden kann Darüber wird der Pfad für die Breadcrumb bei Suchergebnissen angezeigt Die Option verfügt über Option-Split und ist standardmäÿig auf "/" kon guriert plugin.tx_indexedsearch.settings.breadcrumbWrap = / || / TYPO3 CMS 7.6 - What's New
  • 17. TScon g & TypoScript no_cache Parameter-Kon guration für indexed_search Es wurde eine neuen TypoScript-Option hinzugefügt: forwardSearchWordsInResultLink.no_cache Damit kann eingestellt werden, ob der no_cache Paramater an die Seiten-Links innerhalb von indexed_search hinzugefügt wird // Fuer Extbase-Plugins plugin.tx_indexedsearch.settings.forwardSearchWordsInResultLink.no_cache = 1 // Fuer eingefuegte Plugins plugin.tx_indexedsearch.forwardSearchWordsInResultLink.no_cache = 1 TYPO3 CMS 7.6 - What's New
  • 18. Änderungen im System Kapitel 3: Änderungen im System TYPO3 CMS 7.6 - What's New
  • 19. Änderungen im System CSRF Schutz für eigene Plugins Frontend Plugins müssen nun selbst für einen CSRF-Schutz sorgen: $formToken = TYPO3CMSCoreFormProtectionFormProtectionFactory::get()->getFormProtection()-> generateToken(’news’, ’edit’, $uid); if ( $dataHasBeenSubmitted && TYPO3CMSCoreFormProtectionFormProtectionFactory::get()->validateToken( TYPO3CMSCoreUtilityGeneralUtility::_POST(’formToken’), ’User setup’, ’edit’)) { // alles in Ordnung } else { // ungueltiger Token! } TYPO3 CMS 7.6 - What's New
  • 20. Änderungen im System Neue Tabs für LinkBrowser (1) Mit diesem Feature kann der LinkBrowser um neue Tabs erweitert werden Jeder Tab wird über einem sogenannten "LinkHandler" gesteuert, welcher das folgende Interface implementieren muss: TYPO3CMSRecordlistLinkHandlerLinkHandlerInterface Die LinkHandler werden über PageTScon g registriert: file { handler = TYPO3CMSRecordlistLinkHandlerFileLinkHandler label = LLL:EXT:lang/locallang_browse_links.xlf:file displayAfter = page scanAfter = page configuration { customConfig = passed to the handler } } TYPO3 CMS 7.6 - What's New
  • 21. Änderungen im System Neue Tabs für LinkBrowser (2) Die Optionen displayBefore und displayAfter geben die Anzeigeposition der Tabs an Die Optionen scanBefore und scanAfter regeln die Reihenfolge der Ausführung $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’LinkBrowser’][’hooks’][1444048118] = [ ’handler’ => VendorExtMyClass::class, ’before’ => [], // optional ’after’ => [] // optional ]; TYPO3 CMS 7.6 - What's New
  • 22. Änderungen im System Neue Module Template API (1) Es wurde eine Module Template API integriert, um die Erstellung der DocHeader zu vereinheitlichen Beispiel 1: Button hinzufügen $openInNewWindowButton = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar() ->makeLinkButton() ->setHref(’#’) ->setTitle($this->getLanguageService()->sL( ’LLL:EXT:lang/locallang_core.xlf:labels.openInNewWindow’, TRUE )) ->setIcon($this->iconFactory->getIcon(’actions-window-open’, Icon::SIZE_SMALL)) ->setOnClick($aOnClick); $this->moduleTemplate->getDocHeaderComponent()->getButtonBar() ->addButton($openInNewWindowButton, ButtonBar::BUTTON_POSITION_RIGHT); TYPO3 CMS 7.6 - What's New
  • 23. Änderungen im System Neue Module Template API (2) Beispiel 2: Menü hinzufügen $languageMenu = $this->moduleTemplate->getDocHeaderComponent() ->getModuleMenuRegistry()->makeMenu() ->setIdentifier(’_langSelector’) ->setLabel($this->getLanguageService()->sL( ’LLL:EXT:lang/locallang_general.xlf:LGL.language’, TRUE )); $menuItem = $languageMenu->makeMenuItem() ->setTitle($lang[’title’] . $newTranslation) ->setHref($href); if((int)$lang[’uid’] === $currentLanguage) { $menuItem->setActive(TRUE); } $languageMenu->addMenuItem($menuItem); $this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->addMenu($languageMenu); TYPO3 CMS 7.6 - What's New
  • 24. Änderungen im System PSR-7 Routing für Backend AJAX Requests Um eine Route für einen AJAX-Request zuzufügen, erstellt man eine Datei Configuration/Backend/AjaxRoutes.php mit folgendem Inhalt in der eigenen Extension: return [ // do something ’unique_route_name’ => [ ’path’ => ’/toolcollection/some-action’, ’target’ => VendorControllerSomeController::class . ’::myAction’, ] ]; TYPO3 CMS 7.6 - What's New
  • 25. Änderungen im System OpenID Hook getUserRecord Es wurden zwei Hooks zur Verarbeitung von OpenID hinzugefügt (1/2) Hook 1: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’openid’][’getUserRecord’] Modi ziert den Benutzer-Datensatz, nachdem dieser ermittelt wurde, oder: Legt einen neuen Datensatz an, wenn keine gefunden wurde Es werden die Parameter record, response und authInfo an den Hook übermittelt TYPO3 CMS 7.6 - What's New
  • 26. Änderungen im System OpenID Hook authRequest Es wurden zwei Hooks zur Verarbeitung von OpenID hinzugefügt (2/2) Hook 2: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’openid’][’authRequest’] Modi ziert den Authenti zierungs-Request bevor dieser abgesendet wird Damit können z.B. zusätzliche Attribute, wie der Nickname vom OpenID-Server angefordert werden Es werden die Parameter authRequest und authInfo an den Hook übermittelt TYPO3 CMS 7.6 - What's New
  • 27. Änderungen im System Hooks und Signals (1) Es ist nun möglich, das Verzeichnis, welches von BackendUserAuthentication::getDefaultUploadFolder() zurückgegeben wird, via Hook zu verändern Dazu muss folgende Kon guration in die Datei ext_localconf.php eingetragen werden: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’t3lib/class.t3lib_userauthgroup.php’] [’getDefaultUploadFolder’][] = VendorMyExtensionHooksDefaultUploadFolder::class . ’->getDefaultUploadFolder’; TYPO3 CMS 7.6 - What's New
  • 28. Änderungen im System Hooks und Signals (2) Beispiel: <?php namespace VendorMyExtensionHooks; use TYPO3CMSCoreAuthenticationBackendUserAuthentication; use TYPO3CMSCoreResourceFolder; /** * Class DefaultUploadFolder */ class DefaultUploadFolder { /** * Get default upload folder * If there is a folder present with the same name as the last part of the table name use that folder. * @param array $params * @param BackendUserAuthentication $backendUserAuthentication * @return Folder */ public function getDefaultUploadFolder($params, BackendUserAuthentication $backendUserAuthentication) { [...] TYPO3 CMS 7.6 - What's New
  • 29. Änderungen im System Hooks und Signals (3) Beispiel (Fortsetzung): [...] /** @var Folder $uploadFolder */ $uploadFolder = $params[’uploadFolder’]; $pid = $params[’pid’]; $table = $params[’table’]; $field = $params[’field’]; $matches = []; if (!empty($uploadFolder) && preg_match(’/_([a-z]+)$/’, $table, $matches)) { $folderName = $matches[1]; if ($uploadFolder->hasFolder($folderName)) { $uploadFolder = $uploadFolder->getSubfolder($folderName); } } return $uploadFolder; } } TYPO3 CMS 7.6 - What's New
  • 30. Änderungen im System Diverse Änderungen Der TCA-Typ select muss nun mit einer Option renderType versehen werden Folgende Werte sind hierbei zulässig: ’renderType’ => ’selectMultipleSideBySide’, ’renderType’ => ’selectCheckBox’, ’renderType’ => ’selectSingle’, ’renderType’ => ’selectSingleBox’, ’renderType’ => ’selectTree’, TYPO3 CMS 7.6 - What's New
  • 31. Extbase & Fluid Kapitel 4: Extbase & Fluid TYPO3 CMS 7.6 - What's New
  • 32. Extbase & Fluid Relationen zu gleichen Tabellen Es nun möglich ein Domain Model zu verwenden, in der ein Objekt eine Relation zu einem anderen Objekt der selben Klasse hat namespace VendorExtensionDomainModel; class A { /** * @var VendorExtensionDomainModelA */ protected $parent; } namespace VendorExtensionDomainModel; class A { /** * @var VendorExtensionDomainModelB */ protected $x; /** * @var VendorExtensionDomainModelB */ protected $y; } TYPO3 CMS 7.6 - What's New
  • 33. Extbase & Fluid absolute Option für Image-ViewHelper Der ImageViewhelper und Uri/ImageViewHelper haben nun eine Option absolute, mit der eine absolute URL ausgegeben werden kann. Beispiel 1 (ImageViewhelper): <f:image image="{file}" width="400" height="375" absolute="1" ></f:image> // Ausgabe <img alt="alt set in image record" src="http://www.mydomain.com/fileadmin/_processed_/323223424.png" width="400" height="375" /> Beispiel 2 (Uri/ImageViewHelper): <f:uri.image image="{file}" width="400" height="375" absolute="1" ></f:uri> // Ausgabe http://www.mydomain.com/fileadmin/_processed_/323223424.png TYPO3 CMS 7.6 - What's New
  • 34. Extbase & Fluid ViewHelper um Whitespaces in HTML zu entfernen Es wurde ein ViewHelper spaceless eingeführt, um über üssige Leerzeichen zwischen HTML-Tages zu entfernen. Beispiel: <f:spaceless> <div> <div> <div>text text</div> </div> </div> Ausgabe: <div><div><div>text text</div></div></div> TYPO3 CMS 7.6 - What's New
  • 35. Extbase & Fluid RootLevel Kon guration Der RootLevel einer Tabelle kann nun im TCA kon guriert werden (damit wird festgelegt, wo die zugehörigen Datensätze gesucht werden) 0: Nur im Seitenbaum 1: Nur auf der Root-Seite (PID 0) -1: In beiden Zudem muss das TCA kon guriert werden: $GLOBALS[’TCA’][’tx_myext_domain_model_record’][’ctrl’][’rootLevel’] = -1; TYPO3 CMS 7.6 - What's New
  • 36. Veraltete/Entfernte Funktionen Kapitel 5: Veraltete und entfernte Funktionen TYPO3 CMS 7.6 - What's New
  • 37. Veraltete/Entfernte Funktionen Ajax Routen statt Handler Ajax Handler, die im Core über ExtensionManagementUtility::registerAjaxHandler() registriert wurden, werden nun durch Ajax Routen ersetzt, die in Configuration/Backend/AjaxRoutes.php registriert sind Eine ausführliche Liste (alt-neu) ist hier zu nden: Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst TYPO3 CMS 7.6 - What's New
  • 38. Veraltete/Entfernte Funktionen Verschiedenes Die Extension mediace wurde entfernt und ist nun im TER zu nden Die TCA-Option dynamicConfigFile innerhalb des ctrl Abschnitts ist deprecated. Das zugehörige TCA wird nun an die Stelle Configuration/TCA/<table_name>.php platziert. Die jumpurl Funktion wurde aus dem Core komplett entfernt und ist nun als Extension im TER zu nden TYPO3 CMS 7.6 - What's New
  • 39. Quellen und Autoren Kapitel 6: Quellen und Autoren TYPO3 CMS 7.6 - What's New
  • 40. Quellen und Autoren Quellennachweis TYPO3 News: http://typo3.org/news Release Infos: http://wiki.typo3.org/TYPO3_CMS_7.6.0 INSTALL.md and ChangeLog typo3/sysext/core/Documentation/Changelog/7.6/* 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.6 - What's New
  • 41. 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.pluswerk.ag | +49 69 260 99 70 50 | facebook.com/pluswerk TYPO3 CMS 7.6 - What's New