TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS...
Transcript of TYPO3 v8 LTS - What's NewInleiding TYPO3 v8 LTS Publicatiedatum: 4 april 2017 Publicatietype: LTS...
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
Inleiding
InleidingKort overzicht van de feiten
TYPO3 v8 LTS - What’s New
Inleiding
TYPO3 v8 LTS
Publicatiedatum: 4 april 2017
Publicatietype: LTS versie (Lang ondersteunde versie)
Ontwikkeltijd: 18+ maanden
TYPO3 v8 LTS - What’s New
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
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
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
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
Gebruikersinterface backend
Gebruikersinterface backendHet uiterlijk van de TYPO3 CMS backend is weer verbeterd
TYPO3 v8 LTS - What’s New
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
Gebruikersinterface backend
Responsive TYPO3 backend voor mobiel
De TYPO3 Backend is nu volledig responsive voor mobiel.
TYPO3 v8 LTS - What’s New
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
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
Gebruikersinterface backend
Beeldbewerking (2)
TYPO3 v8 LTS - What’s New
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
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
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
Gebruikersinterface backend
Herbouwde werkruimtes (2)
Screenshots van de module werkruimtes:
TYPO3 v8 LTS - What’s New
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
Form Framework
Raamwerk voor formulierenComplexe formulieren maken is supersimpel
TYPO3 v8 LTS - What’s New
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
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
Form Framework
Screenshot (1)
TYPO3 v8 LTS - What’s New
Form Framework
Screenshot (2)
TYPO3 v8 LTS - What’s New
Rich Text Editor
Rich Text EditorTekstverwerking neemt een grote stap voorwaarts
TYPO3 v8 LTS - What’s New
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
Rich Text Editor
Screenshots
TYPO3 v8 LTS - What’s New
Install Tool
Install ToolKrachtig gereedschap voor integrators en ontwikkelaars
TYPO3 v8 LTS - What’s New
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
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
Install Tool
TCA migratieberichten
TCA migratieberichten kunnen nu bekeken worden in de Install Tool.
TYPO3 v8 LTS - What’s New
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
TSconfig & TypoScript
TSconfig & TypoScriptNieuwe configuratieopties, nieuwe functies, onbegrensde
mogelijkheden
TYPO3 v8 LTS - What’s New
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
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
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
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
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
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
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
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
Doctrine DBAL
Doctrine DBALState-of-the-art database-abstractielaag
TYPO3 v8 LTS - What’s New
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
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
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
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
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
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
Systeemwijzigingen
SysteemwijzigingenGeweldige nieuwe functies en verbeteringen binnenin
TYPO3 v8 LTS - What’s New
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Systeemwijzigingen
DebuggerUtility::var_dump (2)
TYPO3 v8 LTS - What’s New
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
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
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
Extbase & Fluid
Extbase & Fluid
TYPO3 v8 LTS - What’s New
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Verouderde/verwijderde functies
Verouderde/verwijderde functies
TYPO3 v8 LTS - What’s New
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Installatie en Upgrade
Installatie en UpgradeHet is tijd om TYPO3 v8 LTS te bekijken
TYPO3 v8 LTS - What’s New
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
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
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
Bronnen en auteurs
Bronnen en auteurs
TYPO3 v8 LTS - What’s New
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
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