Drupal 7 a un fichier .editorconfig

drupal 7.50  a un fichier .editorconfig file et des nouveautés et améliorations (dont utf8mb4). Source: https://www.drupal.org/project/drupal/releases/7.50 et https://www.drupal.org/blog/drupal-7-50

La 7.50 est un saut depuis la 7.44. Des plus en sécurité et un fichier .editorconfig pour les editeurs de texte.

Les changes (intro)

"administer fields" permission

Coté sécurité: plus de iframe sur un autre domaine

par défaut, mais on peux modifier ce comportement https://www.drupal.org/node/2735873

Support MySQL "full UTF-8" (depuis drupal 7.50)

https://www.drupal.org/node/2761183
voir aussi https://www.drupal.org/node/2754539 "Multi-byte UTF-8 support in Drupal 7"

Pour un drupal existant : utiliser drush pour convertir les tables en utf8mb4 (https://www.drupal.org/project/utf8mb4_convert qui les passe aussi les tables MyISAM en InnoDB) puis ajouter dans les settings.php:

$databases['default']['default'] = array(
  'driver' => 'mysql',   'database' => 'databasename',   'username' => 'username',   'password' => 'password',   'host' => 'localhost',
  'charset' => 'utf8mb4',
  'collation' => 'utf8mb4_general_ci',
);

Il faut d'abord faire un backup de la db, et vérifier :

  • my.cnf (sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf sur ubuntu 16) :
[mysqld]
 innodb_large_prefix=true
 innodb_file_format=barracuda
 innodb_file_per_table=true

These settings are available as of MySQL 5.5.14, and are defaults in MySQL 5.7.7 and up.

  • The PHP MySQL driver must support the utf8mb4 charset (libmysqlclient
    5.5.3 and up, as well as mysqlnd 5.0.9 and up)
  • The MySQL server must support the utf8mb4 charset (5.5.3 and up).

convertir les tables vers utf8mb4 :

Avec drush et un tool :

drush @none dl utf8mb4_convert-7.x
drush cc drush
drush utf8mb4-convert-databases

Attention : seules les tables des modules activés ont été modifiés

 

Via Mysql pour la base nommée nomdb :

mysql -u root -p

ALTER DATABASE nomdb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

SELECT CONCAT('ALTER TABLE `', TABLE_NAME,'` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') AS mySQL
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA= "nomdb"
AND TABLE_TYPE="BASE TABLE";

(nen marche pas sur Mariadb/ ddev).

 


Support versions PHP, PHP 7 inclus

et correction de bugs.

Plus d'affichage lors de recherche de fichiers, amélioration des performances (si un fichier n'est pas trouvé : PHP warning). https://www.drupal.org/node/2581445

Indexation par les bots de images/CSS/JavaScript

robots.txt a maintenant des règles pour les moteurs de recherche. https://www.drupal.org/node/2762251

editorconfig

http://editorconfig.org/ Source: https://www.drupal.org/node/2762249

définir et à maintenir des styles de codage cohérents entre les différents éditeurs et IDEs . Le projet EditorConfig se compose d'un format de fichier pour définir codage styles et une collection de plugins d'éditeur de texte qui permettent aux éditeurs de lire le format de fichier et d'adhérer aux styles définis 
Les fichiers EditorConfig sont lus du haut vers le bas et les plus proches sont lus en dernièr. Les propriétés des sections EditorConfig correspondantes sont appliquées dans l'ordre où ils ont été lus, pour que les propriétés des fichiers plus proches aient la priorité.

Format INI compatible Python (mais les [] sont permises dans les noms de section). Commentaires avec # ou ; avec encodage UTF-8.

Drupal 8 a aussi ce fichier. Voir (en anglais) http://www.wunderkraut.com/blog/the-new-editorconfig-file-in-drupal-8/20...

Test update sur vm

message sur stark, zen...

voir https://www.drupal.org/project/module_missing_message_fixer

drush en module_missing_message_fixer

Conf à admin/config/system/module-missing-message-fixer (et donner les perms) mais ne trouve pas de soucis

 

logo drush