Entity Registration

イベント、コース、その他のEntityベースの登録を追跡するための柔軟なモジュール。ワークフローサポート、定員管理、Commerce連携機能を備えています。

registration
3,208 sites
68
drupal.org

インストール

Drupal 11, 10 v3.4.4
composer require 'drupal/registration:^3.4'

概要

Entity Registrationは、イベントやサインアップが必要なコンテンツタイプに対するユーザー登録管理を可能にする包括的なDrupalモジュールです。DrupalのWorkflowsモジュールを通じて完全なワークフローサポートを提供し、Pending(保留中)、Complete(完了)、Held(保持)、Canceled(キャンセル)などのカスタム状態と設定可能な遷移が可能です。

主な機能には、イベントごとの定員制限、自動開始/終了日、複数登録のサポート、匿名および認証済みユーザーの登録、自動リマインダーメールがあります。別モジュールのCommerce Registrationモジュールを通じてDrupal Commerceと連携し、有料登録やチケット販売を可能にします。

登録はRegistrationフィールドを追加することで任意のフィールド対応Entityで有効化でき、Node、Commerce製品、カスタムEntityで柔軟に使用できます。管理リスト用の包括的なViews連携を提供し、言語バリアント間で登録設定を同期できる多言語サポートも含まれています。

Features

  • Registrationフィールドタイプを介して任意のフィールド対応Entity(Node、Commerce製品など)に登録機能を追加
  • ワークフローベースの登録状態(Pending、Complete、Held、Canceled)と設定可能な遷移
  • イベントごとの設定可能な制限と登録ごとのスペース予約による定員管理
  • 設定可能な日付に基づく登録の自動開始/終了
  • cronによる自動状態遷移を伴う保持登録の有効期限システム
  • トークンサポート付きの予定日に送信される自動リマインダーメール
  • すべての登録者にメッセージを送信する一斉メールシステム
  • 自己登録、他のユーザーの登録、匿名登録のサポート
  • 各イベントに対する1人あたり複数登録オプション
  • 空き状況と残りスペースを表示する登録ステータスBlock
  • ホストEntityフィルターとフィールドを含む包括的なViews連携
  • 言語間で設定を同期する完全な多言語サポート
  • Drupal 7 Registrationモジュールからのマイグレーションサポート
  • データベース匿名化のためのDrush sql:sanitize連携
  • 登録、設定、ホストEntityデータ用のトークンサポート
  • カスタム制約を含む拡張可能なバリデーションシステム

Use Cases

イベント登録システム

Registrationフィールドを持つイベントコンテンツタイプを作成し、ユーザーがイベントにサインアップできるようにします。定員制限、開始/終了日を設定し、イベント前にリマインダーメールを送信します。登録管理タブを使用して、参加者を表示し、一斉メールを送信し、登録リストをエクスポートします。

コース登録

コースやクラスのコンテンツタイプに登録を追加して、学生の登録を管理します。スペース機能を使用してグループ登録(例:家族メンバー)を可能にします。コースが定員に達したときにオーバーフロー登録を自動的にキューに入れるウェイトリストを有効にします。

有料チケット販売

Commerce Registrationモジュールと組み合わせてチケットを販売します。登録フィールドを持つCommerce製品を作成すると、注文完了時に登録が作成されます。保持状態を使用してチェックアウト中にスポットを予約し、支払いが失敗した場合は自動的に解放します。

カンファレンスセッションサインアップ

複数セッションのカンファレンスでは、セッションコンテンツタイプに登録フィールドを追加します。セッションごとの定員制限を設定し、Registration Scheduled Actionサブモジュールを使用して各セッション前にリマインダーを送信します。ワークフロー状態を使用して、確定済み参加者と仮参加者を追跡します。

ボランティアコーディネーション

登録フィールドを持つボランティア機会コンテンツを作成します。異なるボランティアスロットに対してユーザーごとに複数の登録を許可します。一斉メール機能を使用してすべてのボランティアと連絡を取り、シフト前にリマインダーメールを送信します。

多言語イベントシステム

多言語サイトでは、登録時に使用された言語が登録に記録されます。設定同期機能を使用して、翻訳間で定員と日付を一貫させながら、言語固有のリマインダーテンプレートを許可します。

Tips

  • Registration statusブロックを使用して、各状態用のカスタマイズ可能なテキストでホストEntityページに動的な空き状況メッセージを表示
  • Registrationフィールドのフィールド表示設定を構成して、インライン登録フォームまたは登録ページへのリンクのいずれかを表示
  • Registration Confirmationサブモジュールを有効にして、登録完了時に自動的に確認メールを送信
  • Registration Scheduled Actionサブモジュールを使用して、開始/終了日をトリガーとする自動メールを設定
  • 複雑な登録ワークフローの場合、カスタムワークフローエンティティを作成し、ビジネスプロセスに合わせて状態遷移を設定
  • トークンサポートはモジュール全体で利用可能 - すべてのメールテンプレートで[registration:*]、[registration_settings:*]、ホストEntityトークンを使用
  • モジュールにはDrupal 7 Registrationモジュールからのマイグレーションサポートが含まれています - drush migrateコマンドを使用して既存データをマイグレート
  • 提供されたアクションとViewsバルク操作を使用して、登録を一括管理(メール送信、状態変更)

Technical Details

Admin Pages 9
登録設定 /admin/structure/registration-settings

メール処理、既存登録ポリシー、多言語同期、フィルターしきい値などのグローバル登録モジュール設定を構成します。

登録タイプ /admin/structure/registration-types

登録のワークフローとデフォルト状態を定義する登録タイプバンドルを管理します。各タイプのフィールド、フォーム表示、ビュー表示を構成します。

登録タイプの編集 /admin/structure/registration-types/{registration_type}/edit

ワークフロー、デフォルト状態、保持登録の有効期限などの登録タイプ設定を構成します。

登録一覧 /admin/people/registrations

フィルタリングと一括操作を含むシステム内のすべての登録の管理リスト。

ユーザー登録一覧 /user/{user}/registrations

特定のユーザーアカウントに関連付けられたすべての登録を表示します。

登録管理 /{entity_type}/{entity}/registrations

特定のホストEntity(Node、製品など)のすべての登録を表示および管理します。

登録設定 /{entity_type}/{entity}/registrations/settings

有効化/無効化、定員、日付、通知を含む特定のホストEntityの登録設定を構成します。

登録者にメール /{entity_type}/{entity}/registrations/broadcast

特定のホストEntityのすべての登録者に一斉メールを送信します。

登録 /{entity_type}/{entity}/register

ユーザーがイベントやEntityにサインアップするための登録フォーム。

権限 9
登録一覧ページにアクセス

登録の管理リストを表示

登録タイプを管理

登録タイプ、フィールド、表示設定を管理(制限付き)

登録を管理

タイプに関係なくすべての登録を表示、編集、削除、管理(制限付き)

登録を作成

タイプに関係なく登録を作成(他のユーザーや匿名者の登録を含む)

ホスト登録を削除

ユーザーが編集アクセス権を持つホストEntityの登録を削除

ホスト登録を更新

ユーザーが編集アクセス権を持つホストEntityの登録を更新

登録を表示

タイプに関係なくすべての登録を表示

ホスト登録を表示

ユーザーが編集アクセス権を持つホストEntityのすべての登録を表示

自分の登録を表示

タイプに関係なく自分の登録を表示

Hooks 1
hook_registration_host__access

登録固有の操作に対するホストEntityの操作アクセスを制御

Drush Commands 1
drush sql:sanitize

このモジュールはDrushのsql:sanitizeコマンドを拡張して、メールやテキストフィールドを含む登録データを匿名化します

Troubleshooting 5
Entityページに登録フォームが表示されない

Registrationフィールドがコンテンツタイプに追加され、表示設定でフィールドフォーマッターが「Registration form」に設定されていることを確認してください。また、Entityの登録設定で登録が有効になっていることを確認してください。

登録が有効なのにユーザーが登録できない

ユーザーが適切な権限(create [type] registration、register self)を持っていることを確認してください。登録開始日が過ぎており、終了日に達していないことを確認してください。定員が超過していないことを確認してください。

リマインダーメールが送信されない

登録設定で「リマインダーを送信」がチェックされ、リマインダー日が設定されていることを確認してください。cronが正常に実行されていることを確認してください。登録者が有効なメールアドレスを持ち、アクティブな状態にあることを確認してください。

保持登録が期限切れにならない

保持登録の有効期限にはcronの実行が必要です。登録タイプの保持有効期限時間設定を確認してください。有効期限の状態が正しく設定されていることを確認してください。

ユーザー登録へのViewsリレーションシップが機能しない

コアの制限により、UserエンティティからそのRegistrationへの逆リレーションシップを有効にするには、Entity APIコントリビュートモジュールをインストールしてください。

Security Notes 4
  • 権限「administer registration types」と「administer registration」は制限付き権限です - 信頼できる管理者にのみ付与してください
  • モジュールはアクセス制御ハンドラーとバリデーション制約を通じてすべての登録操作を検証します
  • 登録を通じて収集されたメールアドレスはデータベースに保存されます - 適切なデータ保護対策が実施されていることを確認してください
  • Drush sql:sanitize統合は、ステージング環境用に登録データを匿名化するのに役立ちます