ポータル 6.2 でローカルステージングでタグとカテゴリを削除できない

Liferay Portal 6.2のリリース以来、ユーザーは主要なエンティティの削除を公開できるようになりました。 これには、Webコンテンツの記事、ドキュメント、メディアファイルなどの削除も含まれます。 ただし、タグとカテゴリについては、Liferay 6.2のステージングは限定的なサポートしか提供していないため、削除することはサポートされていません。 リモートステージングでは、ユーザーがライブサイトから手動で削除できるため、これは大きな問題ではありませんが、ローカルステージングでは、ユーザーはライブサイトのコンテンツを直接コントロールできません。

再現するためのステップ

  1. 1ページでサイトを作成します。
  2. サイトのローカルステージングを有効にします。
  3. サイト管理では、語彙を作成します。
  4. 2つのカテゴリを作成します。
  5. タグを2つ作成します。
  6. Webコンテンツ記事を作成し、「カテゴリ分け」タブで、すべてのカテゴリとタグを選択します。
  7. タグナビゲーションとカテゴリナビゲーションポートレットをページに配置します。
  8. カテゴリーとタグがポートレットに表示されていることを確認してください。
  9. デフォルトの設定でLiveに公開します。
  10. カテゴリとタグがライブサイトにも存在することを確認してください。
  11. ステージングサイトからタグとカテゴリを削除します。
  12. デフォルトの設定でLiveに公開します。
  13. ライブサイトのタグとカテゴリをもう一度確認してみましょう。

結果

ライブサイトにはまだカテゴリーとタグが両方入っています。

決議

特定のアセット(タグやカテゴリ)のカテゴリ化を削除する必要がある場合は、ステージングでアセットを編集して新しいバージョンを公開することで、Liveからこの関係を削除することができます。

タグやカテゴリを完全に削除する必要がある場合は、以下の添付のGroovyスクリプトを使用して検索して削除することができます。 デフォルトでは、スクリプトはエンティティが存在することを確認するためだけに検索しますが、一度見つかったら、 safeMode=falseに変更してから実行を繰り返すことができます。 これにより、検索されたタグやカテゴリと関連するサブカテゴリがLiveから削除されます。

スクリプトのいずれかを使用するには、スクリプト内の次の変数の値をカスタマイズする必要があります。

  • String siteName = "Guest"; タグまたはカテゴリが作成されたサイトの名前。
  • long companyId = 12345; サイトが作成された会社のインスタンス ID、コントロール パネル > 構成 > ポータル インスタンスから取得できます。
  • (カテゴリの場合) String categoryName = "Test Category"; 削除したいカテゴリの名前。
  • (カテゴリの場合) String vocabularyName = "Topic"; カテゴリが作成された場所にある語彙の名前。
  • (タグの場合) String tagName = "tag 1"; 削除したいタグの名前。
  • def safeMode = true; 真の値はカテゴリを削除せず、表示するだけです。 falseの値で再度スクリプトを実行すると、カテゴリが削除されます。

スクリプトを実行するには、コントロールパネル > 構成 > サーバー管理 > スクリプトに移動し、言語を groovy に設定して、スクリプトを実行します。

追加情報

以下の添付ファイルを参照してください。

次回のLiferay Portalのリリースでは、タグやカテゴリの削除もユーザーが公開できるようになります。 LPS-55909.

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています