TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS...

111
TYPO3 v8 LTS - What’s New De meest belangrijke nieuwe functies, wijzigingen en verbeteringen in 111 paginas 30/April/2017 Creative Commons BY-NC-SA 3.0

Transcript of TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS...

Page 1: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TYPO3 v8 LTS - What’s NewDe meest belangrijke

nieuwe functies, wijzigingen en verbeteringen in 111 paginas

30/April/2017Creative Commons BY-NC-SA 3.0

Page 2: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

InleidingKort overzicht van de feiten

TYPO3 v8 LTS - What’s New

Page 3: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

TYPO3 v8 LTS

Publicatiedatum: 4 april 2017

Publicatietype: LTS versie (Lang ondersteunde versie)

Ontwikkeltijd: 18+ maanden

TYPO3 v8 LTS - What’s New

Page 4: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

Systeemeisen (1)

PHP 7.0 is de minimale versievoor TYPO3 v8 LTS

Volgende PHP 7 versies worden ondersteund zodraze worden uitgebracht

PHP 7 levert een significante snelheids winst

Geeft de mogelijkheid om PHP 7 specifieke functieste gebruikenVereiste PHP instellingen:

memory_limit >= 128Mmax_execution_time >= 240smax_input_vars >= 1500compilatieoptie --disable-ipv6 niet gebruiken

TYPO3 v8 LTS - What’s New

Page 5: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

Systeemeisen (2)

TYPO3 v8 LTS gebruikt Doctrine DBAL. Alle database servers die doordeze database abstractie laag worden ondersteund, worden ook doorTYPO3 ondersteund.Bijvoorbeeld:

Minimaal benodigde schijfruimte: 200 MB

De backend vereist Microsoft Internet Explorer 11 of hoger, MicrosoftEdge, Google Chrome, Firefox, Safari of een andere moderne,compatibele browser

TYPO3 v8 LTS - What’s New

Page 6: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

Ontwikkelings tijdlijn

Gepubliceerde sprint-releases:

v8.0 22 mar 2016 Lastminute toevoegingen

v8.1 03 mei 2016 Cloud-integratie

v8.2 05 jul 2016 Randvoorwaarden Doctrine

v8.3 30 aug 2016 Rich Text Editor

v8.4 18 okt 2016 Doctrine-migratie + upgrades

v8.5 20 dec 2016 Nieuwe RTE + Integrator-ondersteuning

v8.6 14 feb 2017 Polijsten

v8.7 04 apr 2017 Voorbereiding LTS

TYPO3 v8 LTS - What’s New

Page 7: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Inleiding

Lange Termijn Support

Onderhoud/support tijdlijn:

TYPO3 versie 8.7 is een LTS Release (Lange Termijn Support)

Regulier onderhoud en oplossen van algemene problemen tot oktober2018

Beveiliging en kritieke probleemoplossingen tot april 2020

TYPO3 v8 LTS - What’s New

Page 8: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Gebruikersinterface backendHet uiterlijk van de TYPO3 CMS backend is weer verbeterd

TYPO3 v8 LTS - What’s New

Page 9: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Alternatief logo

Het logo linksboven in de backend kan nu in de configuratie vanEXT:backend in de extensiemanager ingesteld worden.Configuratieopties zijn:

bestand relatief t.o.v. de TYPO3 installatiebijv. "fileadmin/images/my-background.jpg"

pad naar een extensiebijv. "EXT:my_theme/Resources/Public/Images/my-background.jpg"

een externe bronbijv. "//example.com/my-background.png"

TYPO3 v8 LTS - What’s New

Page 10: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Responsive TYPO3 backend voor mobiel

De TYPO3 Backend is nu volledig responsive voor mobiel.

TYPO3 v8 LTS - What’s New

Page 11: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Elementen kopiëren door verslepen

Naast het normale gedrag in de paginamodule dat inhoudselementenverplaatst worden door te verslepen kunnen nu ook kopieën gemaaktworden: druk de CTRL-toets in tijdens het verslepen om een kopie te maken.Na het loslaten wordt de pagina herladen om ervoor te zorgen dat hetnieuwe element wordt aangemaakt met alle nodige informatie.

TYPO3 v8 LTS - What’s New

Page 12: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Beeldbewerking (1)

Meerdere verhoudingen kunnen ingesteld worden(standaard: 16:9, 3:2, 4:3 en 1:1)

Redacteuren kunnen een focuspunt instellen (responsive afbeeldingen)(dit deel blijft zichtbaar, ook al is de afbeelding afgesneden, bijv. op kleineschermen zoals bij telefoons)

Ontwikkelaars kunnen crop-varianten instellen (bijv. "mobiel", "PC",etc.) en deze gebruiken in TCA en Fluid-sjablonen

<f:image image="{data.image}" cropVariant="mobiel" width="800"></f:image>

Zie docs.typo3.org voor meer details.

TYPO3 v8 LTS - What’s New

Page 13: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Beeldbewerking (2)

TYPO3 v8 LTS - What’s New

Page 14: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Versimpeld caches legen

Het systeem voor het legen van caches is versimpeld door het verwijderenvan opties in het menu om caches te legen en in de Install Tool.

Frontend caches legen:Leegt frontend en paginagerelateerde caches, zoals altijd.Alles caches legen:Leegt alle systeemgerelateerde caches, inclusief de klasselader, vertalingen,extensiesconfiguratiebestandscaches en opcode caches. Het herbouwen vandeze caches kan even duren.

TYPO3 v8 LTS - What’s New

Page 15: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

"Cache legen" contextmenu

Er is een nieuw item in het contextmenu van de paginaboom. Binnen de"pagina-acties" is er een optie om de cache van de geselecteerde pagina telegen.

TYPO3 v8 LTS - What’s New

Page 16: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Herbouwde werkruimtes (1)

De module werkruimtes om klaarstaande inhoud te beheren isherschreven en past nu beter binnen het uiterlijk van de backend.

Redacteuren merken direct dat het beter past doordat het uiterlijk nugebaseerd is op Twitter Bootstrap en jQuery

Hierdoor is er ook een verbetering qua performance en een grote stapvoorwaards naar een schonere en snellere TYPO3 backend met minderJavaScript

TYPO3 v8 LTS - What’s New

Page 17: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Herbouwde werkruimtes (2)

Screenshots van de module werkruimtes:

TYPO3 v8 LTS - What’s New

Page 18: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Gebruikersinterface backend

Positie en volgorde van elementen

De volgorde en positie van bepaalde velden in de backend isgeoptimaliseerd

Het doel is aan te sluiten bij de verwachting van gebruikers waarveelgebruikte opties te vinden zijn

Dit is vooral belangrijk voor veelgebruikte velden en algemenecategorieën die door vele records gedeeld worden

Auteurs van extensie wordt aangeraden om de specifieke posities envolgorde van elementen in de official documentation te volgen.

Een consistente backend is belangrijk! :-)

TYPO3 v8 LTS - What’s New

Page 19: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Form Framework

Raamwerk voor formulierenComplexe formulieren maken is supersimpel

TYPO3 v8 LTS - What’s New

Page 20: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Form Framework

Hoofdzaken

Flexibel nieuw raamwerk voor het bouwen van formulieren isingebouwd

Gebruikt jQuery en een moderne architectuur, dat flexibiliteit enuitbreidbaarheid biedt

Het vervangt de oude Formulierenassistent gebaseerd op ExtJS

Formulieren worden opgeslagen als sjablonen die herbruikt kunnenworden binnen de website

Configuratie wordt opgeslagen in YAML-bestanden(kan worden ge-exported, aangepast, opgenomen in versiebeheer, gedeeld,etc.)

Intuïtief te gebruiken (redacteuren zijn enthousiast!)

TYPO3 v8 LTS - What’s New

Page 21: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Form Framework

Validatoren and Eindacties

Validatoren:

Ingevoerde data kan geverifieerd worden door ValidatorenTypische Validatoren zijn aanwezig in TYPO3 CMS (bijv. voor velden zoalse-mail, alfanumeriek, getallen, reguliere expressies, etc.)Met eigengemaakte Validatoren kunnen deze tests uitgebreid worden

Eindacties:

Bepaal wat gebeurt met de ingevulde gegevens (biiv. verstuur e-mail,stuur bezoeker door naar pagina, etc.)Met eigengemaakt Eindacties kan dit uitgebreid worden

TYPO3 v8 LTS - What’s New

Page 22: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Form Framework

Screenshot (1)

TYPO3 v8 LTS - What’s New

Page 23: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Form Framework

Screenshot (2)

TYPO3 v8 LTS - What’s New

Page 24: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Rich Text Editor

Rich Text EditorTekstverwerking neemt een grote stap voorwaarts

TYPO3 v8 LTS - What’s New

Page 25: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Rich Text Editor

CKEditor integratie

Nieuwe tekstverwerker (RTE) ingebouwd: CKEditor

Bekend en veel gebruikt in PHP projecten, eenvoudig te configureren

Vervangt "HtmlArea" en vormt de basis voor toekomstig bewerken infrontend

HtmlArea is nog beschikbaar als optionele extensie in de TYPO3Extension Repository (TER)

Crowdfunding actie gestart door de Zweedse agency Pixelant AB brachtmeer dan 63.000,- Euro (110+ supporters wereldwijd) op

TYPO3 v8 LTS - What’s New

Page 26: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Rich Text Editor

Screenshots

TYPO3 v8 LTS - What’s New

Page 27: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Install Tool

Install ToolKrachtig gereedschap voor integrators en ontwikkelaars

TYPO3 v8 LTS - What’s New

Page 28: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Install Tool

Upgrade Analyse

TYPO3 upgrades eenvoudig door de nieuwe Upgrade Analyse tool in deInstall Tool (zoeken/filteren van gedocumenteerde wijzigingen tussenversies).

TYPO3 v8 LTS - What’s New

Page 29: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Install Tool

Autoload-informatie dumpen

Om de informatie voor het laden van klassen te herbouwen is een nieuweactie toegevoegd aan de Install Tool om autoload-informatie te dumpen.

TYPO3 v8 LTS - What’s New

Page 30: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Install Tool

TCA migratieberichten

TCA migratieberichten kunnen nu bekeken worden in de Install Tool.

TYPO3 v8 LTS - What’s New

Page 31: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Install Tool

Update-assistent

De Update-assistent in de Install Toolgeeft een overzicht van taken dieafgerond zijn.

Keuzevakjes en een knop "Recheckchosen wizards" zorgen ervoor datupdates opnieuw uitgevoerd kunnenworden. De assistent test zelf of detaak opnieuw uitgevoerd moetworden.

TYPO3 v8 LTS - What’s New

Page 32: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

TSconfig & TypoScriptNieuwe configuratieopties, nieuwe functies, onbegrensde

mogelijkheden

TYPO3 v8 LTS - What’s New

Page 33: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Meerdere Locale-namen voor TypoScript config.locale_all

TypoScript optie config.locale_all kan nu een set mogelijkelocales krijgen als komma-gescheiden lijst, net zoals de PHP functiesetlocale() ondersteunt:

config.locale_all = de_AT@euro, de_AT, de_DE, deu_deu

Zie http://php.net/setlocale

TYPO3 v8 LTS - What’s New

Page 34: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Configureerbare breedte en hoogte van het Editpanel inEXT:feedit

Het is nu mogelijk om de breedte en hoogte van de popup die gebruiktwordt in het Editpanel van EXT:feedit te wijzigen door gebruik temaken van User TSconfig:

options.feedit.popupHeight = 700options.feedit.popupWidth = 900

TYPO3 v8 LTS - What’s New

Page 35: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Toegang tot FlexForm-waarden

Het is nu mogelijk om eigenschappen van een FlexForm-veld op tevragenlib.flexformContent = CONTENTlib.flexformContent {

table = tt_contentselect {

pidInList = this}

renderObj = COArenderObj {

10 = TEXT10 {

data = flexform: pi_flexform:settings.categories}

}}

TYPO3 v8 LTS - What’s New

Page 36: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Nieuwe assistent pagina aanmaken

In vorige versies van TYPO3 CMS was het mogelijk om de "Assistentnieuwe pagina aanmaken" te overschrijven met eigen scripts:mod.web_list.newPageWiz.overrideWithExtension = myextension

De nieuwe manier van het afhandelen van ingangen en eigen scripts isgebouwd met modules/routes en de bovenstaande optie is verwijderd

De volgende TSconfig-optie kan in plaats hiervan gebruikt worden:mod.newPageWizard.override = my_custom_module

In plaats van het instellen van een extensie-key moet er nu eenmodule of route gespecificeerd worden

TYPO3 v8 LTS - What’s New

Page 37: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Aantal zoekresultaten

Het maximale aantal zoekresultaten kan in TypoScript ingesteldworden:plugin.tx_indexedsearch.settings.blind.numberOfResults

Deze instelling slaat een lijst met waardes op

Als het aantal resultaten wordt vermeld in het request en overeenkomtmet een van de ingestelde waarden dan wordt het gebruikt

Als het niet wordt meegestuurd of niet overeenkomt met de ingesteldewaarden dan wordt de eerste van de lijst gebruikt

Om compatibel te zijn met vorige versies is de standaard:10, 25, 50 and 100

TYPO3 v8 LTS - What’s New

Page 38: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Fluid Data Processor voor menu’s (1)

Menu processor gebruikt HMENU om de JSON-gecodeerdemenu-tekenreeks te maken die gedecodeerd wordt en toegewezen aanFLUIDTEMPLATE

Extra DataProcessing wordt ondersteund en op elk record toegepast

Ondersteunde opties: as, levels, expandAll, includeSpacer,titleField (zie TyposcriptReference voor meer opties)

TYPO3 v8 LTS - What’s New

Page 39: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Fluid Data Processor voor menu’s (2)

Voorbeeld TypoScript-configuratie:10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor10 {

special = listspecial.value.field = pageslevels = 7as = menuexpandAll = 1includeSpacer = 1titleField = nav_title // titledataProcessing {

10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor10 {

references.fieldName = media}

}}

TYPO3 v8 LTS - What’s New

Page 40: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

TSconfig & TypoScript

Sectieframe voor CSS Styled Content vervangen door Frame Class

De functionaliteit van de Section Frame is verbeterd met FluidStyled Content en is nu beschikbaar als Frame Class.

De TypoScript sleutels gebruiken nu het juiste deel van de CSS-klassecsc-frame- in plaats van getallen

Voor:tt_content.stdWrap.innerWrap.cObject.key.field = section_framett_content.stdWrap.innerWrap.cObject.5 =< tt_content.stdWrap.innerWrap.cObject.defaulttt_content.stdWrap.innerWrap.cObject.5.20.10.value = csc-frame csc-frame-ruler-before

Na:tt_content.stdWrap.innerWrap.cObject.key.field = frame_classtt_content.stdWrap.innerWrap.cObject.ruler-before =< tt_content.stdWrap.innerWrap.cObject.defaulttt_content.stdWrap.innerWrap.cObject.ruler-before.20.10.value = csc-frame csc-frame-ruler-before

TYPO3 v8 LTS - What’s New

Page 41: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

Doctrine DBALState-of-the-art database-abstractielaag

TYPO3 v8 LTS - What’s New

Page 42: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

PHP Bibliotheek "Doctrine DBAL" (1)

De PHP-bibliotheek "Doctrine DBAL" is toegevoegd alscomposer-afhankelijkheid om als een krachtigedatabase-abstractielaag te werken met vele opties voordatabase-abstractie, schema-analyse en schemabeheer binnen TYPO3CMSEen TYPO3-specifieke PHP-klasseTYPO3\CMS\Core\Database\ConnectionPoolis toegevoegd voor het beheer van databaseconnectiesAlle connecties geconfigureerd onder$GLOBALS[’TYPO3_CONF_VARS’][’DB’][’Connections’]zijn toegankelijk via deze beheerder waardoor parallel gebruik vanverschillende databasesystemen mogelijk is

TYPO3 v8 LTS - What’s New

Page 43: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

PHP Bibliotheek "Doctrine DBAL" (2)

Met het gebruik van de database-abstractiemogelijkheden en deQueryBuilder worden de opgebouwde SQL-opdrachten correctgecodeerd en zijn ze automatisch zoveel mogelijk compatibel met deverschillende DBMS’en

Bestaande opties in $GLOBALS[’TYPO3_CONF_VARS’][’DB’] zijnverwijderd en/of gemigreerd naar de nieuwe Doctrine-opties

De Connection klasse biedt handige functies voor insert, select,update, delete en truncate opdrachten

Voor select, update en delete worden alleen simpelevergelijkingen (zoals WHERE "aField" = ’aValue’) ondersteund.Voor complexe opdrachten is de QueryBuilder nodig.

TYPO3 v8 LTS - What’s New

Page 44: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

PHP Bibliotheek "Doctrine DBAL" (3)

De ConnectionPool klasse kan zo gebruikt worden:// Haal verbinding voor meerdere bewerkingen/** @var \TYPO3\CMS\Core\Database\Connecction $conn */$conn = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable(’aTable’);$affectedRows = $conn->insert(

’aTable’,$fields, // Array met kolom/waarde paren, automatisch gecodeerd

);

// Haal QueryBuilder (voor eenmalig gebruik)$query = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(’aTable);$query->select(’*’)

->from(’aTable)->where($query->expr()->eq(’aField’, $query->createNamedParameter($aValue)))->andWhere(

$query->expr()->lte(’anotherField’,$query->createNamedParameter($anotherValue)

))

$rows = $query->execute()->fetchAll();

TYPO3 v8 LTS - What’s New

Page 45: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

Doctrine in Extbase

Als extensies de Extbase standaard gebruiken is het niet nodig code bijte werkenDirecte SQL-query-functionaliteit ondersteunt ookQueryBuilder-objecten en instanties van\Doctrine\DBAL\Statement als prepared statementsHet volgende voorbeeld werkt in elke Extbase repository met pureDoctrine DBAL statements:$connectie = $this->objectManager->get(ConnectionPool::class)->getConnectionForTable(’mijntabel’)

;$statement = $this->objectManager->get(

\Doctrine\DBAL\Statement::class,’SELECT * FROM mijtabel WHERE uid=? OR titel=?’,$connection

);

$query = $this->createQuery();$query->statement($statement, [$uid, $titel]);

TYPO3 v8 LTS - What’s New

Page 46: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

Diversen (1)

Met de migratie naar Doctrine is de hook buildQueryParameterstoegevoegd in de klasse DatabaseRecordList.Deze vervangt de hook makeQueryArray uit de verouderde methodeAbstractDatabaseRecordList::makeQueryArray.Met de nieuwe hook kunnen de parameters gewijzigd worden diegebruikt worden voor de databasequery voor het afbeelden van de lijstmet records.De hook kan geregistreerd worden in ext_localconf.php:$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’]

[\TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList::class][’buildQueryParameters’][]

...en implementeert de publieke methodebuildQueryParametersPostProcess

TYPO3 v8 LTS - What’s New

Page 47: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Doctrine DBAL

Diversen (2)

De databaselaag in Extbase is nu ook complete gebaseerd op deDoctrine DBAL QueryBuilder

EXT:dbal en EXT:adodb zijn verwijderd uit de TYPO3 coreAls extensies de oude TYPO3_DB API gebruiken om andere database tabellen dan

MySQL te bevragen kunnen deze twee extensies uit TER gehaald worden.

TYPO3_DB verkorte functionaliteit is verwijderd voor het grootste deelvan de TYPO3 core PHP klassen(gebruik van $GLOBALS[TYPO3_DB] is nog mogelijk maar wordt afgeraden)

TYPO3 v8 LTS - What’s New

Page 48: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

SysteemwijzigingenGeweldige nieuwe functies en verbeteringen binnenin

TYPO3 v8 LTS - What’s New

Page 49: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Ondersteuning PECL-memcached in MemcachedBackend

Ondersteuning voor de PECL-module "memcached" is toegevoegd aande MemcachedBackend van het Caching FrameworkAls zowel "memcache" als "memcached" zijn geïnstalleerd, wordt"memcache" gebruikt om geen brekende wijziging te zijn.Een integrator kan de optie peclModule gebruiken om de voorkeur inte stellen:$GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’caching’][’cacheConfigurations’][’my_memcached’] = [

’frontend’ => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class’backend’ => \TYPO3\CMS\Core\Cache\Backend\MemcachedBackend::class,’options’ => [

’peclModule’ => ’memcached’,’servers’ => [

’localhost’,’server2:port’

]]

];

TYPO3 v8 LTS - What’s New

Page 50: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Ondersteuning voor Symfony Console (1)

TYPO3 ondersteunt de Symfony Console automatisch via een nieuwcommandoregel script in typo3/sysext/core/bin/typo3. BijTYPO3-installaties die via Composer zijn gemaakt wordt hetuitvoerbare bestand gekoppeld aan de bin-folder, bijv. bin/typo3.Het nieuwe script ondersteunt nog steeds de bestaande argumentenals er geen correct Symfony Console-commando wordt gevonden.Een commando dat via de TYPO3-commandoregel beschikbaar moetzijn, kan geregistreerd worden door het plaatsen van eenConfiguration/Commands.php-bestand in een geïnstalleerdeextensie. De lijst Symfony/Console/Command klassen die uitgevoerdkunnen worden door TYPO3, is een hash-tabel. De index is de naamvan het commando dat als eerste argument voor TYPO3 gebruikt wordt.

TYPO3 v8 LTS - What’s New

Page 51: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Ondersteuning voor Symfony Console (2)

Een vereiste parameter bij het registreren van een commando is declass-eigenschap. Optioneel kan de user-parameter ingesteldworden zodat een backend gebruiker ingelogd is bij het aanroepen vanhet commando.

Een Configuration/Commands.php kan er zo uitzien:return [

’backend:lock’ => [’class’ => \TYPO3\CMS\Backend\Command\LockBackendCommand::class

],’referenceindex:update’ => [

’class’ => \TYPO3\CMS\Backend\Command\ReferenceIndexUpdateCommand::class,’user’ => ’_cli_lowlevel’

]];

TYPO3 v8 LTS - What’s New

Page 52: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Ondersteuning voor Symfony Console (3)

Een aanroep kan er zo uitzien:bin/typo3 backend:lock http://example.com/maintenance.html

Voor een niet-Composer-installatie:typo3/sysext/core/bin/typo3 backend:lock http://example.com/maintenance.html

TYPO3 v8 LTS - What’s New

Page 53: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Parameterwijzigingen in Low-level (1)

Low-level commando’s in de lijst hieronder gebruiken nu de SymfonyConsole

Nieuwe commando’s werken zoals de oude, maar ondersteunenbepaalde parameters

DeletedRecordsCommandCleanFlexFormsRecordsCommandOrphanRecordsCommandLostFilesCommandMissingFilesCommandMissingRelationsCommandDoubleFilesCommandRteImagesCommand

TYPO3 v8 LTS - What’s New

Page 54: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Parameterwijzigingen in Low-level (2)

Gerelateerde PHP klassen zijn verwijderd(e.g. TYPO3\CMS\Lowlevel\DeletedRecordsCommand)

Het commando via cli_dispatch werkt niet meer(bijv. typo3/cli_dispatch lowlevel cleaner deleted)

Aanroepen van de PHP klasse geeft nu een PHP-fout

Commando’s kunnen nu uitgevoerd worden via CLI als volgt:/typo3/sysext/core/bin/typo3 cleanup:<command>

bijvoorbeeld:/typo3/sysext/core/bin/typo3 cleanup:deletedrecords

TYPO3 v8 LTS - What’s New

Page 55: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Cryptografisch veilige pseudotoevalsgenerator

Een nieuwe cryptografisch veilige pseudotoevalsgenerator (CSPRNG) isgeïmplementeerd in de TYPO3 core.Het gebruikt de nieuwe CSPRNG-functies in PHP 7.

De API zit in de klasse \TYPO3\CMS\Core\Crypto\Random

Voorbeeld:use \TYPO3\CMS\Core\Crypto\Random;use \TYPO3\CMS\Core\Utility\GeneralUtility;

// Willekeurige bytes ophalen$someRandomString = GeneralUtility::makeInstance(Random::class)->generateRandomBytes(64);

// Dobbelsteen rollen...$tossedValue = GeneralUtility::makeInstance(Random::class)->generateRandomInteger(1, 6);

TYPO3 v8 LTS - What’s New

Page 56: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Algoritme voor wachtwoordhash: PBKDF2

Een nieuw hash-algoritme voor wachwoorden, "PBKDF2", istoegevoegd aan de systeemextensie "saltedpasswords"

PBKDF2 betekent: Password-Based Key Derivation Function 2

Het algoritme kost veel rekenkracht om brute force password crackingte weerstaan

TYPO3 v8 LTS - What’s New

Page 57: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

PHP Bibliotheek "Guzzle" (1)

De PHP-bibliotheek "Guzzle" is toegevoegd via eencomposerafhankelijkheid als oplossing voor het maken van HTTPaanvragen gebaseerd op de PSR-7 interfaces die al door TYPO3gebruikt worden

Guzzle detecteert vanzelf welke onderliggende adapters – zoals cURLor stream wrappers – beschikbaar zijn en kiest dan de beste oplossingvoor het systeem

Een TYPO3-specifiek PHP-klasseTYPO3\CMS\Core\Http\RequestFactoryis toegevoegd als simpele wrapper voor toegang tot Guzzle clienten

TYPO3 v8 LTS - What’s New

Page 58: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

PHP Bibliotheek "Guzzle" (2)

De RequestFactory klasse kan zo gebruikt worden:// Initialiseer RequestFactory

/** @var \TYPO3\CMS\Core\Http\RequestFactory $requestFactory */$requestFactory = GeneralUtility::makeInstance(

\TYPO3\CMS\Core\Http\RequestFactory\RequestFactory::class);

$uri = $additionalOptions = [// extra headers voor deze opdracht’headers’ => [’Cache-Control’ => ’no-cache’],’allow_redirects’ => false,’cookies’ => true

];

// geef een PSR-7 response object terug$response = $requestFactory->request($url, ’GET’, $additionalOptions);

// haal de inhoud op als string bij een succesvolle opdrachtif ($response->getStatusCode() === 200) {

if ($response->getHeader(’Content-Type’) === ’text/html’) {$content = $response->getBody()->getContents();

}}

TYPO3 v8 LTS - What’s New

Page 59: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Linkservice voor standaard verwijzingssyntax (1)

Binnen TYPO3 werd er op verschillende manieren verwezen naarbronnnen.

TYPO3 ondersteunt nu een moderne, toekomstzekere manier om naarbronnen te verwijzen met een uitbreidbare en duidelijk syntax dieeenvoudig te begrijpen is.

De volgende pagina’s leggen de syntax uit met de volgende, simpelelink naar een pagina:

t3://page?uid=13&campaignCode=ABC123

TYPO3 v8 LTS - What’s New

Page 60: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Linkservice voor standaard verwijzingssyntax (2)

De syntax bestaat uit drie delen:

Namespace (t3://)De namespace is altijd t3:// om te zorgen dat de "LinkService" wordtuitgevoerd voor deze URN.

Sleutel van bronbehandelaar (page)De sleutel van de bronbehandelaar is een lijst van behandelaars diebeschikbaar zijn in TYPO3. Momenteel bestaan de volgendebehandelaars: page, file en folder.Meer sleutels kunnen geconfigureerd worden in een associatieve arraywaarbij de index de behandelaarsleutel is en de waarde een klasse is diede LinkHandlerInterface implementeert:$TYPO3_CONF_VARS[’SYS’][’linkHandler’]

TYPO3 v8 LTS - What’s New

Page 61: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Linkservice voor standaard verwijzingssyntax (3)

...en deel 3:

Bronparameters (?uid=13&campaignCode=ABC123)Dit zijn de specifieke identificatieparameters die gebruikt worden dooreen behandelaar. Let op dat deze extra parameters kunnen bevatten omhet gedrag van een behandelaar te bepalen.

TYPO3 v8 LTS - What’s New

Page 62: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

DebuggerUtility::var_dump (1)

Informatie over de zichtbaarheid van een eigenschap is toegevoegdaan DebuggerUtility::var_dump()voor elke eigenschap van een object in de uitvoer

Als een closure onderdeel is van het object dat gedebugd wordt, danwordt de broncode hiervan ook afgebeeld

Zie voorbeeld op de volgende pagina

TYPO3 v8 LTS - What’s New

Page 63: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

DebuggerUtility::var_dump (2)

TYPO3 v8 LTS - What’s New

Page 64: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Systeemstatus updates (rapportages)

Resultaten van tests in "Systeemstatus Updates (rapportages)" kunnendoorgemaild worden

Een keuzevakje is toegevoegd aan de taakconfiguratie om:

een e-mail te sturen als er waarschuwingen of foutmeldingen zijnaltijd een e-mail te maken

Standaard worden alleen waarschuwingen en fouten opgenomen

TYPO3 v8 LTS - What’s New

Page 65: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Diversen (1)

SVGs en D3 renderingAls onderdeel van het verwijderen van ExtJS is de boom voor deformulieren opnieuw gebouwdHet renderen is gebaseerd op SVG’s en D3 waardoor prestatiessignificant verbeterenHet opnieuw bouwen van de paginaboom op deze wijze is gepland voorde nabije toekomst

Iconen voor extensies kunnen opgeslagen worden in de directory:Resources/Public/Icons/<bestandsnaam> (<bestandsnaam> kan zijn:Extension.png, Extension.svg or Extension.gif)De nieuwe opties backendFavicon in de configuratie vanExtensiebeheer maakt het mogelijk om het favicon van de backend tewijzigen.

TYPO3 v8 LTS - What’s New

Page 66: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Systeemwijzigingen

Diversen (2)

Alle systeeminformatie toegevoegd door addSystemInformation()heeft nu InformationStatus::STATUS_NOTICE als standaardwaardeDe opsommingsconstanten kunnen nu eenvoudig opgehaald worden:

EnumerationClass::getName($value);EnumerationClass::getHumanReadableName($value);

Prioriteiten van de TypeConverters uit de core zijn gewijzigd van1, 2, 3,... in 10, 20, 30,... Let bij het registreren van maatwerkTypeConverters op de juiste prioriteiten.ISO-8601 wordt nu gebruikt om date en datetime waardes door tegeven tussen server en de client. Eventueel moeten maatwerkFormEngine rendertypes bijgewerkt worden (eval=date/datetime).

TYPO3 v8 LTS - What’s New

Page 67: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Extbase & Fluid

TYPO3 v8 LTS - What’s New

Page 68: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Standalone Fluid

De Fluid render-engine van TYPO3 CMS is vervangen door destandalone versie van Fluid die nu als een composer-afhankelijkheidopgenomen is

De oude Fluid-extensie is omgezet in een zogenaamde Fluid adapterwaarmee TYPO3 CMS standalone Fluid kan gebruiken

Nieuwe features/mogelijkheden zijn in bijna elk onderdeel van Fluidtoegevoegd (Zie docs.typo3.org voor meer details)

Meest belangrijk: diverse onderdelen van Fluid die compleet internwaren en die onmogelijk overschreven konden worden, zijn nu simpelte vervangen en voorzien van een API

Standalone Fluid verbetert ook de performance van de backend

TYPO3 v8 LTS - What’s New

Page 69: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

RenderingContext (1)

Het belangrijkste onderdeel van de nieuwe API is de RenderingContext

Voorheen was RenderingContext intern gebruikt door Fluid. Dit is nuuitgebreid en verantwoordelijk voor een nieuwe Fluid feature:implementation provisioning

Hiermee kunnen ontwikkelaars een serie klassen wijzigen die Fluidgebruikt voor het parsen, oplossen, cachen, etc.

Dit is te bereiken door ofwel een eigen RenderingContext of hetbewerken van de standaard RenderingContext met publiek beschikbarefuncties.

TYPO3 v8 LTS - What’s New

Page 70: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Rendering Context (2)

De features op de volgende pagina’s worden aangestuurd door hetwijzigen van de RenderingContext. Standaard zijn ze niet ingeschakeld,maar door het aanroepen van een simpele methode (via de Viewinstantie) kunnen ze ingeschakeld worden:

$view->getRenderingContext()->setLegacyMode(false);

TYPO3 v8 LTS - What’s New

Page 71: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ExpressionNodes (1)

ExpressionNodes zijn een nieuw soort syntaxstructuren van Fluid diealle een eigenschap gemeen hebben: ze werken alleen binnenaccolades

$view->getRenderingContext()->setExpressionNodeTypes(array(’Class\Number\One’,’Class\Number\Two’

));

Ontwikkelaars kunnen hun eigen soorten ExpressionNode toevoegen

Elk bestaat uit een patroon en methodes bepaald door een interfaceom de overeenkomsten af te handelen

Een bestaand soort ExpressionNode kan gebruikt worden als referentie

TYPO3 v8 LTS - What’s New

Page 72: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ExpressionNodes (2)

ExpressionNodeTypes maken nieuwe syntaxen mogelijk:

CastingExpressionNodemaakt het omzetten van variabelen naar bepaalde types mogelijk;bijvoorbeeld om zeker te zijn van een geheel getal of een booleaan. Hetwordt gebruikt met een as sleutelwoord: {myStringVariable asboolean} of {myBooleanVariable as integer} enzovoort. Pogingenom een variabele om te zetten naar een incompatibel type resulteren in eenstandaard Fluid-foutmelding.

MathExpressionNodemaakt basisberekeningen met variabelen mogelijk, bijvoorbeeld {myNumber+ 1}, {myPercent / 100} of {myNumber * 100} enzovoort. Eenonmogelijke uitdrukking geeft geen uitvoer.

TYPO3 v8 LTS - What’s New

Page 73: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ExpressionNodes (3)

ExpressionNodeTypes maken nieuwe syntax mogelijk:

TernaryExpressionNodemaakt een drieweg-voorwaarde mogelijk die werkt met variabelen. Typischgebruik: "als deze variabele dan gebruik die variabele anders gebruik anderevariabele". Het wordt gebruikt als:{myToggleVariable ? myThenVariable : myElseVariable}Let op: ondersteunt geen geneste uitdrukkingen, inline ViewHelper syntax ofvergelijkbaar erbinnen. Het moet alleen met standaard variabelen gebruiktworden.

TYPO3 v8 LTS - What’s New

Page 74: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Namespaces zijn uitbreidbaar (1)

Fluid maakt het mogelijk om een namespace alias (bijvoorbeeld f:) uitte breiden door door extra PHP namespaces eraan toe te voegenPHP namespaces worden ook gecontroleerd op de aanwezigheid vanViewHelper-klassenDit betekent ook dat ontwikkelaars specifieke ViewHelpers kunnenoverschrijven met eigen versies en eigen ViewHelpers laten aanroepenals de f: namespace gebruikt wordtDeze wijziging betekent ook dat namespaces niet langer eenduidig zijn.Bij het gebruik van {namespacef=My\Extension\ViewHelpers\} verschijnt er niet langer defoutmelding "namespace al geregistreerd". Fluid zal de PHPnamespace toevoegen en ook daar zoeken naar ViewHelpers.

TYPO3 v8 LTS - What’s New

Page 75: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Namespaces zijn uitbreidbaar (2)

Extra namespaces worden van onder af nagelopen waardoor extranamespaces ViewHelper-klassen kunnen overschrijven door ze indezelfde scope te plaatsen.

Voorbeeld: f:format.nl2br kan worden overschreven doorMy\Extension\ViewHelpers\Format\Nl2brViewHelper,met de namespace-registratie van de vorige pagina

TYPO3 v8 LTS - What’s New

Page 76: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Complexe voorwaardelijke statements

Fluid ondersteunt elke mate van complexe voorwaardelijke statementszowel genest als gegroepeerd:<f:if condition="({variableOne} && {variableTwo}) || {variableThree} || {variableFour}">

// Uitgevoerd als zowel variabele een en twee ’waar’ opleveren,// of variabele drie of vier dat opleveren.

</f:if>

Daarbij kent f:else nu een "elseif"-achtige functie:<f:if condition="{variableOne}">

<f:then>Doe dit</f:then><f:else if="{variableTwo}">

Doe dit als variabele twee ’waar’ oplevert</f:else><f:else if="{variableThree}">

Doe dit als variabele twee ’waar’ oplevert</f:else><f:else>

Of doe dit als niets waar is</f:else>

</f:if>

TYPO3 v8 LTS - What’s New

Page 77: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Dynamische delen van namen van variabelen(1)

Een andere, nieuwe feature, ook backwards compatibel, is demogelijkheid om sub-variabele referenties te gebruiken bij variabelen.Neem bijvoorbeeld de volgende Fluid variabelen-array:$mykey = ’foo’; // of ’bar’, vanuit elke bron$view->assign(’data’, [’foo’ => 1, ’bar’ => 2]);$view->assign(’key’, $mykey);

Met het volgende Fluid-sjabloon:U koos: {data.{key}}.(uitvoer: "1" als de index "foo" is, "2" als de index "bar" is)

TYPO3 v8 LTS - What’s New

Page 78: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Dynamische delen van namen van variabelen (2)

Dezelfde benadering kan ook gebruikt worden om dynamisch delenvan de naam van een stringvariabele te genereren:$mijndynamischdeel = ’Eerste’; // of ’Tweede’, vanuit elke bron$view->assign(’mijnEersteVariabele’, 1);$view->assign(’mijnTweedeVariabele’, 2);$view->assign(’welke’, $mijndynamischdeel);

Met dit Fluid-sjabloon:U koos: {mijn{welke}Variabele}.(uitvoer: "1" als ’welke’ "Eerste" is, of "2" als ’welke’ "Tweede" is)

TYPO3 v8 LTS - What’s New

Page 79: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Nieuwe ViewHelpers

Er zijn een paar nieuwe ViewHelpers toegevoegd als onderdeel vanstandalone Fluid en daardoor ook beschikbaar in TYPO3:

f:orDit is een korte vorm om (geschakelde) voorwaarden te schrijven. Hetondersteunt de volgende syntax die elke variabele naloopt en de eerstedie niet leeg is als uitvoer gebruikt.{variableOne -> f:or(alternative: variableTwo) -> f:or(alternative: variableThree)}

f:spacelessDit kan gebruikt worden als tag rond sjablooncode om overtolligewitruimte te verwijderen evenals lege regels die bijvoorbeeld ontstaandoor het inspringen van ViewHelpers.

TYPO3 v8 LTS - What’s New

Page 80: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

IconForRecordViewHelper toegevoegd

Er is een nieuwe ViewHelper toegevoegd om iconen voor records af tebeelden<core:iconForRecord table="sys_template" row="{templateRecord}" ></core:iconForRecord>

// uitvoer:<span class="t3js-icon icon icon-size-small icon-state-default icon-mimetypes-x-content-template"

data-identifier="mimetypes-x-content-template"><span class="icon-markup">

<img src="/typo3/sysext/core/Resources/Public/Icons/T3Icons/mimetypes/mimetypes-x-content-template.svg" width="16" height="16">

</span></span>

TYPO3 v8 LTS - What’s New

Page 81: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Inhoud voor ViewHelper f:form.select

Er zijn twee nieuwe ViewHelpers voor het handmatig definiëren vanalle opties en optgroups voor de f:form.select als inhoud van eenselect-veld

OptionViewHelperOptgroupViewHelper

Voorbeeld:<f:form.select name="myproperty">

<f:form.select.option value="1">Optie eem</f:form.select.option><f:form.select.option value="2">Optie twee</f:form.select.option><f:form.select.optgroup>

<f:form.select.option value="3">Gegroepeerde optie een</f:form.select.option><f:form.select.option value="4">Gegroupeerde optie twee</f:form.select.option>

</f:form.select.optgroup></f:form.select>

TYPO3 v8 LTS - What’s New

Page 82: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Globale Fluid ViewHelper Namespace

Globale Fluid ViewHelper namespaces zijn nu instelbaar:$GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’fluid’][’namespaces’]

Hiermee kunnen de namespaces bewerkt worden als onderdeel van deconfiguratie van een site

Voordelen:

ViewHelper pakketten van derden kunnen de globale Fluid namespacef: aanpassenViewHelper pakketten van derden kunnen nieuwe globale namespacesregistrerenOntwikkelaars van sjablonen kunnen die globale namespaces gebruikenzonder ze eerst te importeren en kunnen ze gebruiken in alleFluid-sjablonen ongeacht de context

TYPO3 v8 LTS - What’s New

Page 83: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ViewHelper-namespaces kunnen ook vanuit PHP uitgebreid worden

Via de ViewHelperResolver van de RenderingContext kunnenontwikkelaars de ViewHelper-namespaceinsluitingen wijzigen opglobale (lees: per View-instantie) schaal:$resolver = $view->getRenderingContext()->getViewHelperResolver();// equivalent van registratie van namespace in sjablo(o)n(en):$resolver->registerNamespace(’news’, ’GeorgRinger\News\ViewHelpers’);// extra PHP namespace toevoegen om te controleren bij het opzoeken van ViewHelpers:$resolver->extendNamespace(’f’, ’My\Extension\ViewHelpers’);// alle namespaces vooraf, globaal, voor het verwerken van de sjabloon instellen:$resolver->setNamespaces(array(

’f’ => array(’TYPO3Fluid\\Fluid\\ViewHelpers’, ’TYPO3\\CMS\\Fluid\\ViewHelpers’,’My\\Extension\\ViewHelpers’

),’vhs’ => array(

’FluidTYPO3\\Vhs\\ViewHelpers’, ’My\\Extension\\ViewHelpers’),’news’ => array(

’GeorgRinger\\News\\ViewHelpers’,);

));

TYPO3 v8 LTS - What’s New

Page 84: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

FlashMessageViewHelper

De FlashMessageViewHelper is aangepast en overerft niet langervan de TagBasedViewHelper

Verwijder de tag-specifieke attributen en stijl de standaard uitvoer. Alsmaatwerk uitvoer nodig is, gebruik dan de mogelijkheid om zelfFlashMessages af te beelden. Voorbeeld:<f:flashMessages as="flashMessages">

<dl class="messages"><f:for each="{flashMessages}" as="flashMessage">

<dt>CODE!! {flashMessage.code}</dt><dd>MESSAGE:: {flashMessage.message}</dd>

</f:for></dl>

</f:flashMessages>

TYPO3 v8 LTS - What’s New

Page 85: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ViewHelpers kunnen allerlei argumenten accepteren (1)

Hiermee kan een ViewHelper-klasse elk aantal extra argumentenontvangen met elke gewenste naam

Het werkt door het scheiden van de argumenten die doorgegevenworden naar elke ViewHelper in twee groepen: diegene diegedeclareerd zijn via registerArgument (of de argumenten van derendermethode) en diegene die dat niet zijn

De niet-gedeclareerde argumenten worden doorgegeven aan despeciale functie handleAdditionalArguments in deViewHelper-klasse, die in de standaardimplementatie een foutmeldinggeeft als er extra argumenten zijn

TYPO3 v8 LTS - What’s New

Page 86: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

ViewHelpers kunnen allerlei argumenten accepteren (2)

Door het overschrijven van deze methode in de ViewHelper, is tewijzigen of en wanneer er een foutmelding moet komen als erongeregistreerde argumenten zijn

Hiermee kunnen TagBasedViewHelpers ook willekeurige argumentenmet een data-prefix accepteren zonder foutmelding

bij TagBasedViewHelpers voegt de methodehandleAdditionalArguments eenvoudigweg de nieuweargumenten toe aan de tag die opgebouwd wordt en geeft eenfoutmelding als er extra argumenten zijn die noch geregistreerd zijn,noch een data-prefix hebben.

TYPO3 v8 LTS - What’s New

Page 87: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Argument "allowedTags" voor f:format.stripTags

Het argument allowedTags bevat een lijst met HTML tags die nietverwijderd worden bij f:format.stripTags

De syntax voor de lijst met tags is identiek aan de tweede parametervan de PHP functie strip_tags (zie:http://php.net/strip_tags)

TYPO3 v8 LTS - What’s New

Page 88: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Standaard inhoudselement gewijzigd voor Fluid Styled Content

Het standaard inhoudselement voor CSS Styled Content is gewijzigd in"Tekst"

Om de configuratie terug te zetten moet het standaard inhoudselementhandmatig op de voorkeur ingesteld worden. Dit kan gedaan wordendoor het overschrijven van de configuratie in eenConfiguration/TCA/Overrides/tt_content.php bestand.$GLOBALS[’TCA’][’tt_content’][’columns’][’CType’][’config’][’default’] = ’textmedia’;$GLOBALS[’TCA’][’tt_content’][’columns’][’CType’][’config’][’default’] = ’header’;

TYPO3 v8 LTS - What’s New

Page 89: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Extbase & Fluid

Admin Panel

Admin Panel heeft een nieuwe optie om Fluid uitvoer te debuggen:Preview -> Show fluid debug output

Indien ingeschakeld worden de volgende details getoond:

pad naar het sjabloonbestand van een partialnaam van de section

Hiermee kunnen integrators eenvoudig de juiste sjabloon en sectionvinden

TYPO3 v8 LTS - What’s New

Page 90: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Verouderde/verwijderde functies

TYPO3 v8 LTS - What’s New

Page 91: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Diversen

De volgende configuratieopties zijn verwijderd:

$TYPO3_CONF_VARS[’SYS’][’t3lib_cs_utils’]$TYPO3_CONF_VARS[’SYS’][’t3lib_cs_convMethod’]

(functionaliteit wordt nu automatisch gedetecteerd en mbstring wordtstandaard gebruikt indien beschikbaar)

De verouderde TypoScript-optie page.includeJSlibs is verwijderd.Gebruik in plaats hiervan de TypoScript-optie page.includeJSLibs(hoofdletter "L")

De TypoScript-optie config.renderCharset, die werd gebruikt alstekenset voor interne conversies is verwijderd

TYPO3 v8 LTS - What’s New

Page 92: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Http-gerelateerde functies en HttpRequest klasse verwijderd (1)

De volgende PHP-klassen zijn verwijderd:

TYPO3\CMS\Core\Http\HttpRequestTYPO3\CMS\Core\Http\Observer\Download

De volgende opties zijn hernoemd:

oud: $TYPO3_CONF_VARS[HTTP][userAgent]nieuw: $TYPO3_CONF_VARS[HTTP][headers][User-Agent]oud: $TYPO3_CONF_VARS[HTTP][protocol_version]nieuw: $TYPO3_CONF_VARS[HTTP][version]

TYPO3 v8 LTS - What’s New

Page 93: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Http-gerelateerde functies en HttpRequest klasse verwijderd (2)

Alle proxy-gerelateerde opties zijn verenigd in$TYPO3_CONF_VARS[HTTP][proxy]

Alle opties voor doorverwijzingen (HTTP/follow_redirects,HTTP/max_redirects, HTTP/strict_redirects) zijn verenigd in$TYPO3_CONF_VARS[HTTP][allow_redirects]

Alle opties voor SSL private sleutels (HTTP/ssl_local_cert,HTTP/ssl_passphrase) zijn samengevoegd in$TYPO3_CONF_VARS[HTTP][ssl_key]

Alle opties om SSL peers te verifiëren zijn samengevoegd in$TYPO3_CONF_VARS[HTTP][verify]

TYPO3 v8 LTS - What’s New

Page 94: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Verwijderen ExtJS (1)

Als onderdeel van het verwijderen van ExtJS zijn de volgendeJavaScript functies verwijderd uit de het hoofdframe van de backend(gedefinieerd in het bestand backend.js)

TYPO3._instancesTYPO3.addInstanceTYPO3.getInstanceTYPO3.helpers.split

TYPO3 v8 LTS - What’s New

Page 95: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Verwijderen ExtJS (2)

Nieuwe klasseTYPO3\CMS\Workspaces\Controller\AjaxDispatcher vervangtde ExtDirect router functionaliteit in EXT:workspacesDe volgende klassen zijn verplaatst:

Classes/ExtDirect/AbstractHandler.php

is nu: Classes/Controller/Remote/AbstractHandler.php

Classes/ExtDirect/ActionHandler.php

is nu: Classes/Controller/Remote/ActionHandler.php

Classes/ExtDirect/MassActionHandler.php

is nu: Classes/Controller/Remote/MassActionHandler.php

Classes/ExtDirect/ExtDirectServer.php

is nu: Classes/Controller/Remote/RemoteServer.php

TYPO3 v8 LTS - What’s New

Page 96: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Classes DatabaseConnection and PreparedStatement

The following classes have been marked as deprecated:TYPO3\CMS\Core\Database\DatabaseConnectionTYPO3\CMS\Core\Database\PreparedStatement

Use Doctrine DBAL in TYPO3 v8 LTS instead(ConnectionPool and QueryBuilder classes)

These two classes will be removed in TYPO3 v9

TYPO3 v8 LTS - What’s New

Page 97: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

JavaScript settings under TYPO3.configuration

The following JavaScript settings have been removed:

TYPO3.configuration.debugInWindowTYPO3.configuration.moduleMenuWidthTYPO3.configuration.topBarHeight

These options were not used by the TYPO3 core anyway

TYPO3 v8 LTS - What’s New

Page 98: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Publieke eigenschappen van FlexFormTools

Twee publieke eigenschappen zijn verdwenen uit de klasseTYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools:

public $traverseFlexFormXMLData_DS = array();public $traverseFlexFormXMLData_Data = array();

Het gebruik hiervan resulteert nu in een waarschuwing

TYPO3 v8 LTS - What’s New

Page 99: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Frameset en frame

frameset en frame zijn niet meer ondersteund in HTML5

De volgende TypoScript objecten zijn gemarkeerd als verouderd:

framesetframe

De volgende TypoScript opties zijn gemarkeerd als verouderd:

config.frameReloadIfNotInFramesetconfig.doctype = xhtml_framesconfig.xhtmlDoctype = xhtml_framesframeSet (en de opties)FRAME (en de opties)FRAMESET (en de opties)

TYPO3 v8 LTS - What’s New

Page 100: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Extbase Query Cache verwijderd

De op PHP gebaseerde query-cache-functionaliteit in de Extbasepersistentielaag is verwijderd

De volgende publieke methodes in de Extbase persistentielaag zijnverwijderd:

Typo3DbBackend->quoteTextValueCallback()Typo3DbBackend->injectCacheManager()Interface definitie inQuerySettingsInterface->getUseQueryCache

De bijbehorende cacheconfiguratie heeft geen effect meer:$TYPO3_CONF_VARS[SYS][cache][cacheConfigurations]

[extbase_typo3dbbackend_queries]

TYPO3 v8 LTS - What’s New

Page 101: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Extbase: optie Prepared Statement Query

De optie om prepared statements in de Extbase persistentielaag tegebruiken is verwijderd

De volgende methodes zijn verwijderd uit deQuerySettingsInterface, omdat de databaseabstractielaagautomatisch zorgt voor prepared statements:

getUsePreparedStatement()usePreparedStatement()

TYPO3 v8 LTS - What’s New

Page 102: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Divers (3)

De volgende TCA-optie is verwijderd:$TCA[$table][ctrl][versioning_followPages]

Het toevoegen van items aan de TCA-boom met pageTsConfigaddItems vereist nu een icoon-identifier van het icoonregister (padenworden niet meer ondersteund):TCEFORM.pages.category.addItems.12345.icon = my-registered-icon

Alle XLIF-taalbestanden van EXT:lang zijn verplaatst naarResources/Private/Language/Dit is van belang voor alle extensies die labels uit EXT:lang gebruiken!OUD: EXT:lang/locallang_alt_doc.xlf

NIEUW: EXT:lang/Resources/Private/Language/locallang_alt_doc.xlf

TYPO3 v8 LTS - What’s New

Page 103: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

TCA in ext_tables.php

Frontend aanroepen laden niet langer ext_tables.phpDeze wijziging is van invloed op extensies die TCA in ext_tables.phpdefiniëren(wat sowieso niet toegestaan is)

Install Tool heeft een test "TCA ext_tables controle" om zulke extensiesop te sporen

TYPO3 v8 LTS - What’s New

Page 104: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Verouderde/verwijderde functies

Fluid Styled Content Menu ViewHelpers verwijderd (1/3)

Data direct ophalen in de ’view’ is niet aan te raden en de tijdelijkeoplossing van menu ViewHelpers is vervangen door de opvolger, demenu-processor gebaseerd op HMENU.

Menu ViewHelpers zijn verplaatst naar de compatibility7 extensieen vervangen in de core menu-inhoudselementen.

TYPO3 v8 LTS - What’s New

Page 105: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Installatie en Upgrade

Installatie en UpgradeHet is tijd om TYPO3 v8 LTS te bekijken

TYPO3 v8 LTS - What’s New

Page 106: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Installatie en Upgrade

Klassieke installatiemethode

Officiële klassieke installatieprocedure op Linux/Mac OS X(DocumentRoot bijvoorbeeld /var/www/site/htdocs):$ cd /var/www/site$ wget --content-disposition get.typo3.org/8.6$ tar xzf typo3_src-8.6.0.tar.gz$ cd htdocs$ ln -s ../typo3_src-8.6.0 typo3_src$ ln -s typo3_src/index.php$ ln -s typo3_src/typo3$ touch FIRST_INSTALL

Symbolische koppelingen op Microsoft Windows:

Gebruik junction op Windows XP/2000Gebruik mklink op Windows Vista en Windows 7

TYPO3 v8 LTS - What’s New

Page 107: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Installatie en Upgrade

Installatie met composer

Installatie met composer op Linux/Mac OS X

$ cd /var/www/site/$ composer create-project typo3/cms-base-distribution

Of anders kan een maatwerk composer.json bestand gemaaktworden en dan:

$ composer install

Een voorbeeld composer.json is te downloaden van:git.typo3.org/TYPO3CMS/Distributions/Base.git/blob/HEAD:/composer.json

TYPO3 v8 LTS - What’s New

Page 108: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Installatie en Upgrade

Upgrade naar TYPO3 CMS 8.x

Upgrades alleen mogelijk vanaf TYPO3 CMS 7.6 LTSTYPO3 CMS < 7.6 LTS moet eerst naar TYPO3 CMS 7.6 LTS bijgewerktworden

Instructies voor het upgraden:http://wiki.typo3.org/Upgrade#Upgrading_to_8.6

Officiële TYPO3-handleiding "TYPO3 Installation and Upgrading":http://docs.typo3.org/typo3cms/InstallationGuideAlgemene aanpak:

Controleer minimale systeemeisen (PHP, MySQL, etc.)Controleer deprecation_*.log in de oude TYPO3-installatieWerk alle extensies bij naar de nieuwste versiePlaats nieuwe broncode en start Installatie-module�Upgrade WizardControleer de startmodule voor backend gebruikers (optioneel)

TYPO3 v8 LTS - What’s New

Page 109: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Bronnen en auteurs

Bronnen en auteurs

TYPO3 v8 LTS - What’s New

Page 110: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Bronnen en auteurs

Bronnen

Nieuws over TYPO3:http://typo3.org/news

Informatie over publicaties:http://wiki.typo3.org/TYPO3_CMS_8.7.0

INSTALL.md en ChangeLog

typo3/sysext/core/Documentation/Changelog/8.7/*

Bug-/Issuetracker van TYPO3:https://forge.typo3.org/projects/typo3cms-core

Git-repositories van TYPO3 en Fluid:https://git.typo3.org/Packages/TYPO3.CMS.git

https://github.com/TYPO3/Fluid

TYPO3 v8 LTS - What’s New

Page 111: TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS versie (Lang ondersteunde versie) Ontwikkeltijd: 18+ maanden TYPO3 v8 LTS - What’s

Bronnen en auteurs

TYPO3 CMS What’s New Team:

Pierrick Caillon, Sergio Catala, Richard Haeser, Jigal van Hemert,Patrick Lobacher, Michel Mix, Sinisa Mitrovic,

Nena Jelena Radovic, Michael Schams and Roberto Torresani

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

Licensed under Creative Commons BY-NC-SA 3.0

TYPO3 v8 LTS - What’s New