TridionR5.3を使用しています。のコンポーネントを削除しようとしていますが、公開済みとして表示されます。何をしても非公開にすることはできません。データベースに対して次のクエリを実行して、コンポーネントが公開されている場所を特定しました。
SELECT *
FROM [dbo].[PUBLISH_STATES] WITH (NOLOCK)
WHERE REFERENCE_ID = 268494
そして、私は次の情報を受け取りました
- ID:45173
- REFERENCE_ID:268494
- ITEM_TYPE:16
- PUBLICATION_ID:4
- 状態:1
- STATE_CHANGE_DATE:2006-08-18 12:50:25.597
- PUBLICATION_TARGET_ID:2
- TRUSTEE_ID:43
- TEMPLATE_REFERENCE_ID:89798
- TEMPLATE_ITEM_TYPE:32
IDが2のコンポーネントを公開ターゲットから非公開にしようとしましたが、うまくいきませんでした。
データベースの行を削除するだけで安全ですか?
アップデート
Nunoの提案と別の質問を読んだ後、関連するコンポーネントテンプレートを非公開にする必要があると思います。次のことを試しましたが、メソッドType Mismatch
を実行するとが表示されます。SetPublishedTo()
TDS.TDSE tdse = new TDS.TDSE();
var componentTemplate = (TDS.ComponentTemplate)tdse.GetObject("tcm:4-89798-32", TDSDefines.EnumOpenMode.OpenModeView);
componentTemplate.SetPublishedTo("tcm:4-268494", "tcm:0-2-65537", false, tdse.User);