私は社会団体のメンバーであり、そのDrupal 7 Webサイトを実行しています。数週間でキャンペーンを開始し、特定のポイントベースのタスク(関連しないウェブサイトに)、そして誓約、完了、および積み上げ合計を追跡したい。
私は Webform でこれのために何かをすることができると信じていますが、それは多少厄介かもしれません。メンバーごとの合計とロールアップを簡単に実行できるかどうかはわかりません。 ユーザーポイント は少し役立つかもしれませんが、これにはあまり向いていません。モジュールを書くこともできますが、それを行う時間があるかどうかはわかりません。他のモジュールの提案またはこれをすばやく実装することは歓迎されます。
Views にビューに基づいてフォームを作成する機能が含まれていることを発見した後、私は自分のモジュールを作成することにしました。これは、あまりよく知られていない(少なくとも私には)ビューの機能です。この機能の使用方法に関する優れたチュートリアルがあります: Drupal 7 でビューを使用してプログラムでフォームを作成する。この機能を使用して入力フィールドをビューに追加でき、その値はフォームと共に送信されます。
元の質問で説明されている各タスクをノードにすることができます。ポイント合計を行うには、ビューをページに埋め込み、合計を計算するコードを追加します。最終的にはページをAjax化する可能性があります。
ここでの重要な機能は、ノードに関連付けられているユーザーごとのデータを保存することですが、これは一般的ではありません。私のモジュールは、独自のdbテーブルを使用してこれを格納します。 Flag モジュールは、ノードごとのユーザーごとのストアデータを関連付けることもできますが、ブール値のみを保存し、多値フラグを処理しません。
私が取り組んでいるモジュールは現在、サンドボックスプロジェクト Task Pledge です。
ユーザーフィールドに初期値0の数値フィールドを追加することにより、 Rules 、 Webform および Webform Rules を一緒に使用する方法があります。ユーザーがフォームの送信を検証するタスクを完了するたびに、値がフィールドに追加されます。これがポイントフィールドで、この場合は一意になります。この場合、合計はありませんが、フィールド値は Rules によって自動的に計算されます。
数値フィールド(ポイントフィールド)は、適切な権限で、ユーザー登録フォームではなく、ディスプレイで使用できる必要があります。
タスクがWebフォームである場合、それが解決策として今考えていることです。賞や、完了した各タスクを追跡する方法についてはわかりません。
それであなたが始められるといいのですが。