spip_nursit/plugins-dist/dist/core/forum
2023-06-01 17:30:12 +02:00
..
action First commit 2023-06-01 17:30:12 +02:00
balise First commit 2023-06-01 17:30:12 +02:00
base First commit 2023-06-01 17:30:12 +02:00
formulaires First commit 2023-06-01 17:30:12 +02:00
inc First commit 2023-06-01 17:30:12 +02:00
lang First commit 2023-06-01 17:30:12 +02:00
modeles First commit 2023-06-01 17:30:12 +02:00
notifications First commit 2023-06-01 17:30:12 +02:00
prive First commit 2023-06-01 17:30:12 +02:00
public First commit 2023-06-01 17:30:12 +02:00
urls First commit 2023-06-01 17:30:12 +02:00
forum_administrations.php First commit 2023-06-01 17:30:12 +02:00
forum_autoriser.php First commit 2023-06-01 17:30:12 +02:00
forum_fonctions.php First commit 2023-06-01 17:30:12 +02:00
forum_ieconfig.php First commit 2023-06-01 17:30:12 +02:00
forum_pipelines.php First commit 2023-06-01 17:30:12 +02:00
paquet.xml First commit 2023-06-01 17:30:12 +02:00
README.md First commit 2023-06-01 17:30:12 +02:00
TODO.md First commit 2023-06-01 17:30:12 +02:00

README

Quelques notes de documentation.

Modèle de données

Pour expliquer la façon dont le plugin forum stocke les messages de forums, prenons la conversation suivante :

  • à 12:53, envoi du message msg A
  • à 13:44, envoi du message msg B
  • à 14:27, envoi d'une réponse au premier message : [Re] msg A
  • à 18:12, envoi d'une réponse à cette réponse : [Re] [Re] msg A

Table spip_forum dans la base de données

Les données sont stockées dans la table spip_forum, avec un message par ligne. La conversation donnera donc la table suivante (on ne montre que les champs principaux) :

id_forum id_parent id_thread date_heure date_thread texte
1 0 1 12:53 18:12 msg A
2 0 2 13:44 13:44 msg B
3 1 1 14:27 18:12 [Re] msg A
4 3 1 18:12 18:12 [Re] [Re] msg A

Détaillons un peu le rôle de chaque champ :

champ description
id_forum identifiant du message
id_parent identifiant du message parent pour les réponses, ou 0 si c'est le premier message
id_thread identifiant du premier message d'un thread
date_heure heure du message (format un peu simplifié pour faire court)
date_thread heure du dernier message du thread

A noter également les deux champs id_objet et objet qui indiquent l'objet auquel le message est attaché (ex: id_objet = 3 et objet = article pour un message de forum dans l'article numéro 3).

Relations entre id_forum, id_parent et id_thread

  msg A
  id_forum = 1            <---------+
  id_parent = 0                     |
  id_thread = 1            ---------+
                                    |
    [Re] msg A                      |
    id_forum = 3          <----+    |
    id_parent = 1          ----|----+
    id_thread = 1          ----|----+
                               |    |
      [Re] [Re] msg A          |    |
      id_forum = 4             |    |
      id_parent = 3        ----+    |
      id_thread = 1        ---------+

  msg B
  id_forum = 2            <----+
  id_parent = 0                |
  id_thread = 2            ----+

Relations entre date_heure et date_thread :

  msg A
  date_heure = 12:53
  date_thread = 18:12      ----+
                               |
    [Re] msg A                 |
    date_heure = 12:53         |
    date_thread = 18:12    ----+
                               |
      [Re] [Re] msg A          |
      date_heure = 18:12  <----+
      date_thread = 18:12  ----+

  msg B
  date_heure = 13:44      <----+
  date_thread = 13:44      ----+