問題
- 新しいレギュラーロールを作成した後、 にアクセスすることができなくなりました:
Dynamic Data Mapping > Dynamic Data Mapping Structure
または Dynamic Data Mapping > Dynamic Data Mapping Templateに行くことができなくなりました。 - そのため、左メニューや検索に「Dynamic Data Mapping」のメニュー項目が存在しなくなり、「DYNAMIC DATA MAPPING STRUCTURE」「DYNAMIC DATA MAPPING TEMPLATE」のパーミッションに到達できない。
- これらは6.2で利用可能でした。
Environment
- 7.2+(おそらく7.0と7.1も同様だと思います)
解決策
-
これは、DDMからDDMTemplateとDDMStructureを削除した
LPS-55497、かなり前に導入された現在の制限です。 - ウィジェットテンプレートの管理を刷新し、サイト管理者がサイト内で利用できるウィジェットを管理できる別のアプリケーションを作成する予定です。 つまり、これらの権限は将来的に不要になったり、変更されたりする可能性があります。 参照 https://issues.liferay.com/browse/LPS-83325
-
一方、議論されたDDM権限を任意のロールに適用するためには、2つの可能な回避策があります。
A) UIを通して:
- 権限が必要なUI上のRoleを開く。
- ページのURLからroleIdを取得する。 (
com_liferay_roles_admin_web_portlet_RolesAdminPortlet_roleId={roleId}
) 。 - ユーザーロールを開きます。
- 権限の定義」で「Dynamic Data Mapping」を探します: ページへの追加" 権限を探し、"Dynamic Data Mapping" を右クリックし、新しいタブまたはウィンドウでリンクを開きます。
- URLのUserロールのidをカスタムロールのid(ステップ2で取得したもの)に変更します。 (この後、カスタムロールのDDMパーミッションが表示されるはずです)。
- カスタムロールに必要なDDM権限を割り当てる。
B) スクリプトで:
- データベース(会社テーブル)またはコントロールパネル > Virtual InstancesからインスタンスのIDを取得します。権限が必要なUIのRoleを開きます。
- データベース(role_テーブル)またはロールページのURL(
com_liferay_roles_admin_web_portlet_RolesAdminPortlet_roleId={roleId}
)からロールIdを収集します。 - 添付のスクリプト(AddDDMPermissionsToRole.groovy)において、companyIdとroleIdの変数に上記で取得した値を記入する。
- コントロールパネル > サーバー管理 > スクリプトで実行します。
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン