What's news in TYPO3 8

Nouveautés de TYPO3 v8 - présentation lors de la TYPO3Camp à Nantes en juin 2017

Posté par Julian Layen, le mardi 4 juillet 2017

What's news in TYPO3 8

Doctrine DBAL

Plus gros changement de TYPO3 qu'il est connu, 90% de choses ont changés. 
Pourquoi ? 

- EXT:dbal is dated
- DBs other than MySQL become more important
- Doctrine is de-facto standard in PHP
- DBAL mais pas l'ORM, mais dans l'avenir oui (mais pas de date prévu)
- PostgreSQL 100% compatible
- MS SQL Server 95% done

Changes : 

- Restriction containers
- DeletedRestriction 
- Hidden
- StartTime
- EndTime
- FrontendGroup
- RootLevel
- BackendWordspace
- FrontendWorkspace

L'idée de créer le COMPUND Restriction :

- Appliqué par default pas le code de TYPO3
- FrontendRestrictionContainer
- DefaultRestrictionContainer (ne voit pas les entitées supprimés par defaut)

Usage : 

- SELECT
- DELETE
- INSERT
- UPDATE

 

/** @var QueryBuilder $queryBuilder */
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('be_users');
$users = $queryBuilder
  ->select('*')
  ->from('be_users')
  ->where($queryBuilder->expr()->neq('uid', 1))
  ->andWhere($queryBuilder->expr()->notLike('username', $queryBuilder->createNamedParameter('_cli_%')))
  ->orderBy('username')
  ->execute()
  ->fetchAll();

 

https://usetypo3.com/typo3-v8-technologies.html#c224

Language Changes

- Avant très lent car pour une traduction on récupére n fois les autres langues

Deux types de traductions : 

- Connected mode 
- Free mode

RTE Config

CKEDITOR

Apparition des Presets : configuration en YMAL

> $GLOBALS['_CONF_VARS']['RTE']['Presets']['my_preset'] = 'EXT:my_layout_extension/Configuration/RTE/Default.yaml'; RTE.tt_content.types.textmedia.bodytext.preset = full 
RTE.config.tx_news_domain_model_news.bodytext.preset = default

 

https://typo3worx.eu/2017/02/configure-ckeditor-in-typo3/

 

 

   config:
     toolbarGroups:
         - { name: clipboard, groups: [clipboard, undo] }
         - { name: editing,   groups: [find, selection, spellchecker] }
         - { name: links }
         - { name: insert }
         - { name: tools }
         - { name: table }
         - { name: tabletools }
         - { name: document,  groups: [ mode, document, doctools ] }
         - { name: others }
         - "/"
         - { name: basicstyles, groups: [ basicstyles, align, cleanup ] }
         - { name: paragraph,   groups: [ list, indent, blocks, align, bidi ] }
         - "/"
         - { name: styles }  
   removeButtons:

 

Tag formats : 

 

   config:
      format_tags: "p;h1;h2;h3;pre"

 

Possible d'jouter du CSS custom, et d'ajouter des elements custom ex : blockquote
Et il est possible de traduction le nom des elements avec les LLL.

Plugins : 

Il est possible de supprimer des plugins et en ajouter.

 

  config: 
    removePlugins:
      - image
    extraPlugins:
      - justify
      - font
      - find
      - bidi 
    justifyClasses:
      - align-left
      - align-center
      - align-right
      - align-justify

 

Il est aussi possible de les inclure en YAML :

 

editor:
  config: 
    removePlugins:
      - image
    extraPlugins:
      - justify
      - font
      - find
      - bidi 
    justifyClasses:
      - align-left
      - align-center
      - align-right
      - align-justify

 

Fluid Styled Content

Fluid based Templating
Plus simple pour les nouveaux dans TYPO3
N'est plus experimental
Tricky to migrate
Il ne faut plus utiliser Styles Content


Après 

TCA sera en YAML
Twig par la suite pourquoi pas
Suppression du ext_table.sql par la suite car les informations sont dans le TCA

https://typo3.com/

 

Merci à Mathias Schreiber pour la présenation.