WP deployer et vos plugins :


WP Deployer ne gère pas les téléchargements des plugins, seulement l’activation et la mise à niveau. 

Par exemple, si vous souhaitez déployer un nouveau plugin sur un de vos sites, il vous faut au préalable les copier sur vos sites avant de lancer un import.

Configurer un nouveau plugin :

 

^

Quoi regarder

Un plugin peut :

  • installer des tables de données,
  • installer des valeurs, par exemple dans la table options.
  • modifier des valeurs.

Il convient donc de regarder chaque colonne de table ajoutée, chaque ligne ajoutée à l’installation dans une table (en particulier options).

Un cas à vérifier et qui reviendra régulièrement concerne les ID (champ autoincrémenté de base de données). Par exemple, une “entité” qui référence une autre “entité”. Les ID ne sont pas déployables, et nécessitent une intervention humaine afin de s’assurer que les liaisons sont conservées lorsque les “entités” sont déployées.

^

Inspecter la structure des tables

Dans la capture ci-dessus, il s’agit de la vue “Modify” de PhpStorm, de la table “wp_redirection_logs” ajoutée par le plugin “redirection”. Le champ “redirection_id” est très probablement un ID lié à une autre table du module. Ce champ doit donc être configuré en tant que référence à une autre table.

^

Intervenir sur la configuration depuis l’UI

Voici un exemple de comment modifier la configuration.

Tout d’abord, sachez que WP Deployer tente de configurer automatiquement la table dès l’installation du plugin.

Il ne vous reste donc qu’à modifier la configuration de l’UI.

 

Configurer le Schema

 

Aller dans Deployment > Advanced Settings.

 

 

Ouvrir le dropdown du plugin, ou de la catégorie “Other”. Dans le cas de l’exemple, j’ouvre Redirection.

 

Track / Follow : si la table ne doit pas être exportée (parce que donnée sensible ou inutile), mettre Follow, sinon laisser à Track. Ici, la table des logs n’est à priori pas intéressante pour l’export, donc nous le retirons des exports.

Label : un joli nom pour la table, si vous le souhaitez.

 

Field Schema : cherchez le champ que vous souhaitez changer. Par exemple, pour redirection_id :

 

 

On définit “redirection_id” comme un champ de référence vers la table “wp_redirection_items”.

La case “Dependency” doit être cochée dans un cas particulier : si les items doivent être placés sous leurs parents dans l’interface d’export / import.

C’est le cas pour les Posts + Postmeta (fig. ci-contre).

 

 

Configurer les Processors

Les processeurs sont lancés dans l’ordre indiqué à l’export, et dans le sens contraire à l’import. Veillez donc à ce que leur exécution n'entraîne pas d’effet secondaire non désiré.

Les options sont :

  • Convert GUID into this represented file : il s’agit d’un processeur spécifique pour les posts, appliqué sur le champ post_guid. Cela permet d’inclure des fichiers attachés dans le bundle.
  • Clear data on import : cela permet de supprimer une donnée particulière lors de l’import d’un élément ayant ce processeur. Par exemple, une valeur transient dans la table d’options.
  • Clear Elementor cache on import : cela permet de vider le cache d’Elementor, si utilisé, lors de l’import d’un élément ayant ce processeur.
  • Map to import author : relie le contenu du champ spécifié à l’auteur des imports spécifié dans les paramètres de WP Deployer.
  • Transmutation : permet de spécifier un emplacement à l’intérieur même de la donnée (JSON et PHP sérialisés supportés) et d’appliquer une fonction de transformation prédéfinie.
  • Strip host name from URL : permet de chercher les URLs contenus dans le champ spécifié le nom d’hôte du site courant, et de les remplacer par le nom d’hôte du site qui va importer la donnée.

 

Une fois que tout est configuré (s’il y a eu quelque chose à faire), effectuez un déploiement entre les instances de hors-production et de pré-production. Puis importez pour vérifier que tout fonctionne.

 

^