Bagaimana menerapkan sistem berbasis reputasi dengan lencana di Drupal mirip dengan situs StackExchange?

16

Mendapatkan lencana di StackExchange menyenangkan. Tapi selain itu mempromosikan interaksi berkualitas dari pengguna dan membantu menghilangkan spam (saya belum pernah melihat posting spam di situs).

Saya memiliki situs web komunitas dengan sekitar 500 pengguna aktif, tetapi spammer mulai menjadi lebih produktif.

Saya ingin cara membuat situs lebih menarik sambil mempromosikan kualitas interaktivitas yang sama.

Bagaimana Anda akan merekomendasikan untuk memasukkan sistem reputasi yang baik , serta sistem pencapaian tujuan ?

blue928
sumber
Mengenai spammer yang disebutkan dalam pertanyaan asli: mereka akan tetap ada di sana. Jadi spammer ini dapat ditangani dengan mengikuti saran yang dibuat dalam jawaban yang diberikan oleh Free Radical di drupal.stackexchange.com/questions/121382/… .
gpruim

Jawaban:

17

Ada modul Poin Pengguna dan modul Lencana Pengguna , meskipun versi 7.x Lencana Pengguna belum cocok untuk produksi (per 4 Juni 2012).

Untungnya, Poin Pengguna terintegrasi dengan modul Aturan , yang memungkinkan Anda untuk sangat menyesuaikan cara pengguna mendapatkan (atau mungkin kehilangan) poin.

Ada juga koleksi modul yang disumbangkan untuk titik pengguna dengan stabilitas yang berbeda-beda. Anda tentu dapat mengatur beberapa hal menakjubkan dengan modul-modul ini, tetapi pastikan untuk menguji implementasi Anda dengan hati-hati - meskipun modul-modul tersebut ditulis dengan baik dan cukup stabil, masih ada banyak yang bisa salah, jadi pastikan untuk memverifikasi semuanya berfungsi dengan baik.

Patrick Kenny
sumber
11

Untuk lencana, ada modul Prestasi .

Modul Prestasi menawarkan kemampuan untuk membuat prestasi dan lencana yang mirip dengan sistem yang terlihat di Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue, dan banyak lagi. Untuk situs Drupal, ini bisa berarti berkomentar beberapa kali, memulai topik forum, mengunjungi situs setiap hari dalam seminggu, atau apa pun yang dapat dilacak dan diberi kode.

stevepurkiss
sumber
1

Pertanyaan Anda benar-benar terdiri dari 2 bagian, yaitu tentang bagaimana menerapkan:

  • sebuah sistem reputasi , yang seperti evaluasi oleh beberapa pengguna tentang pengguna tertentu.
  • sebuah sistem prestasi tujuan , yang seperti menguntungkan pengguna setelah menyelesaikan berbagai tugas, menantang, dll

Baca terus untuk detail lebih lanjut tentang cara menerapkan masing-masing dari kedua sistem.

Sistem pencapaian tujuan

Biasanya ada 2 modul yang dapat Anda pilih untuk sistem semacam itu, yaitu:

  1. The Prestasi modul, seperti yang disarankan dalam jawaban lain sudah. Modul ini sangat bergantung pada pengkodean khusus untuk menangani banyak fungsi.

  2. The Tujuan Modul (Pengungkapan: Saya pengelola itu), yang dapat digunakan untuk insentif apapun di situs Anda, seperti suara, berbagi konten, menciptakan hubungan, dll

    Tujuan dan Tugas diimplementasikan menggunakan entitas yang dapat fieldable. Beberapa contoh tugas yang harus diselesaikan dapat:

    • Masuk ke situs sekali sehari selama tiga hari berturut-turut.
    • Posting sejumlah node dari tipe konten yang dipilih.
    • Buat koneksi pertemanan di situs.
    • Dll

    Anda dapat menyesuaikan Tujuan melalui "Kelola Bidang" dan / atau "Kelola tampilan". Semuanya dapat dilakukan dengan fitur pembuatan situs saja (tidak melibatkan kode khusus), meskipun kait tersedia untuk mengintegrasikannya dalam pengkodean kustom juga. Jadi modul Goals dibangun menggunakan konfigurasi antarmuka admin. Selain itu, sasaran dan tugas dalam modul Sasaran adalah entitas yang dapat fieldable, sehingga Anda memiliki fleksibilitas untuk menambahkan bidang tambahan dan menggabungkan entitas ini ke dalam Views . Menggunakan Goals Extrassub-modul itu terintegrasi dengan modul Poin Pengguna juga.

    Buka video Sasaran yang mencakup:

    • pengantar umum untuk modul.
    • demonstrasi untuk menginstal, mengkonfigurasi dan menggunakannya.
    • sampel tentang bagaimana ia menggunakan modul Aturan untuk melakukan keajaibannya (yaitu untuk melacak kemajuan pengguna untuk mencapai berbagai tujuan).

Sistem reputasi

Dengan menggunakan modul Answers (Pengungkapan: Saya adalah seorang (co-) pengelola), Anda dapat " memasukkan sistem reputasi yang baik " (seperti dalam pertanyaan Anda). Berikut ini beberapa detail tentang hal itu (dari halaman proyeknya):

Jawaban memungkinkan penerapan sistem Tanya Jawab di situs Drupal. Pengguna dapat memposting pertanyaan dan pengguna lain dapat menjawabnya.

Buka halaman proyeknya untuk lebih jelasnya. Kunjungi nya situs demo untuk demonstrasi (di baca hanya modus untuk pengguna anonim) dari Views daftar berdasarkan dari:

The "inti" Jawaban modul memungkinkan jenis konten Pertanyaan dan Jawaban , sedangkan Jawaban ditampilkan di bawah Pertanyaan mereka berhubungan dengan. 2 jenis konten ini dapat dipastikan, Anda dapat mengelola tampilannya, dll.

Gunakan sub-modulnya untuk mengaktifkan fungsionalitas yang dipilih (berdasarkan persyaratan situs), yaitu:

  • Answers Best Answer , yang memungkinkan untuk menandai salah satu jawaban untuk pertanyaan spesifik sebagai jawaban terbaik (diterima) (untuk menampilkan tanda centang biru di sebelah kiri setiap jawaban, dan yang digantikan oleh tanda centang hijau ketika jawaban ditandai sebagai jawaban terbaik).
  • Answers Theme , yang mengubah tampilan vanila (agak membosankan) dari Pertanyaan (dan Jawaban terkaitdi bawahnya), menjadi cara tampilan dan rasa yang lebih menarik. Seperti gelembung oranye yang ditambahkan di sekitar pertanyaan (untuk lebih menyorotnya).
  • Notifikasi Answers , untuk memungkinkan pengguna yang masuk untuk berlangganan pertanyaan yang dipilih, sehingga mereka menerima pemberitahuan (menggunakan Stack Pesan ) ketika Pertanyaan menerima Jawaban.
  • Answers Voting , untuk mengimplementasikan sistem untuk menaikkan atau menurunkan baik Pertanyaan dan / atau Jawaban (yang menggunakanmodul Rate ).
  • Menjawab Userpoints , untuk menambah atau mengurangi " poin reputasi " (yang menggunakanmodul Userpoints ) pada peristiwa seperti pemungutan suara naik atau turun pada pertanyaan atau jawaban, atau menandai Jawaban sebagai " Jawaban Terbaik ".

Cukup banyak "logika bisnis" -nya diimplementasikan melalui semua jenis aturan yang dapat dikonfigurasi (menggunakan modul Aturan ). Sebagai contoh, jika Anda tidak setuju dengan aturan out-of-the-box tentang berapa banyak "userpoints" yang diberikan untuk pertanyaan (atau jawaban) yang terbalik, (Anda menjawab), Anda hanya menggunakan UI Aturan untuk menyetel jumlah poin tersebut untuk kebutuhan Anda. Misalnya: haruskah pertanyaan-pertanyaan downvoting benar-benar gratis (yaitu: Apakah downvoter kehilangan poin dalam melakukannya?).

Demi kelengkapan, di bawah ini adalah aturan (dalam format ekspor Aturan), yang digunakan untuk memberikan poin '+15' kepada penulis Jawaban , bersama dengan poin '+2' untuk pengguna yang menandai jawaban itu sebagai diterima (= penulis Pertanyaan ), sedangkan menandainya dilakukan dengan menandai Jawaban itu sebagai 'Jawaban terbaik' (menggunakan modul Bendera ):

{ "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"
        }
      }
    ]
  }
}
Pierre
sumber