2013-02-19 6 views
9

アップロードされたリソースタイプの代わりに外部リソースタイプを指している私たちのコンテンツに関連付けられた画像用のマルチメディアコンポーネントを作成している、キュレーションされたコンテンツに関連するTridionユースケースがあります。URLがファイル拡張子で終わっていない場合、外部リソースタイプを使用してマルチメディアコンポーネントを保存するにはどうすればよいですか?

このユースケースで実行した問題の1つは、画像のURLにクエリ文字列(http://cdn.hw.net/UploadService/1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=default)が指定されているか、リソースのマルチメディアタイプを明示的に設定していても、 :http://www.somewhere.com/images/myimage/コンポーネントを保存すると、Tridion barfsに「 'Filename'プロパティの値が無効です」というエラーメッセージが表示されます。予期せぬファイル拡張子:jpg?w = 160 &h = 120 & mode = crop & 404 =デフォルトです。期待する:jpg、jpeg、jpe。 '

これまでのところ、この問題を回避するには、余分なクエリ文字列パラメータを最後に追加するようなハッキングを行うしかありません。予想されるファイル拡張子で終わるURL:http://cdn.hw.net/UploadService/1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=default&ext=.jpg明らかに、これは最適な解決策ではなく、実際には提供されているサイトが要求されたURLを厳格に検証する場合、一部の画像では機能しない可能性があります。

誰もがこの問題を回避する方法について考えていますか?

答えて

9

残念ながら、Tridionはファイルの拡張子をチェックしてMimeタイプを「検出」するので、これは簡単な解決策ではありません。

読んでいるときに(イベントシステム経由で)保存して削除することができますか?確かに価値のある強化要求、 私の知識にこの動作は、近日発売予定のTridion 2013のために変更されていません... 2013年に変更されたコメントを参照してください。

+3

変更されました2013年に解決策があります –

+0

イベントシステムを使ってイベントの背後を処理し、2013年のTridionでの直接サポートについて知っておくとよいでしょう。 –

+0

2013年には解決策はありますか、私たちは2013 sp1を使用していますが、依然として同じ問題 – rdhaundiyal

8

+1ヌノの答えです。あなたの質問のタイトルがマルチメディアコンポーネントに固有であることを認識して、マルチメディアコンポーネントではなく、通常のコンポーネントを使用する別の方法を検討してください。 extentionless urlを保存するExternal Urlフィールドを持つ "External Image"のような普通のコンポーネントスキーマを作成することができます。

コンテンツ制作者は、Tridion GUIの通常のコンポーネントリンク機構を介してこれらの画像を組み込みます。

その後、任意のTridionのアンカータグ<a tridion:href="tcm:x-y-z">を探して(正規表現を経由して)出力項目を解析するカスタムリンクリゾルバTBBを必要とし、それぞれのsrcパスは、このリンクコンポーネントから来る<img src=...>タグに置き換えるだろう。

同様のアプローチの例ですが、ビデオ、およびカスタムリンクリゾルバTBBのサンプルコードは、次の投稿のコードを参照してください。http://www.tridiondeveloper.com/integration-sdl-tridion-jw-media-player

+0

本当に良いアイデアです。今のところ、オリジナルのコンテンツ(アップロードされたマルチメディアコンポーネントを使用する)に使用するキュレーションされたコンテンツを作成するために同じスキーマを使用しようとしています。 Nunoが示唆しているように短期間には考えていますが、あなたの答えは、他のコンテンツとまったく同じやり方でこのコンテンツの画像を扱うという決心を思い起こさせてくれます。皮肉なことに動画に関連しています)。 –

関連する問題