O módulo User Stats possui apenas uma versão de desenvolvimento para o D7 (suponho que esta pergunta seja sobre o D7). No entanto, sua pergunta parece ser uma base de dados perfeita para o módulo Objetivos (divulgação: eu sou o mantenedor). Abaixo está uma configuração possível para seu caso específico, usando Metas .
Configure uma meta
Navegue até o caminho relativo admin/config/goals/manage
e use o link "Adicionar uma meta" para definir apenas uma meta , com uma descrição (digamos):
Faça X um número de postagens (tópicos principais do fórum ou respostas) .
Configurar tarefas
Para atingir a meta "criar um número X de postagens (tópicos principais do fórum ou respostas)", defina as Tarefas a serem concluídas.
- Poste um certo número de tópicos principais do fórum.
- Poste um certo número de respostas.
Uma maneira mais avançada de usar (configurar) metas , é configurar tarefas como:
- algumas tarefas podem precisar ser repetidas várias vezes.
- algumas tarefas podem exigir algum tempo para expirar entre duas tarefas similares (por exemplo: se uma tarefa é executada várias vezes ao dia, apenas a primeira conta).
- ... (há outros ...).
Acompanhe o progresso ao executar tarefas
Para rastrear o progresso feito por um único usuário para concluir alguma tarefa, você só precisa escrever as regras apropriadas, usando o módulo Regras , para registrar eventos relevantes acontecendo no seu site, relacionados à conclusão das várias tarefas.
Para os objetivos / tarefas descritos acima como exemplo, você precisaria apenas de 2 regras (extremamente básicas), que seriam acionadas da seguinte forma:
- Depois de postar um tópico do fórum principal.
- Depois de postar uma resposta.
Observe que essas 2 regras podem ser reutilizadas para medir o progresso em várias metas (por exemplo, se sua meta tiver uma tarefa como "após postar 1 resposta" e uma segunda meta tiver uma tarefa como "após postar 10 respostas").
Além disso, os desafios acima são bastante simples (básicos) como exemplos de desafios. Mas você pode fazer isso para praticamente qualquer entidade para a qual você pode pensar em uma maneira de rastreá-las através do módulo Regras.
Use regras para processar metas concluídas
Após todas as tarefas específicas de uma meta serem concluídas por um usuário, a meta é marcada automaticamente como concluída. Porém , há mais: você também pode criar regras adicionais que serão acionadas (evento de regras) quando uma meta for concluída por um usuário. Com isso, a resposta para sua pergunta é extremamente fácil: execute uma ação de regras para " ... mudar o usuário para uma função diferente " ... que é exatamente do que se trata sua pergunta, não?
Mais do mesmo
Em vez da descrição (chata) da meta acima, você poderia ter usado uma descrição da meta como (digamos) " Usuário participante ". Qual BTW também poderia ser uma boa descrição do papel a ser concedido.
Se você definir (digamos) mais 3 metas (semelhantes), com cada uma delas um conjunto apropriado de tarefas a serem concluídas, poderá usar a mesma técnica para metas (e / ou funções) rotuladas como algo semelhante (se parecerem familiar a algo no Drupal.SE, que é puramente um acidente):
- Usuário fiel.
- Usuário estabelecido.
- Usuário Confiável.
- Moderador.
Mais informações
Consulte minha resposta em " Como implementar a gamificação em um site Drupal e conceder incentivos? " Para obter detalhes adicionais sobre o módulo Objetivos .
Nota: O uso de metas requer apenas tarefas típicas de administração (configuração), embora ele também venha com vários ganchos para o desenvolvimento de módulos personalizados (se você desejar).