問題
- 特定のファイル タイプのみを一部のユーザーに表示したい。
- 例: .doc と .pdf のみが表示され、.xls は表示されません。
- 拡張子に基づいてドキュメントを非表示/表示することは可能ですか?
Environment
- Liferay DXP 7.4
解決策
拡張子に基づいてドキュメントを表示または非表示にすることはできませんが、この要件を満たす方法はいくつかあります。
役割ベースの権限システムの使用
- Liferay DXP には、役割ベースの権限システムがあります。 管理者は、適切なファイル権限を役割に割り当て、ユーザーをその役割に割り当てることで、ユーザーがファイルで共同作業できるようにすることができます。 次の手順を検討してください。
- コントロール パネル > ユーザー > ロールに移動します。
- 新しい通常の役割を作成します (「PDF アクセス」など)。
- 権限の定義に移動し、ドキュメントとメディアに表示権限を追加します
- サイト メンバーでもあるユーザーにこの役割を割り当てます
- コンテンツ & データ > ドキュメントとメディアに移動します
- 新しいフォルダを作成します (例: "PDFs")
- このフォルダに必要なファイルをアップロードします
- フォルダの権限を編集する
- ゲストとサイト メンバーのすべての権限を削除する
- ロール「PDF アクセス」のみに閲覧権限を追加
- 結果を確認するには:
- Documents & Media ウィジェットをホームページに配置する
- 「PDF アクセス」ロールを持つユーザーでサインインし、「PDFs」フォルダーにアクセスできることを確認します。
- 他のユーザーでサインインすると、フォルダーは表示されません
- アクセス許可は個々のファイルに対してのみ追加/取り消しできますが、別のフォルダーを使用する場合は、各ファイルのアクセス許可を編集する必要はありません。
コンテンツ ページのパーソナライズの使用
- ユーザーが見ることができるものを動的に制御するユーザー セグメントに基づいてエクスペリエンスを作成します。
- コントロール パネル > 構成 > カスタム フィールドに移動します。
- ユーザー エンティティを選択し、ドロップダウン タイプのカスタム フィールドを作成します。
- 「ファイルの種類」という名前を付けて、2 つのオプションを指定します:
pdf
doc - カスタム フィールドの権限を開き、表示権限をユーザー ロールに追加します。
- このフィールドを「pdf」に設定した userA を作成します。
- このフィールドを「doc」に設定した userB を作成します。
- 両方のユーザーを Liferay サイトに追加します。
- Liferay DXP > 分類 > カテゴリのサイト管理に移動します。
- カスタム フィールド「ファイル タイプ」と同じ名前の語彙を作成します (完全に同じであることを確認してください)。
- それぞれ 2 つのカスタム フィールド値に対応する名前 (pdf と doc) を使用して、2 つのカテゴリを追加します。
- コンテンツ & データ > ドキュメントとメディアに移動します
- 各カテゴリに 1 つずつ、合計 2 つのドキュメントをアップロードします。
- People > セグメントに移動します
- 2 つのセグメント (pdf セグメント、doc セグメント)、各ユーザー用のセグメントを作成します。「ファイル タイプ」プロパティをドラッグ アンド ドロップします。
- [Site Builder > Collections] の下で、新しいダイナミック コレクションを作成し、青い [Add Personalized Variation] ボタンをクリックします。
- 作成した 2 つのセグメントを追加し、[誰でも] の上に配置して、優先されるようにします。
- 項目タイプを Documents および Media/Basic Document に設定し、フィルターの下で、pdf には pdf カテゴリなどが含まれている必要があります。
- Asset Publisher ウィジェットをホームページに追加し、作成したコレクションを表示するように構成します。
- ホームページを編集し、左上隅の [エクスペリエンス] メニューをクリックします。
- 2 つの新しいエクスペリエンスを作成します。Audience を「pdf セグメント」に設定した「pdf エクスペリエンス」と、Audience を「doc セグメント」に設定した「doc エクスペリエンス」です。
- userA と userB でログインし、結果を確認します。
- このアプローチの 1 つの注意点は、ドキュメントをアップロードするたびにカテゴリを使用する必要があることです。 ドキュメントのこのエクスペリエンスのパーソナライズを実装するもう 1 つの方法は、さまざまなファイル タイプに対して個別のドキュメント タイプを作成し、(基本ドキュメント タイプの代わりに) ドキュメントをアップロードするときにそれらを使用することです。 そうすれば、ドキュメントをアップロードするときにカテゴリを手動で追加する必要がなくなり、ファイルをアップロードするときに正しいドキュメント タイプを選択するだけで済みます。