Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Flote37/4579ae00064d8c2938e5dbb0b66c946d to your computer and use it in GitHub Desktop.
Save Flote37/4579ae00064d8c2938e5dbb0b66c946d to your computer and use it in GitHub Desktop.
TYPO3camp Nantes TYPO3 CMS 6 to 9 Update Notes
Voici une traduction des notes de Matthias Krappitz du Typo3 Camp 2018 sur le sujet de "Comment migrer de Typo3 v6 à Typo3 v9" :
<<
Voici ma liste de notes sur la session du Dimanche du TYPO3Camp Nantes 2018 ayant pour thème 'mise à jour de TYPO3 CMS version 6 à version 9' sur le projet https://www.kastrati.com/.
Ces notes sont prédisposées aux participants de cette session :
- Ajuster les configurations de la BDD pour votre environnement de développement dans le fichier AdditionalConfiguration.php. Il est conseillé d'activer cette configuration avec une condition sur le nom de domaine pour plus d'aisance.
- Exécuter l'opération "DB Compare" depuis l'interface "Install Tools" de l'espace d'administration Typo3.
- Configurer le "Preview Domain" (le préfixe url de prévisualisation de la page) en éditant la page de racine du site, onglet "Ressources", dans le bloc PageTS config. Exemple :
```
[globalString = IENV:HTTP_HOST = *mon-domaine.dev]
TCEMAIN.previewDomain = http://mon-domaine.dev
[global]
```
- Configurer les conditions TypoScript (Frontend) sur le nom de domaine pour qu'elles correspondent au nom de domaine de votre environnement de développement
- Mettre à jour toutes les extensions à leur version la plus récente et compatible avec la version Typo3 v6 et v7 si possible. (EXT:powermail mise à jour jusqu'à la version 2.25.3 pour le moment ou 2.25.4 si vous êtes joueur)
- EXT:realurl => Corriger la configuration de RealUrl en remplaçant $TYPO3_CONF_VARS par $GLOBALS['TYPO3_CONF_VARS']
- EXT:metaseo => Installer/Mettre à jour l'extension vers la version 2.0.3 ou 2.1.0 par exemple ; réécrire les données ; rendre compatible le TypoScript statique ; modifier les constantes
- Configurer PHP en version 7.1 (on passera en PHP 7.2 plus tard)
- Mettre à jour le TYPO3 Core vers 7.6
- Lancer les mises à jours d'extensions
- EXT:flux => supprimer les viewhelper grid de l'extension flux
- Mettre à jour les traductions
- EXT:css_styled_content => Désinstaller l'extension
- EXT:fluid_styled_content => Installer l'extension ; lancer l'Upgrade Wizard ; ajuster le TypoScript statique ; ajuster les CSS
- Soit :
- Lancer la commande mysql : UPDATE tt_content SET header_layout = 1 WHERE header_layout = 0;
- Ou bien, mettre le Type de Header par défaut à "h1" via le TypoScript
- Configurer les codes langages ISO dans les enregistrements de "sys_language" (si vous êtes en mode multilangues)
- EXT:powermail => Mettre à jour l'extension vers la version 3.22.1 (NDT : ou plus si affinité) ; lancer l'Upgrade Wizard ; vider le cache d'autoload ; faire les ajustements CSS comme suit :
```CSS
.powermail_label {width: 200px; display: inline-block; float: left; }
.powermail_legend {color: # e7a539; font-weight: bold; margin: 20px 0 5px; }
.powermail_input, .powermail_field {width: 280px; padding: 3px 5px; float: left; }
.powermail_fieldwrap_textarea,
.powermail_fieldwrap_input {margin-bottom: 5px; }
.powermail_fieldwrap {position: relative; clear: both; }
```
- Mettre à jour le TYPO3 Core vers 8.7
- Adapter la configuration de la BDD dans l'AdditionalConfiguration.php pour respecter la nouvelle syntaxe
- Vider tous les caches
- Mettre à jour toutes les extensions
- Mettre à jour les traductions
- EXT:kastratielements => supprimer les dépendances à EXT:fluidcontent ; créer le fichier ext_localconf.php contenant :
```php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
// fix for https://github.com/FluidTYPO3/flux/issues/1442 in flux 8
if (TYPO3_MODE == 'FE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources'][] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class . '->processData';
}
\FluidTYPO3\Flux\Core::registerTemplateAsContentType('AEMKA.Kastratielements', 'EXT:kastratielements/Resources/Private/Templates/Content/Container3cols.html');
\FluidTYPO3\Flux\Core::registerTemplateAsContentType('AEMKA.Kastratielements', 'EXT:kastratielements/Resources/Private/Templates/Content/Example.html');
```
- Et supprimer :
```php
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('kastratielements', 'Content');
```
- EXT:fluidcontent => supprimer l'extension ; réinstaller EXT:kastratielements qui s'est désinstallée sans raison apparente
- Optionnel : Copier le code de l'ancienne icône and le placer dans le fichier :
```
<flux:form.option.icon value="EXT:kastratielements/Resources/Public/Icons/Content/Example.svg" />
```
- Convertir les CTypes à l'aide des commandes SQL suivantes :
```
UPDATE tt_content SET CType = "flux_container3cols" WHERE tx_fed_fcefile = "kastratielements:Container3cols.html";
UPDATE tt_content SET CType = "flux_example" WHERE tx_fed_fcefile = "kastratielements:Example.html";
```
- Renommer :
```
lib.contentElement
```
en
```
lib.renderContentElement
```
- EXT:rte_ckeditor => Installer l'extension
- Retirer l'ancienne configuration du RTE (Rich Text Editor) dans le TsConfig des Pages
- EXT:flux => Mettre à jour l'extension vers la version 9 (ou plus si affinité)
- Insérer le "colPos" dans les colonnes des éléments de type "container"
- Migrer les éléments enfants des éléments "container" grâce aux commandes SQL :
```SQL
PDATE `tt_content` SET colPos = CONCAT(tx_flux_parent, "10") WHERE tx_flux_column = "content.left";
UPDATE `tt_content` SET colPos = CONCAT(tx_flux_parent, "11") WHERE tx_flux_column = "content.middle";
UPDATE `tt_content` SET colPos = CONCAT(tx_flux_parent, "12") WHERE tx_flux_column = "content.right";
```
- Optionnel : Réinitialiser l'icône et le nom du groupe dans les éléments Flux
- Initialiser : flux.input.file xclass
- Ré-implémenter les CTypes avec les commandes SQL suivantes :
```SQL
UPDATE tt_content SET CType = "kastratielements_container3cols" WHERE tx_fed_fcefile = "kastratielements:Container3cols.html";
UPDATE tt_content SET CType = "kastratielements_example" WHERE tx_fed_fcefile = "kastratielements:Example.html";
```
- Retirer le "fix" de rendu de flux 8 du fichier "ext_localconf.php" :
```PHP
// fix for https://github.com/FluidTYPO3/flux/issues/1442 in flux 8
if (TYPO3_MODE == 'FE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources'][] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class . '->processData';
}
```
- Passer en PHP 7.2
- Ajouter le fichier ".htaccess" du core de Typo3 v8 pour Google Pagespeed (cf : https://developers.google.com/speed/pagespeed/insights/?hl=fr)
- Corriger la redirection SSL forcée dans le fichier ".htaccess" :
```
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
```
- Editer les droits pour les éditeurs pour les nouveaux champs TCA
- Exécuter l'opération "DB Compare" depuis l'interface "Install Tools" de l'espace d'administration Typo3.
- EXT:realurl => Supprimer l'extension
- EXT:metaseo => Supprimer l'extension
- EXT:powermail => Mettre à jour l'extension
- Mettre à jour le Typo3 Core en version 9.5
- Retirer les dépendances à EXT:kastratielements sauf pour les éléments EXT:flux
- EXT:seo => Installer l'extension
- Créer une configuration pour le Site ; Configurer les routes statiques pour les fichier "sitemap.xml" et "robots.txt"
Des questions ? Intéressé par une mise à jour de votre Typo3 ? Contactez-moi !
info@aemka.de
https://www.aemka.de/
Here is my list of notes for the TYPO3 CMS 6 to 9 update session of the installation https://www.kastrati.com/ on the Sunday of the TYPO3Camp Nantes 2018. Makes only sense for participants of the session:
- set development system DB settings inf AdditionalConfiguration.php on domain condition
- execute DB Compare
- set Preview Domain in PageTs on domain condition
- set TS Domain Conditions for Frontend to Dev Environment
- extension updates (EXT:powermail only up to 2.25.3 for now)
- EXT: fix realurl configuration, changing $TYPO3_CONF_VARS to $GLOBALS['TYPO3_CONF_VARS']
- migrate to EXT:metaseo, rewrite data, change static TS, change constants
- set php to 7.1
- TYPO3 Core Update to 7.6
- run extension updates
- remove EXT:flux grid viewhelper
- update translations
- uninstall EXT:css_styled_content, install EXT:fluid_styled_content, run upgrade wizard, change static TS, adjust CSS
- either mysql: UPDATE tt_content SET header_layout = 1 WHERE header_layout = 0; or set default header type to h1 via TS
- set Language ISO codes in sys_language records
- update EXT:powermail to 3.22.1, run upgrade wizard, empty autoload cache, do css adjustments:
.powermail_label {width: 200px; display: inline-block; float: left; }
.powermail_legend {color: # e7a539; font-weight: bold; margin: 20px 0 5px; }
.powermail_input, .powermail_field {width: 280px; padding: 3px 5px; float: left; }
.powermail_fieldwrap_textarea,
.powermail_fieldwrap_input {margin-bottom: 5px; }
.powermail_fieldwrap {position: relative; clear: both; }
- TYPO3 Core update to 8.7
- Make DB adjustments in AdditionalConfiguration.php because of changed syntax
- clear all caches
- do extension updates
- update translations
- In EXT: castratielements, remove dependency on EXT:fluidcontent, create ext_localconf.php with
if (!defined('TYPO3_MODE')) {
the ('Access denied.');
}
// fix for https://github.com/FluidTYPO3/flux/issues/1442 in flux 8
if (TYPO3_MODE == 'FE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources'][] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class.'->processData';
}
\FluidTYPO3\Flux\Core::registerTemplateAsContentType('AEMKA.Kastratielements', 'EXT: kastratielements/Resources/Private/Templates/Content/Container3cols.html');
\FluidTYPO3\Flux\Core::registerTemplateAsContentType('AEMKA.Kastratielements', 'EXT: kastratielements/Resources/Private/Templates/Content/Example.html');
and remove
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('castratielements', 'Content');
- remove EXT:fluidcontent, reinstall EXT:kastratielements that was uninstalled for no reason
- Optional: Copy icon and put elements in <flux:form.option.icon value="EXT: castratielements/Resources/Public/Icons/Content/Example.svg" />
- Convert CTypes per
UPDATE tt_content SET CType = "flux_container3cols" WHERE tx_fed_fcefile = "kastratielements:Container3cols.html";
UPDATE tt_content SET CType = "flux_example" WHERE tx_fed_fcefile = "kastratielements:Example.html";
- rename lib.contentElement to lib.renderContentElement
- install EXT:rte_ckeditor
- remove old RTE Page TsConfig
- update to EXT:flux 9
- Include colPos in container element columns
- Migration of the child elements of the container with
UPDATE `tt_content` SET colPos = CONCAT (tx_flux_parent, "10") WHERE tx_flux_column="content.left";
UPDATE `tt_content` SET colPos = CONCAT (tx_flux_parent, "11") WHERE tx_flux_column="content.middle";
UPDATE `tt_content` SET colPos = CONCAT (tx_flux_parent, "12") WHERE tx_flux_column="content.right";
- Optional: Reset icon and group name in the Flux elements
- Introduce flux.input.file xclass
- Re-implement CTypes per
UPDATE tt_content SET CType = "kastratielements_container3cols" WHERE tx_fed_fcefile = "kastratielements:Container3cols.html";
UPDATE tt_content SET CType = "kastratielements_example" WHERE tx_fed_fcefile = "kastratielements:Example.html";
- Remove the render fix of flux 8 from ext_localconf.php
// fix for https://github.com/FluidTYPO3/flux/issues/1442 in flux 8
if (TYPO3_MODE == 'FE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources'][] = \FluidTYPO3\Flux\Backend\TableConfigurationPostProcessor::class.'->processData';
}
- update to php 7.2
- introduce default .htaccess from 8 core for better Google Pagespeed
- Fix SSL Force redirection via .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
- edit editor rights for new tca fields
- execute DB Compare
- remove EXT:realurl, EXT:metaseo, update EXT:powermail
- update TYPO3 CMS to 9.5
- remove dependencies from EXT:kastratielements except for EXT:flux
- install EXT:seo
- create Site conf, set static routes for sitemap.xml and robots.txt
Questions? Interested in a TYPO3 update? Get in touch!
info@aemka.de
https://www.aemka.de/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment