2013-02-19 10 views
9

Mamy przypadek użycia Tridion w odniesieniu do dobranych treści, w których tworzymy komponenty multimedialne dla obrazów powiązanych z naszą zawartością, które wskazują na typy zasobów zewnętrznych zamiast przesłanych typów zasobów.W jaki sposób możemy zapisać komponenty multimedialne przy użyciu zewnętrznych typów zasobów, jeśli adres URL nie kończy się na rozszerzenie pliku?

Jednym z problemów, które napotkaliśmy w tym przypadku użycia, jest to, że pomimo wyraźnego ustawienia typu multimediów dla zasobu, jeśli adres URL obrazu zawiera ciąg zapytania: http://cdn.hw.net/UploadService/1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=default lub używa "przyjaznego adresu URL" : http://www.somewhere.com/images/myimage/ kiedy zapisujemy komponent, barfy Tridion z komunikatami o błędach podobnymi do: "Niepoprawna wartość dla właściwości" Nazwa pliku ". Nieoczekiwane rozszerzenie pliku: jpg? W = 160 & h = 120 & mode = crop & 404 = domyślnie. Oczekiwano: jpg, jpeg, jpe. "

Do tej pory jedynym sposobem, w jaki moglibyśmy się dowiedzieć, jak potencjalnie obejść ten problem, jest zrobienie czegoś hackowatego, np. Dodanie dodatkowego parametru ciągu zapytania do samego końca adresy URL kończące się oczekiwanym rozszerzeniem pliku: http://cdn.hw.net/UploadService/1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=default&ext=.jpg Oczywiście nie jest to najlepsze rozwiązanie i w rzeczywistości może nie działać w przypadku niektórych obrazów, jeśli strona, z której pochodzą, dokładnie sprawdza żądany adres URL.

Czy ktoś ma jakieś pomysły na temat tego, jak możemy obejść ten problem?

Odpowiedz

9

Niestety, nie mogę sobie wymyślić łatwego rozwiązania, ponieważ Tridion "wykrywa" typ MIME, sprawdzając rozszerzenie pliku.

Być może mógłbyś dodać go podczas zapisywania i usunąć podczas czytania (przez system zdarzeń)? Zdecydowanie warta zachodu prośba, według mojej wiedzy to zachowanie nie zostało zmienione na nadchodzący Tridion 2013 ... Zobacz komentarz poniżej, został zmieniony na rok 2013.

+3

To się zmieniło, pojawi się rozwiązanie w 2013 roku –

+0

Dobry pomysł na wykorzystanie systemu zdarzeń do radzenia sobie z tym za kulisami i dobrze wiedzieć o bezpośrednim wsparciu tego w Tridion 2013. –

+0

Czy jest jakieś rozwiązanie w 2013 roku? Używamy 2013 sp1, ale wciąż ten sam problem. – rdhaundiyal

8

+1 za odpowiedź Nuno. Uznając, że tytuł twojego pytania jest specyficzny dla komponentów multimedialnych, możesz rozważyć inne podejście, które polega na używaniu normalnych Komponentów, a nie Komponentów Multimedialnych. Możesz utworzyć schemat normalnego komponentu o nazwie "Zewnętrzny obraz" z zewnętrznym adresem URL do przechowywania adresu URL bez długów.

Autorzy treści następnie dodadzą te obrazy za pomocą mechanizmów regularnego łączenia komponentów w GUI Tridion.

Następnie trzeba niestandardowego rozpoznawania linków TBB że będzie analizować pozycję wyjściową (poprzez Regex) poszukuje wszelkich Tridion tagów kotwicznych <a tridion:href="tcm:x-y-z"> i dla każdego z nich zastąpić je z <img src=...> tagu gdzie ścieżka src przyjdzie z tego połączonego komponentu .

Dla przykładu podobnego podejścia, ale z filmami i przykładowym kodem dla niestandardowego przelicznika linków TBB zajrzyj do kodu w następującym poście: http://www.tridiondeveloper.com/integration-sdl-tridion-jw-media-player.

+0

Naprawdę dobry pomysł. W obecnej wersji staramy się wykorzystywać te same schematy do tworzenia treści, których używamy w naszych oryginalnych treściach (z wykorzystaniem przesłanych komponentów multimedialnych), ponieważ wiele naszych szablonów komponentów/stron działa "po prostu", jeśli to zrobimy. Chociaż myślę, że w krótkim czasie zrobimy to, co sugeruje Nuno, twoja odpowiedź zmusi mnie do ponownego przemyślenia decyzji dotyczącej obsługi obrazów dla tej treści w dokładnie taki sam sposób jak dla innych treści, a także stanowi rozwiązanie dla nadchodzącego projektu, który mamy (ironicznie związane z wideo.) –

Powiązane problemy