次のセットアップのより良い解決策に苦労しました。私はこれに積極的に取り組んでいませんが、これを処理する他の方法を高く評価するかもしれない人を知っています.
設定:
- Tridion が管理するページには、単一の「リンク リスト」コンポーネントがあります リンク リスト
- 単一のコンポーネントには、Tridion の他のコンポーネントへのコンポーネント リンクがあります
- リンク先コンポーネントはマルチメディア コンポーネントにリンクすることが多い (mm)
- XSLT コンポーネント テンプレート (XSLT CT) は、上記のコンテンツと PDF へのリンクを含む XML をレンダリングします。
- XSL document() 関数を使用して、埋め込まれた (リンク先の) コンテンツを取得し、すべてのコンテンツを XML ノードと属性に変換します
- publishBinary() を持つ TCMScriptAssistant 名前空間は、関連する PDF およびその他のメディアを発行します
- ページテンプレートはCTの結果を出力するだけ
ビジネス要件:
- パブリッシングの改善 (私が最後にこれに取り組んだとき、これらのファイルのいくつかは PDF のために 2GB のパブリッシング トランザクションを作成しました)
- 公開された XML コンテンツ ファイルは、関連付けられた PDF を参照する必要があります。ハイパーリンクは機能しますが、識別子は役に立たない可能性があります...
- Tridion コンテンツ配信 API はありません。主にストレージ データベースからの独立性のためですが、プレゼンテーション サーバーでの Tridion 固有のコードを回避するためでもあります (セットアップが疎結合であり、開発者のトレーニングが少なくなります)。
最大の問題は、公開中の巨大な輸送パッケージです。2 つ目の問題は、リンク先の PDF を公開すると、ページが再公開されることです。
このセットアップをどのように改善または再設計できますか。できれば、既存のテンプレートをあまり変更せずに、モジュラー テンプレートを検討することもできます。
動的コンポーネント プレゼンテーションは機能する可能性がありますが、ファイル システムにパブリッシュする必要があり、動的リンクやブローカー オブジェクトを使用しないでください (条件フィルターやバイナリ メタデータなどは使用しません)。