esup-multi

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  • Canaux de notifications (channels)
  • Formulaire de contact (contact_us)
  • Informations importantes (important_news)
  • Page de login (login)
  • Services (features)
  • Pages statiques (static_pages)
  • Widgets (widgets)
  • Catégories de points (map_categories)
  • Points sur la carte (map_points)

Puis cliquez sur Enregistrer les modifications

...

Dans l'onglet Send Data, nous allons nous intéresser à 3 hooks : Post createdPost trashed et Post Updated

...

Optimisation et sécurité du CMS

Désactiver toutes les options relatives aux commentaires

Les commentaires n'étant d'aucune utilité dans notre cas d'usage, toutes les options en rapport peuvent être désactivées.

Dans la barre latérale gauche, Réglages > Commentaires et décochez les options inutiles.

Santé du site

Wordpress met à disposition un outil permettant d'améliorer les performances et la sécurité. Pour cela, cliquez sur Outils > Santé du site dans la barre latérale gauche et suivez les suggestions afin d'améliorer le fonctionnement de votre instance.

Classer le contenu par colonne

Par défaut, Wordpress ne permet pas de trier le contenu de chaque collection en fonction des attributs disponibles. Il se contente seulement d'afficher le titre, la date de dernière publication et la langue.

Pour améliorer cela, l'instance de Wordpress proposée avec Multi fournit un plugin WPC Admin Columns qui permet de personnaliser les colonnes à afficher.

Pour personnaliser les colonnes, il suffit de se rendre sur la collection et de cliquer sur le bouton Columns en haut à gauche.

Image Removed

Une fenêtre s'ouvre vous permettant de choisir les colonnes à afficher / masquer, de changer l'ordre et aussi d'ajouter une nouvelle colonne.

Pour ajouter une nouvelle colonne, dans la popup ouverte cliquez sur le bouton + Add column. Éditez le nouveau champ qui vient d'apparaitre, donnez lui un nom de colonne, choisissez le type Custom field et dans le champ Field choisissez l'attribut que vous souhaitez (par exemple feature_description, qui est le champ description de la collection Features). Vous pouvez ensuite décider si le champ peut être éditer en saisie rapide ou non et si l'utilisateur peut trier la collection sur cette colonne.
Vous pouvez également déplacer cette colonne dans la liste. Dans l'exemple suivant, j'ai par exemple choisi d'afficher la description juste après la colonne titre.

...

Image Removed

...

Image Removed

Erreurs rencontrées

Failed to execute /docker-entrypoint-init.d/init-wordpress.sh

Si vous rencontrez ce message d'erreur au montage du Dockerfile, pensez à vérifier les droits sur le fichier init-wordpress.sh

...

languageyaml

...

. Dans chacun de ces triggers, il va falloir aller renseigner la route qui permet de vider le cache pour chacune des collections.

Pour l'exemple, je vais documenter la création des 3 triggers pour la collection Services (features). Il vous conviendra ensuite de créer le triggers des collections restantes : Page de login (auth), Formulaire de contact (contact-us), Informations importantes (important-news), Canaux de notifications (notifications), Réseaux sociaux (social-networks), Pages statiques (static-pages), Widgets (features), Carte (map-points, campuses, map-icons, map-categories).

Les données de carte sont un cas particulier : il faut créer un seul hook par action, sur la route map-points, mais en sélectionnant dans la config de WP Webhooks les 4 pods : Campus ; Catégorie de point ; Icône carte ; Point sur la carte.

Pour connaitre l'ensemble des routes disponibles : Connecteur CMS Headless#Routesdisponibles

Hook pour la création d'un service

Cliquez sur l'entrée Post created, puis Add Webhook URL.

Image Added

Dans la modal qui s'ouvre, entrez les éléments suivants :

  • Webhook name : donnez un intitulé parlant à votre hook, par exemple clear-features-cache
  • Webhook URL : {%URL_VERS_VOTRE_CONNECTEUR_CMS%}/cache/clear/features

Puis cliquez sur le bouton Add for post_create.

Une fois le hook créé, nous allons le configurer. Cliquez sur les 3 points alignés verticalement sous la colonne Action, puis sur Settings.

Dans la modal qui s'ouvre, modifier les paramètres suivants :

  • Trigger on selected post types : Sélectionnez le type Service
  • Trigger on initial post status change : Sélectionnez Publié
  • User must be logged in : activé
  • Trigger from backend only : activé
  • Change the data request typeX-WWW-FORM-URLENCODE
  • Change the data request methodGET
  • Add authentication template : Choisissez le template créé précédemment (dans notre exemple, cms-connector)
  • Laissez le reste inchangé

Cliquez sur le bouton Save Settings et fermez la modal.

Votre trigger est à présent configuré. Vous avez la possibilité de le tester en cliquant sur les 3 points alignés verticalement, puis Send Demo.
Si votre connecteur est configuré en mode Debug (variable NODE_ENV différente de production), vous devriez voir passer les informations d'invalidation du cache dans les logs

Image Added

Hook pour la modification d'un service existant

Cliquez sur l'entrée Post updated, puis Add Webhook URL

Dans la modal qui s'ouvre, entrez les éléments suivants :

  • Webhook name : donnez un intitulé parlant à votre hook, par exemple clear-features-cache
  • Webhook URL : {%URL_VERS_VOTRE_CONNECTEUR_CMS%}/cache/clear/features

Puis cliquez sur le bouton Add for post_update.

Une fois le hook créé, cliquez sur les 3 points alignés verticalement sous la colonne Action, puis sur Settings.

Dans la modal qui s'ouvre, modifier les paramètres suivants :

  • Trigger on selected post types : Sélectionnez le type Service
  • Trigger on post status : On va laisser volontairement vide pour que le cache soit mis à jour sur changement de statut (par exemple dans le cas où un utilisateur décide d'archiver un service, ou bien de passer un service de l'état 'brouillon' à 'publié')
  • User must be logged in : activé
  • Trigger from backend only : activé
  • Change the data request typeX-WWW-FORM-URLENCODE
  • Change the data request methodGET
  • Add authentication template : Choisissez le template créé précédemment (dans notre exemple, cms-connector)
  • Laissez le reste inchangé

Cliquez sur le bouton Save Settings et fermez la modal.

Hook pour la suppression d'un service existant

Info

Ici nous allons utiliser le trigger Post trashed plutôt que Post deleted car nous partons du principe qu'à partir du moment où un contenu est mis à la corbeille il n'a plus lieu d'être affiché sur l'application mobile. Et cela permet, le cas échéant, de le republier en cas de restauration via le trigger Post updated.

Cliquez sur l'entrée Post updated, puis Add Webhook URL

Dans la modal qui s'ouvre, entrez les éléments suivants :

  • Webhook name : donnez un intitulé parlant à votre hook, par exemple clear-features-cache
  • Webhook URL : {%URL_VERS_VOTRE_CONNECTEUR_CMS%}/cache/clear/features

Puis cliquez sur le bouton Add for post_trash.

Une fois le hook créé, cliquez sur les 3 points alignés verticalement sous la colonne Action, puis sur Settings.

Dans la modal qui s'ouvre, modifier les paramètres suivants :

  • Trigger on selected post types : Sélectionnez le type Service
  • User must be logged in : activé
  • Trigger from backend only : activé
  • Change the data request typeX-WWW-FORM-URLENCODE
  • Change the data request methodGET
  • Add authentication template : Choisissez le template créé précédemment (dans notre exemple, cms-connector)
  • Laissez le reste inchangé

Cliquez sur le bouton Save Settings et fermez la modal.

Optimisation et sécurité du CMS

Désactiver toutes les options relatives aux commentaires

Les commentaires n'étant d'aucune utilité dans notre cas d'usage, toutes les options en rapport peuvent être désactivées.

Dans la barre latérale gauche, Réglages > Commentaires et décochez les options inutiles.

Santé du site

Wordpress met à disposition un outil permettant d'améliorer les performances et la sécurité. Pour cela, cliquez sur Outils > Santé du site dans la barre latérale gauche et suivez les suggestions afin d'améliorer le fonctionnement de votre instance.

Classer le contenu par colonne

Par défaut, Wordpress ne permet pas de trier le contenu de chaque collection en fonction des attributs disponibles. Il se contente seulement d'afficher le titre, la date de dernière publication et la langue.

Pour améliorer cela, l'instance de Wordpress proposée avec Multi fournit un plugin WPC Admin Columns qui permet de personnaliser les colonnes à afficher.

Pour personnaliser les colonnes, il suffit de se rendre sur la collection et de cliquer sur le bouton Columns en haut à gauche.

Image Added

Une fenêtre s'ouvre vous permettant de choisir les colonnes à afficher / masquer, de changer l'ordre et aussi d'ajouter une nouvelle colonne.

Pour ajouter une nouvelle colonne, dans la popup ouverte cliquez sur le bouton + Add column. Éditez le nouveau champ qui vient d'apparaitre, donnez lui un nom de colonne, choisissez le type Custom field et dans le champ Field choisissez l'attribut que vous souhaitez (par exemple feature_description, qui est le champ description de la collection Features). Vous pouvez ensuite décider si le champ peut être éditer en saisie rapide ou non et si l'utilisateur peut trier la collection sur cette colonne.
Vous pouvez également déplacer cette colonne dans la liste. Dans l'exemple suivant, j'ai par exemple choisi d'afficher la description juste après la colonne titre.

Image Added

Image Added

Erreurs rencontrées

Failed to execute /docker-entrypoint-init.d/init-wordpress.sh

Si vous rencontrez ce message d'erreur au montage du Dockerfile, pensez à vérifier les droits sur le fichier init-wordpress.sh

Bloc de code
languageyaml
chmod 755 init-wordpress.sh
chmod +x init-wordpress.sh

Ajouter une collection

Côté wordpress

Le plugin WP développé prévoit la creation de pod automatiquement au moment de l'installation de ce dernier. Les pods sont décrits dans des fichiers dédiés, il faudra donc ajouter un fichier pour la nouvelle collection à ce niveau là : https://github.com/univlorraine/multi-wordpress-config/tree/main/includes/pods

Prévoir l'import d'un jeu de données de test dans : 

Côté multi

Adapter le connecteur CMS