Su pregunta realmente consta de 2 partes, es decir, sobre cómo implementar:
- un sistema de reputación , que es como una evaluación de varios usuarios sobre un usuario específico.
- un sistema de logro de objetivos , que es como recompensar a un usuario después de completar varias tareas, desafíos, etc.
Siga leyendo para obtener más detalles sobre cómo implementar cada uno de los dos sistemas.
Sistema de logro de objetivos
Por lo general, puede elegir entre 2 módulos para este tipo de sistema, es decir:
El módulo Logros , como ya se sugirió en otra respuesta. Este módulo depende en gran medida de la codificación personalizada para manejar muchas de las funciones.
El módulo Objetivos (Divulgación: soy el encargado de mantenerlo), que puede usarse para incentivar cualquier cosa en su sitio, como votar, compartir contenido, crear relaciones, etc.
Los objetivos y las tareas se implementan mediante entidades confiables. Algunos ejemplos de tareas a completar podrían ser:
- Inicie sesión en el sitio una vez al día durante tres días consecutivos.
- Publique varios nodos de los tipos de contenido seleccionados.
- Haga una conexión de amigo en el sitio.
- Etc.
Puede personalizar los objetivos a través de "Administrar campos" y / o "Administrar pantalla". Todo se puede hacer solo con las funciones de creación de sitios (sin código personalizado), aunque también hay ganchos disponibles para integrarlo en la codificación personalizada. Por lo tanto, el módulo Objetivos se basa en la configuración de la interfaz de administración. Además, los objetivos y tareas dentro del módulo Objetivos son entidades confiables, por lo que tiene la flexibilidad de agregar campos adicionales e incorporar estas entidades en las Vistas . Usando el Goals Extras
submódulo se integra con el módulo de Puntos de Usuario también.
Dirígete al video de Objetivos que incluye:
- Una introducción general al módulo.
- una demostración para instalarlo, configurarlo y usarlo.
- ejemplos de cómo usa los módulos de Reglas para hacer su magia (es decir, para rastrear el progreso de un usuario para lograr los diversos objetivos).
Sistema de reputación
Al usar el módulo de Respuestas (Divulgación: soy un (co) mantenedor del mismo) puedes " poner un buen sistema de reputación " (como en tu pregunta). Aquí hay algunos detalles al respecto (de su página de proyecto):
Respuestas permite la implementación de un sistema de preguntas y respuestas en un sitio de Drupal. Los usuarios pueden publicar preguntas y otros usuarios pueden responderlas.
Dirígete a su página de proyecto para más detalles. Visite su sitio de demostración para ver una demostración (en modo de solo lectura para usuarios anónimos) de listas basadas en Vistas de:
El módulo de respuestas "núcleo" habilita los tipos de contenido Pregunta y Respuesta , mientras que las Respuestas se muestran debajo de la Pregunta con la que se relacionan. Estos 2 tipos de contenido son fiebles, puede administrar sus pantallas, etc.
Utilice sus submódulos para habilitar la funcionalidad seleccionada (según los requisitos de un sitio), es decir:
- Respuestas La mejor respuesta , que permite marcar cualquiera de las respuestas a una pregunta específica como la mejor respuesta (aceptada) (para mostrar las marcas de verificación azules a la izquierda de cada respuesta, y que se reemplaza por una marca de verificación verde cuando se marca una respuesta como la mejor respuesta)
- El Tema de Respuestas , que transforma la exhibición de vainilla (bastante aburrida) de una Pregunta (y sus Respuestas relacionadasdebajo de ella), en una apariencia más atractiva. Como la burbuja naranja que se agrega alrededor de la pregunta (para resaltarla mejor).
- Notificación de respuestas , para permitir que los usuarios registrados se suscriban a preguntas seleccionadas, de modo que reciban notificaciones (usando la pila de mensajes ) cuando las preguntas reciben respuestas.
- Votación de respuestas , para implementar un sistema de votación positiva o negativa, ya sea Preguntas y / o Respuestas (que utiliza elmódulo Calificar ).
- Respuestas de Puntos de usuario , para aumentar o disminuir los " puntos de reputación " (que utiliza elmódulo de Puntos de usuario ) en eventos comoel voto positivo o negativo en una pregunta o respuesta, o marcar una Respuesta como la " Mejor respuesta ".
Gran parte de su "lógica de negocios" se implementa a través de todo tipo de reglas configurables (utilizando el módulo Reglas ). Como ejemplo, si no está de acuerdo con las reglas listas para usar sobre la cantidad de "puntos de usuario" otorgados a una pregunta (o respuesta) votada (o votada), simplemente use la IU de reglas para ajustar cantidad de tales puntos a sus requerimientos. Por ejemplo: ¿deberían las preguntas de votación descendente ser realmente gratuitas (es decir: ¿Debería el votante perder algún punto al hacerlo?).
En aras de la exhaustividad, a continuación se muestra una regla (en formato de exportación de Reglas), que se utiliza para otorgar '+15' puntos al autor de una Respuesta , junto con '+2' puntos para el usuario que marca esa respuesta como aceptada (= el autor de la Pregunta ), mientras que marcarlo como tal se marca marcando esa Respuesta como 'Mejor respuesta' (usando el módulo Marcar ):
{ "rules_flag_answers_best_answer" : {
"LABEL" : "flag_answers_best_answer",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"TAGS" : [ "answers" ],
"REQUIRES" : [ "rules", "userpoints_rules", "flag" ],
"ON" : { "flag_flagged_best_answer" : [] },
"IF" : [
{ "NOT data_is" : { "data" : [ "flagging-user" ], "value" : [ "flagged-node:author" ] } }
],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "flagged-node:author" ],
"points" : "15",
"tid" : "0",
"entity" : [ "" ],
"operation" : "addPoints",
"display" : 1,
"moderate" : "default"
}
},
{ "userpoints_action_grant_points" : {
"user" : [ "flagging-user" ],
"points" : "2",
"tid" : "0",
"entity" : [ "" ],
"operation" : "addPoints",
"display" : 1,
"moderate" : "default"
}
}
]
}
}