Audit de contenu : Rapport pour extraire les catégories, sujets et réponses

Je travaille avec un client pour réaliser un audit de contenu. J’aimerais exécuter une requête pour extraire toutes les catégories, sujets et réponses de 2023 à aujourd’hui. Idéalement, j’aimerais que le rapport inclue les dates, l’auteur, les titres, les liens et le texte intégral.

Je suppose que Discourse Data Explorer est la meilleure option. Je regarde ces publications :

Quelqu’un a-t-il déjà exécuté un rapport similaire ? Pourriez-vous offrir les meilleures pratiques basées sur votre expérience ? Merci !

2 « J'aime »

Salut @RachFeverBee,

Utiliser une requête Data Explorer serait la meilleure façon de trouver les informations que vous recherchez.

Sur la base des sujets que vous avez partagés et de la description de vos besoins en matière de rapports, voici une requête Data Explorer que vous pourriez utiliser comme point de départ :

Catégories, Sujets et Réponses

-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-01-28

WITH filtered_topics AS (
    SELECT
        t.id AS topic_id,
        t.title AS topic_title,
        t.created_at AS topic_created_at,
        t.user_id AS topic_user_id,
        t.category_id AS topic_category_id
    FROM
        topics t
    WHERE
        t.created_at BETWEEN :start_date AND :end_date
),
filtered_posts AS (
    SELECT
        p.id AS post_id,
        p.topic_id,
        p.user_id AS post_user_id,
        p.created_at AS post_created_at,
        p.raw AS post_content,
        p.post_number
    FROM
        posts p
    WHERE
        p.created_at BETWEEN :start_date AND :end_date
),
categories_with_topics AS (
    SELECT
        c.id AS category_id,
        c.name AS category_name,
        ft.topic_id,
        ft.topic_title,
        ft.topic_created_at,
        ft.topic_user_id
    FROM
        categories c
    JOIN
        filtered_topics ft ON c.id = ft.topic_category_id
),
final_data AS (
    SELECT
        cwt.category_name,
        cwt.topic_id,
        cwt.topic_title,
        cwt.topic_created_at,
        cwt.topic_user_id,
        fp.post_id,
        fp.post_content,
        fp.post_created_at,
        fp.post_user_id,
        fp.post_number
    FROM
        categories_with_topics cwt
    LEFT JOIN
        filtered_posts fp ON cwt.topic_id = fp.topic_id
)
SELECT
    fd.category_name AS "Catégorie",
    fd.topic_id AS "ID du sujet",
    fd.topic_title AS "Titre du sujet",
    fd.topic_created_at AS "Date de création du sujet",
    fd.topic_user_id AS "Auteur du sujet",
    fd.post_id AS "ID du message",
    fd.post_content AS "Contenu du message",
    fd.post_created_at AS "Date de création du message",
    fd.post_user_id AS "Auteur du message",
    fd.post_number AS "Numéro du message"
FROM
    final_data fd
ORDER BY
    fd.topic_created_at ASC,
    fd.post_created_at ASC

Ce rapport générerait les résultats suivants :

  • Nom de la catégorie : Nom de la catégorie.
  • ID du sujet : ID cliquable du sujet.
  • Titre du sujet : Titre du sujet.
  • Date de création du sujet : Date de création du sujet.
  • Auteur du sujet : Utilisateur qui a créé le sujet.
  • ID du message : ID cliquable du message.
  • Contenu du message : Texte intégral du message.
  • Date de création du message : Date de création du message.
  • Auteur du message : Utilisateur qui a créé le message.
  • Numéro du message : Le numéro du message dans le sujet.

Exemple de résultats

Catégorie ID du sujet Titre du sujet Date de création du sujet Auteur du sujet ID du message Contenu du message Date de création du message Auteur du message Numéro du message
Discussion générale 101 Bienvenue sur le forum ! 2023-01-02 10:00:00 UTC 1 201 Bonjour à tous, bienvenue ! 2023-01-02 10:05:00 UTC 2 1
Discussion générale 101 Bienvenue sur le forum ! 2023-01-02 10:00:00 UTC 1 202 Merci pour l’accueil chaleureux ! 2023-01-02 10:10:00 UTC 3 2
Support technique 102 Comment réinitialiser mon appareil ? 2023-02-15 14:30:00 UTC 4 203 Quelqu’un peut-il m’aider à réinitialiser ceci ? 2023-02-15 14:35:00 UTC 4 1
Support technique 102 Comment réinitialiser mon appareil ? 2023-02-15 14:30:00 UTC 4 204 Bien sûr, voici les étapes… 2023-02-15 14:40:00 UTC 5 2
Annonces 103 Nouvelles fonctionnalités publiées ! 2023-03-01 09:00:00 UTC 6 205 Découvrez nos nouvelles fonctionnalités ! 2023-03-01 09:05:00 UTC 6 1

Vous voudrez peut-être ajuster la façon dont la requête ordonne les résultats avec l’instruction ORDER BY à la fin, en fonction de la manière dont vous souhaitez afficher les résultats, et notez également que si votre site a un grand nombre de sujets et de messages, vous devrez peut-être tenir compte des Limites de résultats avec le plugin Data Explorer.

8 « J'aime »

Merci Sara, c’est vraiment utile et correspond exactement à ce dont nous avons besoin en ce moment.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.