
Comment planifier une publication dans Drupal ? Module Scheduler
Lors de la création de contenu pour un site web, il est parfois nécessaire de planifier sa publication plus tard. Cependant, gérer cela manuellement peut être à la fois chronophage et peu pratique. C'est là que Scheduler devient pratique – un module Drupal qui vous aidera à automatiser ce processus. L'utiliser nous permettra, entre autres, de programmer la publication de contenu à une date et une heure spécifiques.
Module Scheduler - dates
Le module a été publié le 23 juillet 2006, et sa dernière mise à jour a été effectuée le 19 juillet 2021. Scheduler a des versions pour Drupal 7 et 8. De plus, la dernière mise à jour est également compatible avec Drupal 9.
Popularité du module
Le module est actuellement utilisé sur plus de 85 000 sites web. Environ 44 000 d'entre eux fonctionnent avec Drupal 7, et plus de 37 000 sont sur Drupal 8.

Source : Drupal.org
Développeurs du module
Scheduler a été initialement publié par Eric Schaefer. Cependant, la liste des personnes travaillant sur son développement à ce jour est très longue et impossible à établir – nous ne connaissons pas tous les utilisateurs qui ont contribué à son développement.
Module Drupal Scheduler – quelles sont ses fonctionnalités ?
Comme je l'ai mentionné dans l'introduction, le module est utilisé pour planifier la publication de contenu à l'avance. Il vous offre également la possibilité de planifier la dépublication. Si besoin – par exemple, pour les événements, où les actualités deviendront obsolètes après la fin, vous pouvez charger le module de publier votre contenu et de planifier sa suppression de votre site web à un jour et une heure spécifiques.
Scheduler fournit trois nouvelles permissions, permettant uniquement aux rôles sélectionnés d'avoir accès à la publication programmée. La liste des possibilités inclut également le Lightweight cron, dont la configuration optimise la consommation des ressources. Lightweight cron est la solution des développeurs pour rendre le cron responsable de la publication et de la suppression de contenu disponible pour être exécuté séparément, sans avoir besoin de lancer toutes les autres tâches, comme c'est habituellement le cas dans Drupal.
Déballage
L'installation est standard. Je recommande d'utiliser Composer.
composer require drupal/scheduler

Permissions
Accédez à
/admin/people/permissions#module-scheduler
– là, vous trouverez une liste des permissions que le module fournit :

Administrer le scheduler
Ce paramètre vous permet de configurer le module Scheduler, disponible à
/admin/config/content/scheduler
(voir la section suivante pour la description de toutes les fonctionnalités).
Publication du contenu par Scheduler
L'attribution de cette permission permet à un rôle de définir une publication programmée, ainsi que de planifier la dépublication.
Voir la liste des contenus programmés
Scheduler fournit une vue, qui est disponible à
/admin/content/scheduled
L'attribution de cette permission vous permet d'accéder à cette vue.
Paramètres
Accédez à
/admin/config/content/scheduler
pour trouver tous les paramètres globaux du module. De plus, Scheduler peut être configuré par type de contenu. Ci-dessous, vous trouverez une analyse des options globales.

Autoriser les utilisateurs à entrer seulement une date et fournir une heure par défaut
Permet aux utilisateurs qui ont l'autorisation de configurer la publication de contenu programmée de spécifier uniquement la date de publication. Lorsque cette option est sélectionnée, l'heure sera prédéfinie et configurable dans le champ Default time.

Masquer les secondes
Cocher cette option désactive la possibilité de définir les secondes lors de la programmation de la publication de contenu.
Lightweight cron
Comme je l'ai mentionné précédemment, par défaut, Drupal exécute tous les jobs cron de temps en temps. La vérification du contenu devant être publié et dépublié repose sur un job cron, qui devrait être exécuté toutes les 1 à 5 minutes. Configurer Drupal pour exécuter tous les jobs cron chaque minute n'est guère une bonne idée, compte tenu de ses performances, c'est pourquoi les développeurs ont permis aux utilisateurs d'exécuter un seul job cron à un intervalle approprié. Pour ce faire, vous devez ajouter un nouveau job cron exécuté à un moment donné. Voici un exemple de job cron exécuté chaque minute :
* * * * * wget -q -O /dev/null "https://tesd9.lndo.site/scheduler/cron/{clé-d'accès}
Accédez à
/admin/config/content/scheduler/cron
pour trouver les paramètres du cron léger. Là, vous pouvez activer le journal de l'activation et de la fin du job cron, changer la clé d'accès et exécuter le cron manuellement.
Type de contenu
Je vais illustrer cette option avec le type de contenu par défaut - Article - disponible dans le profil par défaut de Drupal. Accédez à
/admin/structure/types/manage/{nom-machine-du-type-de-contenu}
Là, vous remarquerez un nouvel onglet Scheduler. C'est là que vous trouverez toutes les options de configuration du module, que vous pouvez définir pour chaque entité.

Activer la publication/dépublication programmée pour ce type de contenu
Active ou désactive la capacité de définir la publication et/ou la dépublication programmée.
Changer l'heure de création du contenu pour correspondre à l'heure de publication programmée
Change la date dans le champ heure de création pour la date sélectionnée comme date de publication prévue.
Exiger la publication/dépublication programmée
Cocher cette option rend la définition de la publication et/ou de la dépublication programmée obligatoire.
Créer une nouvelle révision lors de la publication/dépublication
Crée une nouvelle révision lors de la publication et/ou de la dépublication programmée.
Action à entreprendre pour les dates de publication dans le passé
Ce paramètre vous permet de spécifier ce qu'il se passera lorsque l'éditeur sélectionnera une date de publication antérieure à la date actuelle. Vous pouvez choisir l'une des trois options ici :
- Afficher un message d'erreur concernant le choix d'une date antérieure à la date actuelle – dans ce cas, le contenu ne sera pas publié.
- Publier le contenu immédiatement après l'enregistrement.
- Programmer votre contenu pour être publié lors de la prochaine exécution du job cron.
Afficher les options de planification comme
Change la manière dont les options du module Scheduler sont affichées lors de la création et de l'édition de contenu. Il y a deux options à choisir – Onglet vertical et Ensemble de champs séparé.
Onglet vertical

Ensemble de champs séparé

Étendre l'ensemble de champs ou l'onglet vertical
Vous permet de spécifier si le champ fourni par le Scheduler doit être étendu lors de la création et de l'édition de contenu.
Afficher le message
Cocher cette option affiche des informations sur la publication et la dépublication programmées après l'enregistrement du contenu.

Utilisation du module
Supposons que notre article doit être mis en ligne le 1er septembre 2021 à 9h30 et ne devra pas être dépublié.
Lors de la rédaction de l'article, choisissez Publier le et définissez-le pour le 01.09.2021 à 9h30, puis laissez Dépublier le vide. Dans ce cas, l'option Dépublication programmée obligatoire doit être désactivée pour l'entité Article.

Imaginez maintenant que notre article doit être mis en ligne le 1er septembre 2021 à 9h30 et doit être dépublié une semaine plus tard à la même heure.
Commençons par faire la même chose que dans l'exemple précédent, mais cette fois-ci réglez également Dépublier le à 08.09.2021 à 9h30.

Vous pourriez également être intéressé par : Comment faciliter l'édition de contenu dans Drupal - Revue du module Simplify
Intégrations
Scheduler offre des intégrations avec plusieurs modules Drupal.
- Si vous utilisez le module de modération de contenu, vous devez activer le sous-module d'intégration de modération de contenu.
- Scheduler fournit des conditions, des actions et des événements supplémentaires pour le module Rules.
- Il est également intégré à la génération automatique de contenu de test fournie par le module Devel Generate. Scheduler peut automatiquement ajouter les dates de publication et de dépublication prévues.
- Il crée également de nouveaux tokens pour le module Token, contenant les dates de publication et de dépublication prévues.
L'avenir du module
Les développeurs responsables de Scheduler ont annoncé qu'ils travaillent sur la version 2.0 du module, supportant des entités autres que des nœuds, par exemple, les médias, les produits commerciaux, et plus encore. Ils ont également annoncé que les événements déclenchés par le module Scheduler et son intégration avec le module Rules seront désormais déclenchés après qu'une entité soit enregistrée, plutôt qu'avant, comme c'était le cas jusqu'à présent. Les progrès du développement peuvent être suivis sur la page du module.
Module Drupal Scheduler – résumé
Scheduler est un outil qui facilite grandement la planification de la publication de contenu sur votre site web. L'utiliser vous permet d'automatiser le processus et rend possible de faire toutes les étapes nécessaires pour publier du contenu à tout moment – vous assurant ainsi de ne pas avoir à vous en soucier lorsque le moment viendra. Chez Droptica, nous utilisons également Scheduler pour programmer les publications à l'avance. Ce module est extrêmement populaire parmi les utilisateurs de Drupal, et en tant que tel, il est constamment développé – avec la version 2.0 en cours de développement. Notre équipe de développeurs Drupal recommande d'utiliser le module Scheduler pour programmer les publications à l'avance ou pour publier du contenu à un moment précis.