4

コンポーネントの公開には長い時間がかかることに気づきました。

公開しようとしているコンポーネントには、pdfとjpgが含まれています。他のコンポーネントへのリンクもあります。

ログを見ると、パブリッシャーがコンポーネントからマルチメディアアイテムを公開しようとしていることがわかりました。また、リンクされたコンポーネントからMMコンポーネントも公開しようとしています。リンクされたコンポーネントには、より多くのリンクされたコンポーネントがあります。

一部のコンポーネントは久しぶりに公開され、一部はメモリ例外のスローに失敗します

これはTridionのバグですか?誰かが以前にこの問題に遭遇したことがありますか?

4

3 に答える 3

4

これは仕様によるものであり、SDL Tridionがこれらの追加アイテムを解決しないようにする場合は、パブリッシャーに送信される指示を変更する必要があります。SDL Tridion 2009以前を使用している場合は、イベントシステムを使用してこれを行う必要があります。バージョン2011以降を使用している場合は、新しいカスタムリゾルバーを利用できます。おそらく、使用しているバージョンを指定できます。

2011年の場合は、カスタムリゾルバーに関する次の記事をご覧ください:http://www.tridiondeveloper.com/a-custom-resolver-in-practice

2009年の場合は、このイベントのサンプルが便利です。

public void OnComponentPublishPre(Component Component, IXMLDOMDocument2 publishInstruction)
{
    //Code to prevent publishing linked components

    XmlNode nodePropagateLinks = (XmlNode)publishInstruction.selectSingleNode("ResolveComponentLinks");
    if (nodePropagateLinks == null)
    {
        IXMLDOMNode nodeResolveLinks = publishInstruction.createNode(XmlNodeType.Element, "ResolveComponentLinks", "http://www.tridion.com/ContentManager/5.0");
        nodeResolveLinks.text = "false";
        publishInstruction.documentElement.appendChild(nodeResolveLinks);

    }
}
于 2012-06-13T21:32:46.120 に答える
2

「十分に接続された」コンポーネントを公開すると、その公開アクションに含まれるアイテムのなだれが発生する可能性があることは確かに非常に一般的です。この場合のTridionは、含めるリンクアイテムを決定するときに、オールオアナッシングアプローチを採用することがよくあります。

公開される内容をより細かく制御したい場合は、http://www.tridiondeveloper.com/a-custom-resolver-in-practiceで説明されているようにカスタムリゾルバーを作成することを検討する必要があります

于 2012-06-13T21:33:21.683 に答える
2

フランクが言及する雪崩は、一般的に3つの部分の組み合わせから来ています。

  • バイナリパブリッシング
  • 動的テンプレート
  • アイテムによって使用される

バイナリパブリッシング

テンプレートは、通常、次の方法でマルチメディアアイテムを公開します。

  • addbinary()
  • 古いpublishbinary()(XSLTコンポーネントテンプレート内)、および/または
  • Publish Binaries in PackageTBBの一部であるテンプレートビルディングブロック(TBB)Default Finish Actions

これをスキップすると、作成者はマルチメディアを個別に公開する必要があります。通常は動的コンポーネントテンプレートを使用します。

動的テンプレートごと

複数の動的コンポーネントテンプレートは、動的コンポーネントのプレゼンテーションごとにバイナリを公開できます。3つの動的テンプレートは、3倍の(バイナリ)公開リクエストを意味する可能性があります。また、ロジックがそれらのリンクを収集する場合、任意のテンプレートが他のコンポーネントでバイナリを公開する可能性があります。

「使用者」は伝播を制御しますリンク先の アイテムは公開しないでください(上記のバイナリを除く)。逆です。アイテムを使用してすでに公開されているアイテムが公開されます。これには、アイテムまたはアイテムにリンクしているコンポーネントがあるページが含まれます。

確認方法

  • Where Usedどのアイテムがあなたのアイテムを使用しているかが表示されます。
  • アイテムを公開するとき、Show Items to Publishオプションは上記と一致する必要があります。

リゾルバーを拡張することに加えて、公開する適切なアイテムを見つけることを検討してください。たとえば、ページからリンクされたコンポーネントを公開する代わりに、作成者にページまたはリンク(リンクされていない)コンポーネントを公開してもらいます。

于 2012-06-14T17:29:23.773 に答える