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

of 111/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
  • date post

    11-Oct-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

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

    Zie docs.typo3.org voor meer details.

    TYPO3 v8 LTS - What’s New

    https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.6/Feature-75880-ImplementMultipleCroppingVariantsInImageManipulationTool.html

  • 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

    https://docs.typo3.org

  • 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

    http://pixelant.net

  • 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 = [email protected], de_AT, de_DE, deu_deu

    Zie http://php.net/setlocale

    TYPO3 v8 LTS - What’s New

    http://php.net/setlocale

  • 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

    https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Hmenu/Index.html

  • 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

    http://www.doctrine-project.org

  • 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:

    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

    http://docs.guzzlephp.org

  • 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/ ( 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

    https://en.wikipedia.org/wiki/ISO_8601

  • 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

    https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.0/Feature-69863-UseNewStandaloneFluidAsComposerDependency.html

  • 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:

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

    Daarbij kent f:else nu een "elseif"-achtige functie:

    Doe dit

    Doe dit als variabele twee ’waar’ oplevert

    Doe dit als variabele twee ’waar’ oplevert

    Of doe dit als niets waar is

    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

    // uitvoer:

    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:

    Optie eemOptie twee

    Gegroepeerde optie eenGegroupeerde optie twee

    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:

    CODE!! {flashMessage.code}MESSAGE:: {flashMessage.message}

    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

    http://php.net/strip_tags

  • 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

    https://git.typo3.org/TYPO3CMS/Distributions/Base.git/blob/HEAD:/composer.json

  • 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

    http://wiki.typo3.org/Upgrade#Upgrading_to_8.6http://docs.typo3.org/typo3cms/InstallationGuide

  • 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

    http://typo3.org/newshttp://wiki.typo3.org/TYPO3_CMS_8.7.0https://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.mdhttps://github.com/TYPO3/TYPO3.CMS/tree/master/typo3/sysext/core/Documentation/Changeloghttps://forge.typo3.org/projects/typo3cms-corehttps://git.typo3.org/Packages/TYPO3.CMS.githttps://github.com/TYPO3/Fluid

  • 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

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

    InleidingGebruikersinterface backendForm FrameworkRich Text EditorInstall ToolTSconfig & TypoScriptDoctrine DBALSysteemwijzigingenExtbase & FluidVerouderde/verwijderde functiesInstallatie en UpgradeBronnen en auteurs