コンテンツ マネージャーからパブリケーションを削除するのではなく、パブリケーションを一括削除する方法はありますか? 現在余剰となっている約 75 のパブを取り除く必要があります。
4 に答える
データベースを直接操作することは可能かもしれませんが、パブリケーションを削除するためにサポートされている唯一の方法は、Content Manager または API を使用することです (ただし、ドキュメントをざっと見てみると、 TOM.Netではなく、古い TOM API を介してのみ可能であると思います)。
Nuno が示唆するように、75 の出版物については、API を使用して同じ仕事をするツールを作成/テスト/デバッグするよりも、Content Manager を介して行う方がはるかに簡単になる可能性があります。
パブリケーションを削除できるのは、次の場合のみであることに注意してください。
- 出版物の内容は公開されていません。
- パブリケーションには、ブループリントに子パブリケーションがありません。
- あなたはシステム管理者です。
最も簡単な方法は、コア サービス API を使用することです。たとえば、 tridion-practiceclient.Delete("tcm:0-xyz-1");
で説明されているように、コア サービス クライアントの作成を呼び出すだけです。
ただし、Item is in use.
おそらくエラーが返される可能性が高く、UI で手動で解決するのが最善でしょう。メソッドを使用して、Delete を呼び出す前の準備としてパブリケーション全体を非公開にすることもできclient.UnPublish()
ます (必要なパラメーターの詳細については、API ドキュメントを参照してください)。
どの出版物を取り除く必要があるかによって、多くのことが異なります。スクリプトからパブリケーションを削除するのは簡単です。(私のお気に入りのアプローチは Windows Powershell を使用することです) が、親を削除する前に、最初にブループリントの子を削除する必要があります。パブリケーションにブループリントの子がある場合、それを削除することはできません。
したがって、最初に青写真の関係を把握してから、削除を行います。それでも、75 のパブリケーションの場合、スクリプトをテストする前に手作業で作業を終えている可能性があります。もちろん、DTAP ストリートを介して同じ変更を正確に送信する必要がある場合は、スクリプトが最適です。
これは少し時間がかかるプロセスです。私は昨年50以上を削除し、それらの出版物には何千もの出版物が含まれていました。
参考までに、動力工具を使用してすべてのアイテムを未公開として設定するより迅速な方法がありますが、これもブローカーデータベースに多くのエントリを残します。
したがって、これを計画し、適切な非公開を実行して、コンテンツマネージャー、tom API、またはコアサービスから削除することをお勧めします。