2012-02-20 3 views
4

私は以下のセットアップのためのより良い解決策で苦労しました。私は積極的にこれに取り組んでいるわけではありませんが、これを処理する他の方法を理解するかもしれないものを知っています。何百ものバイナリにリンクしているページをよりうまく処理するには?

セットアップ:

  • Tridionの管理のページではシングルコンポーネントがリンクされ-にコンポーネントTridionの
  • 内の他のコンポーネントへのコンポーネントのリンクは、多くの場合、マルチメディアにリンクしているシングル「リンクリスト」コンポーネントリンクリスト
  • を持っていますコンポーネント(mm)
  • XSLTコンポーネントテンプレート(XSLT CT)は、上記コンテンツとPDFへのリンクを含むXMLをレンダリングします。
    • XSLドキュメントイオンが埋め込まれた(リンク-に)コンテンツをつかむために使用される、すべてのコンテンツは、XMLノードに変換し、publishBinary(と
    • TCMScriptAssistant名前空間属性)関連PDFおよびその他のメディア
  • ページテンプレートがちょうどCTの結果を出力する出版します

ビジネス要件:

  1. 改善パブリッシング(最後に、私はこの上で働いていた、これらのファイルの一部が原因PDFの2GBの出版トランザクションを作成した)
  2. 公開XMLコンテンツファイルは、関連するPDFを参照する必要があります。ハイパーリンクは機能しますが、識別子が役に立たない可能性があります。
  3. 主にストレージデータベースから独立しているだけでなく、プレゼンテーションサーバー上のTridion固有のコードを避けるためのTridionコンテンツ配信API(疎結合設定と、

最大の問題は、公開中の膨大な転送パッケージです。 2番目の問題は、リンク先のPDFを公開することでページが再発行されることです。

どのようにしてこの設定を改善したり、再設計したりすることができますか?は、モジュラーテンプレートを考慮することができますが、既存のテンプレートをあまり変更しないことが好ましいです。

ダイナミックコンポーネントプレゼンテーションは動作する可能性がありますが、ファイルシステムに公開し、動的リンクやブローカオブジェクト(たとえば、条件フィルタやバイナリメタデータなど)を使用しないでください。

答えて

4

実際には2つの質問があります。私はそれらを逆の順序で扱います。

バイナリを公開するときにページが再発行されないようにするには、古いバージョンのTridion(2011より前)のイベントシステムを使用してリンク解決を無効にするか、カスタムリゾルバを使用できる新しいバージョンこれを防ぐ。これを説明しているNunoの記事があります(http://nunolinhares.blogspot.com/2011/10/tridion-publisher-and-custom-resolvers.html)

もう1つは少し強すぎますSDL Tridion CD APIを使用していないというあなたの基準のため、小さな部分です。私はバイナリを別々にパブリッシュすることを提案しています(これにより、トランザクションパッケージのファイルサイズが小さくなります)。バイナリリンクを使用して、要求時にパスを解決します。

これはオプションではないと私は考えていますが、動的コンポーネントのプレゼンテーションを使用して、PDsに予測可能な一意のファイル名を使用することになります(317-12345.pdf URI上で)、すべてのバイナリに対して1つのディレクトリを使用します。そうすれば、XSLTテンプレートを使ってバイナリへのパスを入力することができます。バイナリの場所は後で分かります。メインリストのコンポーネントまたはページを公開するときに、カスタムリゾルバを使用してバイナリをパブリッシュできます。

クリス

+0

を役に立てば幸い私は、以前のヌーノのポストを見たが、それはあなたの答えの文脈の中ではるかに理にかなっています。既存のセットアップではコンポーネントのタイトルを変更するために正規表現がすでに使用されていたと思います。私は同じアイデアがそれらの予測可能なユニークなパスを作ることができると思います。これは間違いなく助けになります! –