Je suis administrateur d’un forum Discourse : forum.testproject.io et je souhaite filtrer les sujets qui n’ont pas encore été répondus spécifiquement par les membres du personnel.
L’URL https://forum.testproject.io/latest?max_posts=1 filtre uniquement les sujets avec 0 réponses, mais je souhaite pouvoir filtrer tout sujet qui n’a pas reçu de réponse de la part de notre personnel (le sujet peut déjà avoir des réponses de la communauté, affichant ainsi des réponses > 0, mais ce ne sont pas nos réponses).
Voici un exemple de votre forum - voici un sujet où quelqu’un a posé une question et des membres de votre communauté ont répondu. Mais comment sauriez-vous (le personnel de Discourse) que ce sujet est fondamentalement sans réponse de votre part ?
Vous devrez créer une requête dans Data Explorer pour cela. Pour rédiger cette requête, il faudra maîtriser le langage SQL ou savoir comment écrire des requêtes SQL.
Si le terme Data Explorer ne vous dit rien, consultez les ressources suivantes :
Si vous avez encore des questions sur la façon de rédiger une requête Data Explorer, vous pouvez créer un nouveau sujet dans la catégorie Support et le taguer avec data-explorer.
Je ne maîtrise pas personnellement le SQL. Y a-t-il quelqu’un dans votre équipe qui pourrait nous aider à ce sujet (d’autant que nous sommes un client payant ) ?
La requête ci-dessous répertorie tous les sujets auxquels le personnel n’a pas répondu, même si le sujet a déjà reçu une réponse de la communauté.
--[params]
--date :start_date = 2021-01-01
--date :end_date = 2021-12-31
SELECT t.id topic_id, category_id
FROM topics t
WHERE t.deleted_at IS NULL
AND t.category_id IS NOT NULL
AND t.created_at::date BETWEEN :start_date AND :end_date
AND t.id NOT IN (
SELECT p.topic_id
FROM posts p
JOIN users u ON p.user_id = u.id
WHERE u.admin = 't' OR u.moderator = 't'
AND p.post_number > 1
)
ORDER BY topic_id DESC