Dostarczanie mediów do sklepu, CMS i witryny

Dlaczego media są dystrybuowane z footage.one, a nie linkowane bezpośrednio, jakie są do tego drogi i do czego służą wewnętrzne linki do mediów.

Zasada

Media, które mają pojawić się poza footage.one, są tam dostarczane: do samego systemu docelowego albo do magazynu, z którego serwuje Twoja witryna lub sieć dostarczania treści. Adresy URL, których platforma używa wewnętrznie, są roboczymi adresami aplikacji, a nie kanałem dostarczania.

Cztery powody, dla których to nie jest formalność:

  • Podglądy mogą nieść znak wodny. To, co jest właściwe w interfejsie zarządzania, jest błędne w sklepie.
  • Podglądy są widokami roboczymi. Rozdzielczość, format i kadr wynikają z potrzeb aplikacji, a nie z Twojego layoutu, i mogą się zmieniać wraz z platformą.
  • Inaczej platforma staje się źródłem pod ruchem publicznym. Czas ładowania, transfer i dostępność Twojej witryny zależą wtedy od niej.
  • Publikacja powinna być decyzją. To, co stoi na publicznej stronie, ma tam trafić przez świadomą dystrybucję, a nie dlatego, że ktoś zna adres URL.

Drogi na zewnątrz

Dystrybucja jest drogą przewidzianą. Wybierasz media, określasz cel, a footage.one dostarcza je tam:

Cel Do czego służy
S3 Zapis do własnego bucketu, z którego serwuje witryna, sklep lub CDN. Typowa droga dla własnej witryny
Webhook System docelowy dostaje powiadomienie i przejmuje media do własnego zasobu
Kanał mediów (feed) Feed, który podłączony system regularnie odczytuje
Sklep Oferta we własnym sklepie footage
Wyszukiwanie publiczne Przeszukiwalny zasób dla komponentów wyszukiwania na Twojej stronie

Do tego dochodzą cele partnerskie, o ile są skonfigurowane dla Twojej instancji. To, które cele faktycznie możesz utworzyć, zgłasza sama platforma: okno dialogowe dystrybucji pokazuje dokładnie te adaptery, które są zarejestrowane na Twojej instancji. Zob. Dystrybucja mediów.

Wzorzec: zasilanie witryny lub sklepu

  1. Ustal zasób. Zbierz album lub wybór, który ma zostać opublikowany.
  2. Skonfiguruj dystrybucję, zwykle do własnego bucketu.
  3. Postaw przed tym własne dostarczanie. Witryna albo CDN serwują z tego bucketu, a nie z footage.one. Dzięki temu sam ustalasz czasy buforowania, formaty i dostępność.
  4. Zapisz adres docelowy w CMS, przy produkcie lub artykule.
  5. Przy podmianie pliku rozdystrybuuj go ponownie i celowo wyczyść pamięć podręczną. Plik w buckecie jest wersją, którą widzi Twoja publiczność.

Zaleta tego rozdzielenia: awaria lub okno serwisowe platformy nie dotyka Twojej witryny, a opublikowana wersja pozostaje dokładnie tą, którą zatwierdziłeś.

Do czego służą wewnętrzne linki do mediów

Każdy zasób podaje własne adresy URL mediów w obiekcie _links. Są przeznaczone dla własnych narzędzi w obszarze chronionym: interfejsów zarządzania, widoków kontrolnych za logowaniem, zestawień, skryptów.

curl -H "apiKey: TWÓJ_TOKEN_API" \
  https://app.footage.one/api/asset/assets/TWOJE_ID_ZASOBU \
  | jq '._links | {kframe, preview, master, download, actionToken}'
Link Zawartość
kframe nieruchomy obraz zasobu, dla wideo keyframe
preview wersja podglądowa, dla wideo plik proxy
master plik oryginalny, dostępny wyłącznie z tokenem
download pobranie pliku w ramach zalogowanej sesji
actionToken wydaje krótkotrwały token dostępu do master

Nigdy nie składaj tych adresów samodzielnie, odczytuj je z zasobu, zob. Zrozumieć HATEOAS.

Podglądy są dostępne bez tokena. Jest to technicznie konieczne, bo element img ani video nie może wysłać nagłówka Authorization, a aplikacja nie mogłaby wyświetlić ani jednego obrazu. Oznacza to jednak również: kto zna taki adres, ten może go pobrać. Właśnie dlatego te adresy nie należą do publicznych stron, newsletterów ani plików eksportu.

Pobieranie pliku oryginalnego

Pobranie pliku master przebiega dwuetapowo. Najpierw pobierasz swoim tokenem API krótkotrwały token dostępu, a następnie pobierasz nim plik:

JWT=$(curl -s -H "apiKey: TWÓJ_TOKEN_API" \
  https://app.footage.one/api/asset/assets/TWOJE_ID_ZASOBU/action-token | jq -r '.jwt')

curl -L -o original.jpg \
  "https://app.footage.one/api/asset/assets/TWOJE_ID_ZASOBU/master?token=$JWT"

Token dostępu jest krótkotrwały i przeznaczony dokładnie do tego celu. Nie zapisuj go w publicznej stronie, w pamięci podręcznej ani w repozytorium.

Jeśli mimo wszystko osadzasz bezpośrednio

Dla wewnętrznego portalu za logowaniem albo szybkiego prototypu możesz użyć linków podglądowych bezpośrednio. Warto wtedy wiedzieć, na co się godzisz:

  • Sprawdź, czy dla tego zasobu ustawiony jest znak wodny.
  • Nie polegaj na konkretnym formacie ani długości krawędzi.
  • Uwzględnij obciążenie źródła, gdy stronę otworzy więcej niż garstka osób.

Dla wszystkiego, co jest widoczne publicznie, właściwą drogą pozostaje dystrybucja.

Powiązane tematy