Insignes pour 10 et 100 modifications wiki dans tous les sujets

Continuant la discussion de Les requêtes de badges par défaut :

J’essaie de créer un badge d’argent pour 10 modifications wiki (sur tous les messages) et un badge d’or pour 100 modifications wiki - cependant, ni moi ni l’Assistant du Forum n’avançons.

Avez-vous des suggestions ?

J’ai expérimenté ce type de format pour éviter le problème MIN/MAX d’attribution de la mauvaise date granted_at lors de l’intégration d’un badge en ‘milieu de parcours’ (ils ont tendance à mieux fonctionner lorsque les gens n’ont pas déjà rempli les critères avant l’introduction du badge).

Donc, peut-être quelque chose comme ceci :

SELECT 
    user_id,
    created_at granted_at
FROM (
    SELECT 
        pr.user_id,
        pr.created_at,
        ROW_NUMBER() OVER (PARTITION BY pr.user_id ORDER BY pr.created_at) as row_number
    FROM post_revisions pr
    INNER JOIN badge_posts p ON p.id = pr.post_id
    WHERE p.wiki = TRUE
      AND pr.hidden = FALSE
      AND pr.user_id > 0
) AS revisions
WHERE row_number = 100

(Je n’ai pas inclus la clause habituelle ‘ne pas inclure les sujets ou publications supprimés’ car les modifications apportées aux anciens wikis devraient probablement toujours être prises en compte. Je n’ai pas non plus ajouté le remplissage, mais je pense que celui-ci serait ‘mettre à jour quotidiennement’ comme déclencheur ?)

2 « J'aime »

Génial ! Est-ce pour faire 100 modifications sur des articles de wiki, ou pour modifier 100 articles de wiki ?

Cela fait 100 révisions de publication de wiki, donc modifier une publication cent fois (ou cent une fois) débloquerait le badge.

2 « J'aime »

Après un peu plus de réflexion (et une petite discussion avec Bert :slight_smile:), je pense que ROW_NUMBER serait le meilleur choix pour celui-ci. Je vais modifier la requête ci-dessus. :+1:

2 « J'aime »

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