Bagaimana cara mengubah pengguna ke peran yang berbeda berdasarkan jumlah posting mereka?

7

Adakah teknik di luar sana yang dapat menempatkan pengguna dalam peran tertentu ke dalam peran yang berbeda secara otomatis setelah mereka membuat jumlah posting X (topik inti forum atau / dan balasan)?

Saya ingin menerapkan fungsi di mana ketika pengguna pertama kali mendaftar ke situs saya mereka dimasukkan ke dalam peran yang memiliki hak istimewa terbatas, tetapi setelah sejumlah posting ke forum (topik baru atau balasan ada) mereka dimasukkan ke dalam berbagai peran yang tidak memerlukan CAPTCHA dan mereka dapat memposting tautan dll. FYI menggunakan inti Forumdan modul Forum Lanjutan .

Beebee
sumber

Jawaban:

9

Saya menemukan modul Statistik Pengguna yang terintegrasi dengan Aturan dan memberikan token seperti [pengguna: pasca-penghitungan] yang dapat digunakan untuk perbandingan numerik. Semoga ini bisa membantu orang lain.

Beebee
sumber
2

The Pengguna Statistik modul hanya memiliki versi dev untuk D7 (Aku menduga pertanyaan ini adalah tentang D7). Namun, pertanyaan Anda sepertinya adalah usecase yang sempurna untuk modul Sasaran (pengungkapan: Saya adalah pengelolanya). Di bawah ini adalah konfigurasi yang mungkin untuk kasus spesifik Anda, menggunakan Sasaran .

Konfigurasikan sasaran

Arahkan ke jalur relatif admin/config/goals/managedan gunakan tautan "Tambahkan tujuan" untuk menentukan hanya 1 tujuan , dengan deskripsi (katakanlah):

Buat X jumlah posting (topik forum inti atau / dan balasan) .

Konfigurasikan tugas

Untuk mencapai tujuan "buat jumlah posting X (topik inti forum atau / dan balasan)", tentukan Tugas yang harus diselesaikan.

  • Posting sejumlah topik inti forum.
  • Posting sejumlah balasan.

Cara yang lebih maju untuk menggunakan (mengkonfigurasi) Sasaran , adalah mengonfigurasi tugas seperti:

  • beberapa tugas mungkin harus diulang beberapa kali.
  • beberapa tugas mungkin memerlukan sejumlah waktu untuk berakhir di antara 2 tugas serupa (misalnya: jika tugas dilakukan beberapa kali sehari, hanya tugas pertama yang diperhitungkan).
  • ... (ada yang lain ...).

Lacak kemajuan saat melakukan tugas

Untuk melacak kemajuan yang dibuat oleh satu pengguna untuk menyelesaikan beberapa tugas, Anda hanya perlu menulis aturan yang sesuai, menggunakan modul Aturan , untuk merekam peristiwa relevan yang terjadi di situs Anda, yang terkait dengan penyelesaian berbagai tugas.

Untuk sasaran / tugas yang dijelaskan di atas sebagai contoh, Anda hanya perlu 2 aturan (sangat mendasar), yang akan dipicu seperti:

  • Setelah memposting topik inti forum.
  • Setelah memposting balasan.

Perhatikan bahwa 2 aturan ini dapat digunakan kembali untuk mengukur kemajuan pada beberapa tujuan (mis. Jika tujuan Anda memiliki tugas seperti "setelah memposting 1 balasan", dan tujuan kedua memiliki tugas seperti "setelah mengirim 10 balasan").

Selain itu, tantangan di atas cukup lurus ke depan (dasar) sebagai contoh Tantangan. Tetapi Anda dapat melakukan ini untuk hampir semua entitas yang Anda dapat memikirkan cara untuk melacaknya melalui modul Aturan.

Gunakan Aturan untuk memproses sasaran yang telah selesai

Setelah semua tugas khusus untuk tujuan diselesaikan oleh pengguna, tujuan tersebut secara otomatis ditandai sebagai selesai. Namun , ada lebih banyak: Anda juga dapat membuat aturan tambahan yang akan dipicu (Acara Aturan) ketika tujuan selesai oleh pengguna. Dengan itu, jawaban atas pertanyaan Anda sangat mudah: lakukan Aturan Tindakan untuk " ... ubah pengguna ke peran yang berbeda " ... yang persis seperti itulah pertanyaan Anda, bukan?

Lebih sama

Alih-alih deskripsi (membosankan) dari tujuan di atas, Anda bisa menggunakan deskripsi tujuan seperti (katakanlah) " Pengguna yang Berpartisipasi " sebagai gantinya. BTW mana yang bisa menjadi deskripsi bagus tentang peran yang akan diberikan juga.

Jika kemudian Anda mendefinisikan (mengatakan) 3 lebih banyak tujuan (serupa), dengan masing-masingnya serangkaian tugas yang harus diselesaikan, Anda dapat menggunakan teknik yang sama untuk tujuan (dan / atau peran) berlabel sesuatu seperti itu (jika terdengar akrab dengan sesuatu di Drupal.SE, itu murni kecelakaan):

  • Pengguna Setia.
  • Pengguna Mapan.
  • Pengguna Tepercaya.
  • Moderator.

Info lebih lanjut

Lihat jawaban saya untuk " Bagaimana menerapkan gamification di situs Drupal dan memberikan penghargaan? " Untuk detail tambahan tentang modul Sasaran .

Catatan: Menggunakan Sasaran hanya memerlukan tugas administrasi yang umum (konfigurasi), meskipun ia datang dengan berbagai kaitan juga untuk pengembangan modul khusus (jika Anda mau).

Pierre
sumber