Rabbit Holeモジュール

2019.4.23
Posted by YuriAzuma

<目次>

・概要
・オプション
・アクセス拒否のページを配信する
・サポートされるエンティティ
・追加機能

 

こんにちは、ジェネロ・マーケティング担当の東百合(あずまゆり)です。
今回は、Drupal サイトからのすべての送信メールをインターセプトし、特定のメールアドレス(事前に指定可能)にリルートするReroute Emailモジュールについて紹介していきたいと思います。

概要

Rabbit Holeは、あるエンティティが独自のページで表示されたときに何が起こるかを制御する機能を追加するモジュールです。

例えば、カルーセルで表示される画像コンテンツのように、独自のページでは表示されないコンテンツタイプがあるかもしれません。ラビットホールでは、node/xxxを使って、このノードが独自のページでアクセスできないようにすることができます。

オプション

これは、エンティティが独自のページで表示されたときに何が起こるかを制御するための複数のオプションを提供することで機能します。以下のような機能があります。

アクセス拒否のページを配信する

ページが見つかりませんでした」というページを配信する。
任意のパスや外部URLへのページリダイレクトを発行する。
あるいは、単にエンティティを表示する(通常の動作)。
これは、バンドルやエンティティごとに設定できます。また、特定のロールがRabbit Holeを完全にオーバーライドできるパーミッションもあります。

リダイレクトパスとしてPHPを評価することができます。これにより、必要な論理に基づいて異なるリダイレクトを実行することができます。例えば、あるユーザは自分が作成したノードを見ることができるが、他のユーザのノードは見ることができないようにしたい場合などです。PHPの評価は、適切な権限を持つユーザーに限定されるので、不必要なセキュリティ違反はありません。

サポートされるエンティティ

このプロジェクトには、さまざまなエンティティにこの動作を追加するためのサブモジュールが含まれています。現在サポートされているエンティティは次のとおりです。

機能を追加したいモジュールだけを有効にする必要があります。将来的には、より多くのエンティティをサポートする予定です。提案がある場合は、issue queueを使用して機能要求を提出してください。

追加機能


リダイレクトオプションを使用している場合、トークンをサポートしています。しかし、利用可能なトークンの一覧を提供する Token モジュールをインストールすることをお勧めします。

モジュールの開発はOdd Hill社がスポンサーです。

<参考情報>

 

モジュールについての詳しいお問合せはこちら