Ihre Frage besteht wirklich aus 2 Teilen, dh wie man implementiert:
- Ein Reputationssystem , das einer Bewertung eines bestimmten Benutzers durch mehrere Benutzer gleicht.
- Ein Zielerreichungssystem , das dem Belohnen eines Benutzers nach Abschluss verschiedener Aufgaben, Herausforderungen usw. gleicht.
Lesen Sie weiter, um weitere Informationen zur Implementierung beider Systeme zu erhalten.
Zielerreichungssystem
Es gibt normalerweise 2 Module, aus denen Sie für eine solche Art von System auswählen können, dh:
Das Achievements- Modul, wie bereits in einer anderen Antwort vorgeschlagen. Dieses Modul stützt sich stark auf benutzerdefinierte Codierung , um viele der Funktionen auszuführen.
Das Modul " Ziele" (Offenlegung: Ich bin der Betreuer davon), mit dem Sie Anreize für alles auf Ihrer Website schaffen können, z. B. für Abstimmungen, das Teilen von Inhalten, das Erstellen von Beziehungen usw.
Ziele und Aufgaben werden mithilfe von feldfähigen Entitäten implementiert. Einige Beispiele für zu erledigende Aufgaben könnten sein:
- Melden Sie sich an drei aufeinander folgenden Tagen einmal pro Tag auf der Website an.
- Stellen Sie eine Anzahl von Knoten ausgewählter Inhaltstypen bereit.
- Stellen Sie eine Freundschaftsverbindung auf der Website her.
- Etc.
Sie können Ziele über "Felder verwalten" und / oder "Anzeige verwalten" anpassen. Alles kann mit getan werden site Gebäude verfügt über nur (keine benutzerdefinierten Code beteiligt ist ), obwohl Haken sind verfügbar , es zu integrieren in benutzerdefinierten auch Codierung. Das Modul " Ziele" basiert also auf der Konfiguration der Administrationsoberfläche. Darüber hinaus sind Ziele und Aufgaben im Modul "Ziele" feldfähige Entitäten, sodass Sie flexibel zusätzliche Felder hinzufügen und diese Entitäten in Ansichten integrieren können . Über das Goals Extras
Submodul kann es auch in das User Points -Modul integriert werden .
Schauen Sie sich das Goals-Video an, das Folgendes enthält:
- eine allgemeine Einführung in das Modul.
- eine Demonstration zur Installation, Konfiguration und Verwendung.
- Beispiele, wie es die Rules- Module verwendet, um seine Magie zu entfalten (dh um den Fortschritt eines Benutzers zu verfolgen, um die verschiedenen Ziele zu erreichen).
Rufsystem
Mit dem Modul Antworten (Offenlegung: Ich bin ein (Mit-) Betreuer davon) können Sie (wie in Ihrer Frage) " ein gutes Reputationssystem einrichten ". Hier sind einige Details dazu (von der Projektseite):
Answers ermöglicht die Implementierung eines Question & Answer-Systems auf einer Drupal-Site. Benutzer können Fragen stellen und andere Benutzer können sie beantworten.
Weitere Informationen finden Sie auf der Projektseite. Besuchen Sie die Demo-Site, um eine Demonstration (nur Lesezugriff für anonyme Benutzer) von Views- basierten Listen zu erhalten:
Das Modul "Kern" Antworten aktiviert die Inhaltstypen Frage und Antwort , während Antworten unter der Frage angezeigt werden, auf die sie sich beziehen. Diese 2 Inhaltstypen sind fiedable, Sie können ihre Anzeigen, etc. handhaben.
Verwenden Sie die Submodule, um ausgewählte Funktionen (basierend auf den Anforderungen einer Site) zu aktivieren, z.
- Antworten Beste Antwort : Mit dieser Option können Sie alle Antworten auf eine bestimmte Frage als beste (akzeptierte) Antwort markieren (um die blauen Häkchen links von jeder Antwort anzuzeigen). Diese Option wird durch ein grünes Häkchen ersetzt, wenn eine Antwort markiert ist als beste Antwort).
- Answers Theme , das die (ziemlich langweilige) Vanille-Anzeige einer Frage (und der dazugehörigen Antworten darunter) in ein attraktiveres Erscheinungsbildverwandelt. Zum Beispiel die orangefarbene Blase, die um die Frage herum eingefügt wird (um sie besser hervorzuheben).
- Answers Notification ( Benachrichtigung über Antworten) , um angemeldeten Benutzern das Abonnieren ausgewählter Fragen zu ermöglichen, damit sie Benachrichtigungen (mithilfe des Nachrichtenstapels ) erhalten, wenn Fragen Antworten erhalten.
- Answers Voting , um ein System zum Up- oder Downvoten von Fragen und / oder Antworten (das dasModul Rate verwendet )zu implementieren.
- Antworten Userpoints , zu erhöhen oder verringern „ Rufpunkte “ (was nutzt das Userpoints Modul) auf Ereignisse wie oben oder nach unten Abstimmung zu einer Frage oder Antwort oder Markieren eine Antwort als „ beste Antwort “.
Ganz viele seiner „Business - Logik“ wird über alle möglichen konfigurierbaren Regeln implementiert (unter Verwendung der Regeln Modul). Wenn Sie beispielsweise nicht mit den Standardregeln einverstanden sind, wie viele "Benutzerpunkte" für eine Frage (oder Antwort) mit Aufwärts- (oder Abwärtsstimmen) gewährt werden, verwenden Sie einfach die Benutzeroberfläche "Regeln", um das zu optimieren Anzahl solcher Punkte auf Ihre Anforderungen. ZB: Sollten Downvoting-Fragen wirklich kostenlos sein (zB: Sollte der Downvoter dabei Punkte verlieren?).
Der Vollständigkeit halber wird im Folgenden eine Regel (im Exportformat "Regeln") aufgeführt, mit der dem Autor einer Antwort "+15" -Punkte sowie "+2" -Punkte für den Benutzer gewährt werden, der diese Antwort als akzeptiert markiert (= der Autor der Frage ), während das Markieren als solche erfolgt, indem diese Antwort als "Beste Antwort" markiert wird (unter Verwendung des Flag- Moduls):
{ "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"
}
}
]
}
}