4

次のセットアップのより良い解決策に苦労しました。私はこれに積極的に取り組んでいませんが、これを処理する他の方法を高く評価するかもしれない人を知っています.

設定:

  • Tridion が管理するページには、単一の「リンク リスト」コンポーネントがあります リンク リスト
  • 単一のコンポーネントには、Tridion の他のコンポーネントへのコンポーネント リンクがあります
  • リンク先コンポーネントはマルチメディア コンポーネントにリンクすることが多い (mm)
  • XSLT コンポーネント テンプレート (XSLT CT) は、上記のコンテンツと PDF へのリンクを含む XML をレンダリングします。
    • XSL document() 関数を使用して、埋め込まれた (リンク先の) コンテンツを取得し、すべてのコンテンツを XML ノードと属性に変換します
    • publishBinary() を持つ TCMScriptAssistant 名前空間は、関連する PDF およびその他のメディアを発行します
  • ページテンプレートはCTの結果を出力するだけ

ビジネス要件:

  1. パブリッシングの改善 (私が最後にこれに取り組んだとき、これらのファイルのいくつかは PDF のために 2GB のパブリッシング トランザクションを作成しました)
  2. 公開された XML コンテンツ ファイルは、関連付けられた PDF を参照する必要があります。ハイパーリンクは機能しますが、識別子は役に立たない可能性があります...
  3. Tridion コンテンツ配信 API はありません。主にストレージ データベースからの独立性のためですが、プレゼンテーション サーバーでの Tridion 固有のコードを回避するためでもあります (セットアップが疎結合であり、開発者のトレーニングが少なくなります)。

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

このセットアップをどのように改善または再設計できますか。できれば、既存のテンプレートをあまり変更せずに、モジュラー テンプレートを検討することもできます。

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

4

1 に答える 1

4

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

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

2 つ目は、SDL Tridion CD API を使用しないという基準が原因で、少し難しくなります。バイナリを個別に公開し (これにより、トランザクション パッケージのファイル サイズを抑えることができます)、バイナリ リンクを使用して要求時にパスを解決することをお勧めします。

これがオプションではないことを考えると、動的コンポーネントのプレゼンテーションを引き続き使用し、PDfs に予測可能な一意のファイル名を使用する (つまり、URI に基づいて 317-12345.pdf のようなものを使用する) というアプローチしかなかったと思います。 、すべてのバイナリに対して 1 つのディレクトリを使用します。そうすれば、XSLT テンプレートを使用してバイナリへのパスを入力できます。バイナリが後でどこに配置されるかがわかります。次に、メイン リスト コンポーネントまたはページを公開するときに、カスタム リゾルバーを使用してバイナリを公開できます。

それが役立つことを願っています

クリス

于 2012-02-20T22:01:53.150 に答える