Créer et gérer des calendriers

:bookmark: Ce guide explique comment créer et gérer des calendriers dans Discourse à l’aide du plugin Calendar (and Event).

:person_raising_hand: Niveau d’utilisateur requis : Tous les utilisateurs

Les calendriers sont une fonctionnalité puissante dans Discourse qui vous permet d’organiser et d’afficher des événements au sein de votre communauté. Ce guide vous accompagnera dans le processus de création de calendriers, d’ajout d’événements et de leur gestion efficace.

Sommaire

  • Activer le plugin Calendar
  • Créer un calendrier dans un sujet ou une catégorie
  • Ajouter des événements à votre calendrier
  • Gérer les options et les paramètres du calendrier
  • Utiliser la fonctionnalité de calendrier des jours fériés

Activation du plugin Calendar

Avant de pouvoir créer des calendriers, assurez-vous que le plugin « Calendar (and Event) » est activé sur votre instance Discourse. Pour plus de détails sur l’activation du plugin et ses paramètres associés, consultez la documentation du plugin Discourse Calendar and Event.

Création d’un calendrier

Calendrier de sujet

Pour intégrer un calendrier dans un sujet :

  1. Créez un nouveau sujet ou modifiez le premier message d’un sujet existant

  2. Ajoutez le code suivant sur des lignes séparées :

    [calendar]
    [/calendar]
    
  3. Publiez ou mettez à jour le message


:information_source: Le lundi est considéré comme le premier jour de la semaine dans les calendriers Discourse, quels que soient les paramètres régionaux du spectateur. Ceci n’est actuellement pas configurable.

Calendrier de catégorie

Pour créer un calendrier à l’échelle d’une catégorie :

  1. Accédez à /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar

  2. Dans le paramètre « calendar categories », ajoutez une entrée avec le format suivant :

    categoryId=123;postId=4949;tzPicker;defaultView=month
    
    • Remplacez 123 par l’ID de votre catégorie (trouvé dans l’URL lors de la visualisation de la catégorie)
    • Remplacez 4949 par l’ID du message de la description de la catégorie (trouvé en ajoutant .json à l’URL du sujet « À propos de la catégorie »)
  3. Ajoutez l’ID de la catégorie au paramètre « events calendar categories »

  4. Facultativement, définissez « discourse post event allowed on groups » pour contrôler quels groupes peuvent ajouter des événements

Ajout d’éléments à un calendrier

Calendrier de sujet

Pour ajouter un événement à un calendrier de sujet :

  1. Répondez au sujet contenant le calendrier
  2. Utilisez la fonction « Insérer date / heure » dans le menu du compositeur \u003ckbd\u003e+\u003c/kbd\u003e pour ajouter une date ou une plage de dates
  3. Ajoutez une description au-dessus de la date
  4. Soumettez la réponse

L’événement apparaîtra dans le calendrier après le rechargement du sujet.

Calendrier de catégorie

Pour ajouter un événement à un calendrier de catégorie :

  1. Créez un nouveau sujet dans la catégorie
  2. Cliquez sur le bouton d’engrenage et sélectionnez « Créer un événement »
  3. Remplissez les détails de l’événement et publiez

L’événement apparaîtra sur le calendrier de la catégorie.

Options du calendrier

Vous pouvez personnaliser votre calendrier à l’aide de diverses options :

Option Exemple Description
Masquer les week-ends weekends="false" Masque le samedi et le dimanche
Masquer des jours spécifiques hiddenDays="1,2" Masque le lundi et le mardi (utilisez 0-6 pour dimanche-samedi)
Définir la vue par défaut defaultView="basicWeek" Options : month, basicWeek, listNextYear
Ignorer les fuseaux horaires fullDay="true" Traite tous les événements comme des événements d’une journée entière

Exemple d’utilisation :

[calendar weekends="false" hiddenDays="1,2" defaultView="basicWeek" fullDay="true"]
[/calendar]

Suppression des éléments du calendrier

Les éléments du calendrier peuvent être supprimés de ces manières :

  • Les éléments de calendrier expirés peuvent être automatiquement supprimés à l’aide du paramètre « delete expired event posts after »
  • Utilisez des minuteurs de sujet pour supprimer automatiquement les réponses
  • Supprimez manuellement les messages si nécessaire

Calendrier des jours fériés

Le calendrier des jours fériés est une fonctionnalité spéciale pour la gestion des vacances du personnel du site :

  1. Créez un sujet avec un calendrier dans le premier message
  2. Définissez « holiday calendar topic id » sur l’ID de ce sujet
  3. Les réponses à ce sujet seront traitées comme du temps de vacances pour l’utilisateur qui publie
  4. Les entrées de vacances sont automatiquement et aléatoirement colorées
  5. Un emoji (par défaut : :date:) apparaît à côté des noms des utilisateurs en vacances dans les cartes d’utilisateur et les @mentions
  6. Facultativement, incluez les jours fériés spécifiques à la locale pour les utilisateurs en activant « calendar automatic holidays enabled »

FAQ

Q : Pourquoi certains événements semblent-ils s’étendre sur plusieurs jours ?
R : Le calendrier est toujours en UTC. Utilisez les paramètres « all day event start time » et « all day event end time » pour ajuster les différences de fuseaux horaires.

Q : Puis-je contrôler les couleurs des entrées du calendrier des jours fériés ?
R : Actuellement, il n’est pas possible de contrôler les couleurs des entrées du calendrier des jours fériés ni d’obtenir des entrées colorées dans les calendriers réguliers.

Q : Comment afficher les événements passés dans une vue de liste ?
R : Il existe actuellement un bug lors de l’utilisation de defaultView=listNextYear qui fait que la vue initiale est vide. En solution de contournement, les utilisateurs doivent passer à la vue mensuelle, revenir un mois en arrière, puis revenir à la vue de liste pour voir les événements passés.

Ressources supplémentaires

11 « J'aime »

J’ai du mal à comprendre comment créer un calendrier pour qu’il s’affiche dans une catégorie, et quoi faire pour le remplir une fois qu’il est là. Pour les sujets, c’est assez simple, mais le cas de la catégorie est plus obscur. Quelqu’un peut-il donner un exemple ?

Créer un calendrier de catégorie

La différence entre un calendrier de sujet et un calendrier de catégorie est que le premier utilise add date à partir de la réponse d’un sujet spécifique, et affiche le calendrier dans le sujet lui-même, tandis que le second utilise create event dans n’importe quel sujet de la catégorie configurée, et affiche le calendrier des événements dans la catégorie.

1. Activer le plugin de calendrier

Dans /admin/site_settings/category/discourse_calendar?filter=plugin%3Adiscourse-calendarcalendar categories:
Vous voulez quelque chose comme : categoryId=123;postId=4949;tzPicker;defaultView=month

  • categoryId est facile à trouver : c’est le nombre dans l’URL lorsque vous cliquez sur le #category

  • postId peut être trouvé comme ceci : allez à la description de la catégorie (le sujet épinglé “À propos de la catégorie”) et ajoutez .json à l’URL : le postId se trouve au début du fichier JSON.

  • Consultez la documentation de discourse-calendar pour les options disponibles.

  • Ajoutez la catégorie (numérotée 123 dans notre exemple) à events calendar categories
    Vous voudrez peut-être définir discourse post event allowed on groups pour inclure les groupes que vous souhaitez autoriser à ajouter des événements.

2. Créer un événement

Vous pouvez créer un nouveau sujet dans la catégorie 123 et create event (depuis le bouton d’engrenage).
L’événement apparaîtra alors sur le calendrier de la catégorie.

:tada:

2 « J'aime »

Existe-t-il un moyen d’afficher non pas les événements à venir, mais ceux de l’année écoulée ? Nous aimerions utiliser le plugin pour notre section de journal et lister toutes les entrées passées dans le premier article.

Lorsque vous utilisez l’extrait ci-dessous, la liste des événements est initialement vide. Ce n’est qu’en revenant à la vue mensuelle, en reculant d’un mois et en revenant à la vue liste que cela fonctionne.

[calendar defaultView=listNextYear fullDay=true]
[/calendar]

Voir le bug en action :
CleanShot 2024-05-07 at 14.08.49 2

6 « J'aime »

Je suis également intéressé par cette fonction.

Je me demande s’il pourrait également y avoir des scripts d’explorateur de données pour accompagner la recherche par calendrier.

3 « J'aime »

Lorsqu’une personne de ma communauté publie un événement de calendrier, puis qu’un administrateur modifie cet événement, pourquoi le créateur original ne peut-il plus le modifier ?

C’est un problème majeur qui affecte des centaines de personnes.

Clarifiez que pour l’instant, seul le calendrier des sujets commence le lundi et que le calendrier des catégories commence le dimanche à la place.

J’aimerais que cela soit configurable par l’administrateur, car chacun affiche le calendrier différemment…

3 « J'aime »

Uh-huh. Cela a du sens, parce que je ne réalisais pas–

Pour que les vacances soient visibles dans le calendrier des vacances, il est utile de mentionner que la réponse doit contenir un horodatage que vous ajoutez depuis le menu des éditeurs.
De plus, comme indiqué précédemment, l’identifiant de la publication se trouve en ajoutant .json à l’URL de la publication. Je pense que cela devrait être ajouté à la documentation ici car si les catégories ont leur identifiant dans l’URL, l’identifiant de l’URL du sujet confondra les gens car son numéro peut être proche mais pas similaire au véritable identifiant du sujet.

Merci pour ce guide de toute façon, il y a beaucoup à couvrir car il y a de nombreuses fonctionnalités, ce qui est cool, excellent travail les développeurs !

Ahh, la réécriture par l’IA a ajouté une terminologie « événement ». Idéalement, ce terme devrait être évité dans la partie « Calendrier » de la documentation afin de ne pas créer d’ambiguïté avec la fonctionnalité « Événement » supplémentaire du plugin.

1 « J'aime »

Je voudrais demander que mon discourse n’ait pas de calendrier ni de bouton d’engrenage après avoir activé le plugin, y a-t-il quelque chose qui ne va pas ?

1 « J'aime »

L’icône d’engrenage a été remplacée par il y a quelque temps. Je pense que l’insertion de date a été déplacée dans ce menu plus (je pense qu’elle utilise également l’icône maintenant).

C’est certainement un très bon point. Il semble que cette documentation doive être mise à jour (et il y a probablement aussi d’autres sujets qui font encore référence à l’icône d’engrenage).

1 « J'aime »

Merci pour la réponse, et j’ai ensuite réalisé une autre erreur liée à cela. J’ai cette icône, mais elle est plus grande et au mauvais endroit, bloquant, comme vous pouvez le voir. C’est normal sur le téléphone, mais pas sur le bureau. D’ailleurs, pas de calendrier mais des événements dans la liste. Que puis-je faire :pleading_face:

Le mode sans échec corrige-t-il la position de l’icône plus ?

À quel bouton de calendrier vous attendez-vous ?

Celui-là est maintenant

J’ai ce bouton d’insertion, comment puis-je ensuite publier un calendrier ? J’ai essayé le code [calendar], cela fonctionne, mais la date/l’heure inclut-elle le calendrier ?

Pour le gros bouton, j’ai essayé le mode sans échec, et c’est toujours comme ça. La reconstruction de l’application ne fonctionne pas, puis-je espérer que la prochaine mise à jour de la version corrigera cela ? :relieved_face: Ou y a-t-il quelque chose que je puisse faire, à part tout refaire depuis le début :rofl: