Skip to content

Réunions et niveaux de portée

Une réunion dans GCM n'est pas une date sur le calendrier — c'est le modèle par rapport auquel la présence est enregistrée. « Service du dimanche », « Prière du mercredi », « Réunion de cellule » sont des réunions. Le fait que le Service du dimanche ait eu lieu le 14 mars est une ligne de présence ; le fait que le Service du dimanche existe en tant que chose que votre église fait est une ligne de réunion.

Règle rapide

Si vous enregistrez une liste de présence semaine après semaine, c'est une réunion. Si c'est une date ponctuelle avec un prospectus, c'est un événement.

Pourquoi les réunions existent en tant que concept distinct

Les événements du calendrier répondent à quand quelque chose se passe. Les réunions répondent à quel type de rassemblement c'est, et qui en est responsable. Cette séparation a son importance parce que la présence, les rapports et les workflows s'appuient sur la réunion, pas sur la date.

Quand quelqu'un fait son check-in à la station de check-in, la station lui demande d'abord de choisir une réunion, puis enregistre attendance_date = aujourd'hui contre la réunion qu'il a choisie. Sans réunions, vous n'auriez aucune façon stable de comparer « la présence au Service du dimanche en mars dernier » à « la présence au Service du dimanche en mars de cette année » — chaque date serait sa propre île.

La table meetings est intentionnellement minimale :

sql
meetings(
  id, name, scope_level,
  linked_entity_type,
  organization_id, translations,
  created_at, updated_at, deleted_at
)

Il n'y a pas d'heure de début, pas de jour de la semaine, pas de règle de récurrence sur la réunion elle-même. Ces questions appartiennent à la présence (« quand avons-nous enregistré ceci pour la dernière fois ? ») et à votre rythme hebdomadaire, pas à l'enregistrement de la réunion.

Niveaux de portée

Chaque réunion a un scope_level qui contrôle vers quelles unités organisationnelles elle remonte. Choisissez l'un de :

  • org — Réunions à l'échelle de l'org. Un Service du dimanche par rapport auquel chaque branche fait rapport. Idéal pour les petites églises avec une seule congrégation, ou pour les rassemblements à l'échelle de l'org comme une conférence annuelle.
  • branch — Réunions au niveau de la branche. Chaque branche a son propre Service du dimanche, sa propre liste de présence, ses propres totaux. C'est la valeur par défaut et convient à la plupart des églises multi-sites.
  • center — Réunions au niveau du centre (niveau 2 dans la hiérarchie). Utile quand une branche contient plusieurs centres de culte qui se réunissent séparément.
  • bascenta — Réunions de cellule ou de petits groupes (niveau 3). Chaque cellule enregistre sa propre liste.

Le niveau que vous choisissez décide quelle unité organisationnelle un opérateur de check-in doit choisir au démarrage d'une session. Une portée à branch et l'opérateur choisit une branche ; une portée à bascenta et l'opérateur descend toute la hiérarchie.

WARNING

Changer scope_level sur une réunion existante ne migre pas la présence historique. Les anciennes lignes conservent leur org_unit_id d'origine. Choisissez la portée délibérément quand vous créez la réunion.

En quoi cela diffère des événements

Les événements et les réunions sont stockés dans des tables séparées et servent des fonctions différentes. La séparation se manifeste de trois façons concrètes :

  1. Les événements ont une date ; les réunions, non. Une ligne d'événement porte event_date, start_time, end_time. Une ligne de réunion ne porte aucun de ces champs — la date vient de la colonne attendances.attendance_date sur chaque liste individuelle.
  2. Les événements peuvent se répéter via une RRULE ; les réunions se répètent implicitement. Un événement hebdomadaire affiche 4–5 points sur la grille mensuelle parce que la RRULE s'étend côté client. Une réunion hebdomadaire ne s'affiche pas du tout sur le calendrier — elle apparaît seulement quand vous ouvrez le flux de présence ou regardez la présence passée.
  3. Les événements sont à portée facultative ; les réunions sont à portée obligatoire. events.org_unit_id peut être null (annonce à l'échelle de l'org). meetings.scope_level est NOT NULL — chaque réunion appartient à un niveau par conception.

Une erreur courante est de créer un événement de calendrier appelé « Service du dimanche » puis de se demander pourquoi la présence ne s'y rattache pas. Ne le faites pas — laissez la grille du calendrier tranquille pour les dates spéciales, et laissez les réunions porter le rythme hebdomadaire.

Configurer une réunion

Les réunions vivent sous Paramètres → Réunions plutôt que sous le module Calendrier. Le formulaire est court : nom, niveau de portée, et facultativement un type d'entité liée (utilisé pour les réunions de ministère ou d'école qui devraient être enregistrées contre ministry_id ou school_id sur la ligne de présence).

Vous configurerez typiquement trois à cinq réunions pour une nouvelle org :

  • Service du dimanche — portée branch
  • Prière du mercredi — portée branch
  • Réunion de cellule — portée bascenta
  • Réunion de ministère — portée branch, type d'entité liée ministry

Une fois qu'une réunion existe, elle apparaît dans chaque flux de présence qui demande « quelle réunion ? » — présence unique, présence en masse, et la station de check-in.

Quand une réunion a besoin d'un créneau sur le calendrier

Si vous voulez aussi qu'une réunion apparaisse sur la grille du calendrier — par exemple, une réunion de jeunesse dont les familles ont besoin d'un rappel visuel — créez un événement récurrent du même nom. C'est de la donnée redondante, mais ça vous donne les deux : le point sur le calendrier pour la visibilité, et le modèle de réunion pour la présence. Ne fusionnez juste pas les deux conceptuellement ; les rappels sur l'événement ne sauront rien de la présence, et la présence sur la réunion ne saura rien des rappels. Ils restent indépendants.

Pour le côté calendrier de cet appariement, voir Créer un événement et Motifs récurrents. Pour le côté présence, voir l'aperçu de la présence.