アイキャッチ画像: デスクの上でパソコンを使用している

今回は Drupal のコントリビュートモジュール「 User Points 」のご紹介ができればと思います。

User Points モジュールとは?

User Points モジュールとは、 Drupal に「ポイントシステム」機能を追加するためのモジュールです。

いま世間では小売店や商業モールを中心に数多くのポイントシステムが導入されています。 購入や来店などの利用実績に応じて何 % かを会員に還元する形のものが一般的かと思います。 User Points はそのような「会員向けのポイントシステム」の導入をかんたんにしてくれる基本機能一式を提供してくれるモジュールです。

具体的には、 User Points モジュールは大きく 2 つの機能を備えています。 ひとつはこのモジュール単体で使える機能、もうひとつは他のモジュールから利用するための機能です。

  1. User Points 単体で使える機能
    • ポイントを管理するための DB テーブル
    • ポイントの変動処理や残高表示のための基本機能の提供
  2. 他のモジュールから利用するための機能
    • ポイント処理のための API

つづいて、このモジュールの使い方をかんたんに見ていきましょう。

User Points モジュールの使い方

まずはインストール方法を、つづいて実際の管理画面のうち代表的な機能を見ていきたいと思います。

インストール

User Points にかぎらず Drupal のモジュールには複数のインストール方法が用意されていますが、ここでは zip ファイルでダウンロードしモジュールディレクトリに展開する最もベーシックな方法でインストールしてみることにします。 その他のインストール方法についてはこちらの記事がご参考になるかと思いますのでよろしければ。

Drupal.org の User Points のページから zip ファイルをダウンロードしてきます。 つづいてこの zip ファイルを展開(解凍)し、 Drupal プロジェクトディレクトリ以下の sites/all/modules の下に userpionts ディレクトリごとまるまる移動します。

つづいて Drupal のサイトにアクセスし、管理者としてログインします。 http://ドメイン/admin/modules のページを開いたら「 Userpoints 」という項目が一覧の中にあるので、チェックを入れてページ最下部の「設定を保存」をクリックします。

これでモジュールのインストールが完了しました。

管理画面の確認

インストールが終わったら管理画面をチェックしてみましょう。

http://ドメイン/admin/config/people/userpoints/settings にアクセスすると User Points 関連の設定のトップ画面が表示されます。 タブが 4 つほど表示されているかと思います。 タブそれぞれの意味合いは次のような感じです。

  • POINTS SETTINGS: Userpoints の全般的な設定
  • TOTALS: 各ユーザの現在のポイント残高
  • TRANSACTIONS: トランザクション - ポイント変動処理のデータ
  • MODERATION: モデレーション - 管理者の許可が必要なトランザクションの承諾待ちデータ

POINTS SETTINGS には数多くの設定項目があるため、要件・用途に合わせてこれらを適切に設定できれば一般的なポイントシステムのベース機能はこれで十分カバーできるかと思います。

ポイントの変動処理

つづいて、ポイント変動処理のやり方を見てみましょう。

ポイント変動処理は http://ドメイン/admin/config/people/userpoints/add から行います。 「 TRANSACTIONS 」ページの上部に現れる「 Add points transaction 」をクリックしても同じページを開くことができます。

だれに」「どれだけのポイントを」付与するかを入力して、ポイント変動処理を行います。 ポイント減算処理を行いたい場合はポイント額のところにマイナスの数字を入力すれば OK です。 加算処理と同じ形で登録されます。

ポイントの処理が少ないうちはこの画面から手作業でやる形でも大丈夫ですが、実際に本格的にポイントシステムを導入するとなると、やはり何らかの形での自動化が必要です。 自動化する方法には次の 2 つがあります。

  1. 「 Userpoints rules integration 」モジュールを有効化して Rules ベースで自動化させる
  2. カスタムモジュールを作成し Userpoints の API とその他 hook 関数を使って自動化させる

このあたりの詳細のお話はまたそれはそれでおもしろいものですので機会があればまたご紹介できればと思います。 今回はざっくりとしたご紹介に留めたいので次のポイントに進みます。

ポイント残高表示ブロックの利用

ポイント残高を表示するブロックの表示方法も見てみましょう。 こちらも User Points デフォルトのブロックとなるため、コーディングなしにすぐに使いはじめることができます。

設定は他のブロックと同様に http://ドメイン/admin/structure/block から行います。 こちらのページを開くとブロックの管理画面(ブロック一覧)が表示されるので、その中から「 User's points 」というブロックを探します。 デフォルトでは「無効」のカテゴリに分類されているかと思います。

こちらの右側のセレクトボックスを操作し、画面に表示されているエリアを選択すると、画面上に現在のユーザのポイント残高が表示されるようになります。 セレクトボックスを操作した後には「ブロックの保存」ボタンを押すのを忘れないようにしましょう。

・・・

以上です。 本当にざっくりとではありますが User Points モジュールのご紹介でした。 いかがだったでしょうか?

基本機能がしっかりしていてなおかつ API が整っていて拡張性の高いモジュールですので、 Drupal 製サイトに会員ポイントシステムを導入したい場合にはぜひこのモジュールの利用を検討してみてください。 Drupal 以外の選択肢も含めて「ポイントシステムつきの SNS 」の構築を検討されている場合にも、品質・信頼性面、コスト面の両面でこの「 Drupal + User Points 」というセットはとてもおすすめですので、ぜひ選択肢のひとつに加えてみてください。

ちなみに、スタジオ・ウミの場合はゲーム大会サイト CyAC などでの活用実績があります。