Oembed и AltoCMS

Для тех, кому лень гуглить (из тех кто не в курсе), приведу вольный перевод титульного абзаца с http://www.oembed.com:

Oembed — это способ представления ссылок на сторонний контент.

Когда-то давно, когда слово семантика никак не относилась к интернету, мы довольствовались просто добавлением ссылок в контент. Чуть погодя (а по факту практически сразу), ссылки оформились в тег a c пояснительно-завлекательным текстом внутри тега, размещаемым вручную. На какое-то время этого хватило.

Опустив промежуточные варианты с различными реализациями audio/video/media (например) и немного подумав, мировой разум рожает идею Oembed. Вполне логично, что если уж мы так сказать семантизируем наш контент, то почему бы заодно возжелав сослаться на что-либо, или того хуже внедрить в свой контент что-либо со стороны, не сделать это в тот же один клик наслаждаясь автоматизмом одним кликом и его результатом. Идея эта настолько эффектна, что с одной стороны крупные поставщики контента реализовали свои сервисы oembed, с другой стороны аккумуляторы ресурса типа «пользователи» научились внедрять oembed (преобразовывать url в более содержательный объект чем просто ссылка), даже больше — появились целые сервисы по обоембечиванию источников, не имеющих своих oembed API. Само собой это происходит по стандарту. На get-запрос с минимальным количеством параметров, сервис API должен ответить json либо xml ответом, далее ответ можно разобрать в шаблонизаторе и в крутейшем самом что ни на есть современном виде представить к потреблению обществу.

Самый простой пример наглядности oembed — соц. сети. Вы пишете пост, вставляете ссылку и нажимаете пробел... тадам и в ваш пост вместо или в добавление к ссылке добавляется oembed-объект. Для простой html-страницы это будет титульный текст и превью какой-либо картинки из перевариваемой ссылки, для видео — плеер и т.п.

Ещё раз — позавчера люди захотели смотреть видео/аудио не переходя по ссылке, кто-то даже назвал эту фичу медиа и научился показывать не только плеера, но и карты и что-то ещё, но другие люди подумав немного поняли, что в принципе любая ссылка — это такой media oembed объект и из любой ссылки надо выжать максимум возможного полезного (превью, плеер, информацию о авторе, дату/время, координаты, хештеги, ибогзнаетчтоещё).

Самый простой способ добавить в свой сайт oembed'ности — это стать пользователем одного из 3d-party oembed-провайдеров. Кто-то за деньги, кто-то бесплатно на различных условиях и в итоге вы туда ссылку, вам oembed-ответ.

К сожалению по различным соображениям меня не устраивают сторонние oembed-сервисы. Соответственно надо с одной стороны в проекте, реализуемом на Alto, уметь работать с oembed API сторонних сайтов, с другой стороны получить вместо ссылки oembed в тех случаях, когда сайт поставщик не имеет своего API.

Собственно плагин Oembed именно этим и занимается. В конфиге можно указать как сторонний API, так и настроиться на самостоятельное oembed'ование. Так как структура html деревьев различна и вычурна, то специальные случаи по разбору контента можно писать своей функцией.

В плагине используются pear библиотека oembed (надо ставить самостоятельно) и html simple dom parser (идёт библиотекой в плагине). Понимание второго необходимо как для корректного написания конфига для парсинга источников, так и для реализации функций по разбору специфических структур поставщиков.

Если вдруг вы ничего не поняли и чисто случайно дочитали до этого места, то попробуйте почитать вот это. Там по русски и с примерами. Так вот плагин позволяет через дополнительный сниппет (alto:oembed) при некоторых усилиях получать в статьях результат аналогичный примерам.

Похожие статьи

  • oEmbed.info — сервис, который очень многое может сказать о любой веб-странице
    Вообще-то, этот сервис, являющийся очередной вариацией на тему oEmbed+, не имеет прямого отношения к Альто. Но он может быть полезен любому разработчику, в т.ч. и создающему сайты на Alto CMS. Для занятых и...
  • Плагин Oembed. Обновление 1.2
    Что такое Embed, нужен ли вам oEmbed и как это реализуется в Alto при помощи одноимённого плагина читать тут. При обновлении плагина произошли следующие существенные изменения: 1. Все библиотеки (собственно pear...

0 комментариев

Автор статьи запретил добавлять комментарии