вторник, 19 марта 2013 г.

Почему Google уничтожает свой Reader — и почему это хорошо?


 
Автор: Евгений Золотов 15 марта 2013

Когда в среду руководители Google ставили точку в истории одного из своих многочисленных веб-сервисов, едва ли они могли вообразить, какая реакция за этим последует. Согласно плану, 1 июля перестанет существовать RSS-читалка Google Reader — а волна недовольства уже сегодня буквально перехлёстывает через край: вслед за критическими публикациями в блогах и сетевых СМИ, появились сразу несколько петиций протеста — и под ними на сегодняшнее утро поставлены суммарно свыше ста тысяч подписей! Более чем странно, если учесть, что даже сама аббревиатура RSS нынче мало кому знакома. Но тем интересней попробовать добраться до причин — как раздражения публики, так и останова собственно сервиса.

Google Reader появился на свет в 2005 году и быстро стал стандартом де-факто в сегменте RSS-читалок. Хотите, называйте их агрегаторами, хотите фид-ридерами, сути это не меняет: когда вам нужно отслеживать состояние множества веб-ресурсов, такие программы оказываются чрезвычайно полезными. На каждом уважающем себя сайте есть файл в формате RSS, содержащий информацию о последних обновлениях, новых сообщениях на форуме и т.п. Агрегатор обходит любимые сайты пользователя, собирает RSS-файлы и превращает их в единый поток. Поглощать информацию в таком концентрированном виде выгодней по многим причинам, но в общем и целом можно сказать, что так просто быстрей: не мешает реклама, нет нужды шариться по сайтам в браузере, события легко рассортировать по темам.
Google Reader казался проектом на века, но продержался всего восемь лет. Как теперь мрачно шутят его поклонники, гугловскими продуктами не стоит увлекаться: скажем, легендарный Google Car тоже ведь могут остановить прямо на полном ходу.
Google Reader казался проектом на века, но продержался всего восемь лет. Как теперь мрачно шутят его поклонники, гугловскими продуктами не стоит увлекаться: скажем, легендарный Google Car тоже ведь могут остановить прямо на полном ходу.
Главная проблема RSS в том, что технология эта абсолютно чужда массам. Читателям Компьютерры поверить в это будет, пожалуй, трудно, но не верите — проверьте сами. Возьмите человека с улицы и попробуйте втолковать ему принцип действия и выгоды от применения RSS. В лучшем случае вы наткнётесь на непонимание, в худшем на три латинских буквы вам ответят тремя русскими.
Заставлять обывателя пользоваться RSS — всё равно что заставлять его же учиться скорочтению: забавно, да, но убивает удовольствие от потребления контента. Обывателю чужды страдания Роба Мальды (он же CmdrTaco, он же сооснователь Slashdot), среагировавшего на приговор GReader так: теперь каждую неделю Google будет недополучать как минимум десять часов моего времени! Обывателю лень, да и нет нужды стараться поглотить как можно больше килобайт за ограниченный отрезок времени. Когда же возникает потребность следить за интересностями, он «френдит» друзей и группы в любимой социальной сети. Ему невдомёк, что хаос в новостной ленте Фейсбука, В Контакте, да даже Google+ имеет очень мало общего со строго упорядоченным потоком информации, производимым любым RSS-ридером.
А ведь GReader был не любым! Спасибо ребятам из Google, это был мощный и очень гибкий продукт. Его облачный функционал (вся вычислительная работа и все данные выполнялись и хранились на серверах самой Google) делал лёгким слежение за сотнями источников с любого цифрового устройства, позволял хранить контент годами, превращая его в ценный архив. А открытый программный интерфейс, когда необходимо, превращал GReader в сервис-посредник для снабжения переваренным RSS-контентом других программ и сервисов. Всё это сформировало вокруг него большую лояльную аудиторию. Пользователи GReader тратили годы на сбор и настройку своих RSS-коллекций. Чего ж удивляться, что известие о скором закрытии их так расстроило?
Но и для Google, конечно, это не просто каприз. Во-первых, GReader был одним из ранних экспериментов компании в новой для неё теме социальных сетей. Сейчас уже мало кто помнит, но в GReader были функции, роднящие его с соцсетями: возможность отметить запись как понравившуюся или поделиться ею с друзьями. Со временем — и по причине моды на социальные сети, и по причине вышеназванной малопонятности RSS для обывателя — внимание Google переключилось на Google+. Популярность GReader поослабла — и разработчики решили закрыть проект. Потому что — и это причина номер два — Google хоть и любит агрессивно экспериментировать, неудавшиеся начинания прикрывает по возможности быстро (см. «Как выигрывать реже, но больше»).
Одновременно стало известно, что Энди Рубин, «отец» платформы Android и бессменный Главный по «зелёным человечкам», уходит — к счастью не из Google, а только на другую должность. Предположительно, он переводится в Google X: сверхсекретное подразделение компании, подконтрольное Сергею Брину. Там работают над самыми сумасшедшими и самыми перспективными проектами, вроде робота-автомобиля.
Одновременно стало известно, что Энди Рубин, «отец» платформы Android и бессменный Главный по «зелёным человечкам», уходит — к счастью не из Google, а только на другую должность. Предположительно, он переводится в Google X: сверхсекретное подразделение компании, подконтрольное Сергею Брину. Там работают над самыми сумасшедшими и самыми перспективными проектами, вроде робота-автомобиля.
Как хорошо пошутили коллеги, если из трубы гугловской штаб-квартиры валит чёрный дым, значит, компания убивает очередной неудавшийся проект — а дым, получается, вьётся почти без перерывов вот уже два года, с того момента как кресло CEO занял Ларри Пейдж (см. «Точка G глобальной сети»). Сменив Эрика Шмидта, Пейдж начал затягивать пояса и, в частности, приступил к жёсткой «прополке» экспериментальных начинаний. Как известно, сотрудники Google обязаны тратить пятую часть своего рабочего времени на собственные проекты. Теперь, однако, их фантазию ограничивают начальники — решающие, насколько та или иная задумка перспективна и совпадает с общей корпоративной стратегией. Всё лишнее безжалостно уничтожается. GReader очевидно пересекается функционалом с социальными сетями, а потому тоже идёт под нож — и вместе с ним ещё полдюжины других веб-сервисов. А всего с весны 2011 года (по собственным подсчётам Google) таким образом были репрессированы уже семьдесят сервисов и приложений.
Но неужели GReader требовал от компании больших расходов? Его и обновляли-то раз в два года! Разве великая Google не может позволить себе оставить на балансе хотя бы некоторые — наиболее полюбившиеся публике — проекты? Увы, ответ — нет. Пейдж с единомышленниками объясняют это так. Мы живём в эпоху великих перемен, вызванных появлением мобильных цифровых устройств. Ничего подобного по масштабам мир не видел уже лет сорок, с рождения персонального компьютера. И Google, естественно, старается не пропустить ничего, успеть везде, на каждом направлении. Однако даже у Google ресурсы не бесконечны, а потому здравый смысл требует концентрировать усилия лишь на нескольких самых перспективных идеях. Компания умеет это делать, достаточно вспомнить, что именно так, в результате широкого поиска и следующей за ним узкой концентрации, появились Gmail и Docs, News и Goggles, множество других сервисов. Нужно только поверить, что, отсеивая «неудачников», она всё ещё руководствуется принципом «don’t be evil». Не навредить.
Что ж, принесёт закрытие GReader больше вреда или пользы, вопрос спорный. Пока ничего кроме критики в адрес Google не слышно. Но авторы критических постов, статей, петиций упрямо не желают замечать, что с окончанием жизненного пути GReader для её конкурентов начнётся поистине новая жизнь. Feedly, NewsBlur и десятки менее известных агрегаторов, вынужденных сегодня существовать в тени гугловского RSS-гиганта (удобного, но такого инертного!), после исчезновения последнего расцветут. Им станет легче зарабатывать деньги, им будет интересней работать над новыми функциями. Так стоит ли жалеть?

http://surfingbird.ru/surf/cbrMbC021
 


 
Автор: Евгений Золотов 15 марта 2013

Когда в среду руководители Google ставили точку в истории одного из своих многочисленных веб-сервисов, едва ли они могли вообразить, какая реакция за этим последует. Согласно плану, 1 июля перестанет существовать RSS-читалка Google Reader — а волна недовольства уже сегодня буквально перехлёстывает через край: вслед за критическими публикациями в блогах и сетевых СМИ, появились сразу несколько петиций протеста — и под ними на сегодняшнее утро поставлены суммарно свыше ста тысяч подписей! Более чем странно, если учесть, что даже сама аббревиатура RSS нынче мало кому знакома. Но тем интересней попробовать добраться до причин — как раздражения публики, так и останова собственно сервиса.

Google Reader появился на свет в 2005 году и быстро стал стандартом де-факто в сегменте RSS-читалок. Хотите, называйте их агрегаторами, хотите фид-ридерами, сути это не меняет: когда вам нужно отслеживать состояние множества веб-ресурсов, такие программы оказываются чрезвычайно полезными. На каждом уважающем себя сайте есть файл в формате RSS, содержащий информацию о последних обновлениях, новых сообщениях на форуме и т.п. Агрегатор обходит любимые сайты пользователя, собирает RSS-файлы и превращает их в единый поток. Поглощать информацию в таком концентрированном виде выгодней по многим причинам, но в общем и целом можно сказать, что так просто быстрей: не мешает реклама, нет нужды шариться по сайтам в браузере, события легко рассортировать по темам.
Google Reader казался проектом на века, но продержался всего восемь лет. Как теперь мрачно шутят его поклонники, гугловскими продуктами не стоит увлекаться: скажем, легендарный Google Car тоже ведь могут остановить прямо на полном ходу.
Google Reader казался проектом на века, но продержался всего восемь лет. Как теперь мрачно шутят его поклонники, гугловскими продуктами не стоит увлекаться: скажем, легендарный Google Car тоже ведь могут остановить прямо на полном ходу.
Главная проблема RSS в том, что технология эта абсолютно чужда массам. Читателям Компьютерры поверить в это будет, пожалуй, трудно, но не верите — проверьте сами. Возьмите человека с улицы и попробуйте втолковать ему принцип действия и выгоды от применения RSS. В лучшем случае вы наткнётесь на непонимание, в худшем на три латинских буквы вам ответят тремя русскими.
Заставлять обывателя пользоваться RSS — всё равно что заставлять его же учиться скорочтению: забавно, да, но убивает удовольствие от потребления контента. Обывателю чужды страдания Роба Мальды (он же CmdrTaco, он же сооснователь Slashdot), среагировавшего на приговор GReader так: теперь каждую неделю Google будет недополучать как минимум десять часов моего времени! Обывателю лень, да и нет нужды стараться поглотить как можно больше килобайт за ограниченный отрезок времени. Когда же возникает потребность следить за интересностями, он «френдит» друзей и группы в любимой социальной сети. Ему невдомёк, что хаос в новостной ленте Фейсбука, В Контакте, да даже Google+ имеет очень мало общего со строго упорядоченным потоком информации, производимым любым RSS-ридером.
А ведь GReader был не любым! Спасибо ребятам из Google, это был мощный и очень гибкий продукт. Его облачный функционал (вся вычислительная работа и все данные выполнялись и хранились на серверах самой Google) делал лёгким слежение за сотнями источников с любого цифрового устройства, позволял хранить контент годами, превращая его в ценный архив. А открытый программный интерфейс, когда необходимо, превращал GReader в сервис-посредник для снабжения переваренным RSS-контентом других программ и сервисов. Всё это сформировало вокруг него большую лояльную аудиторию. Пользователи GReader тратили годы на сбор и настройку своих RSS-коллекций. Чего ж удивляться, что известие о скором закрытии их так расстроило?
Но и для Google, конечно, это не просто каприз. Во-первых, GReader был одним из ранних экспериментов компании в новой для неё теме социальных сетей. Сейчас уже мало кто помнит, но в GReader были функции, роднящие его с соцсетями: возможность отметить запись как понравившуюся или поделиться ею с друзьями. Со временем — и по причине моды на социальные сети, и по причине вышеназванной малопонятности RSS для обывателя — внимание Google переключилось на Google+. Популярность GReader поослабла — и разработчики решили закрыть проект. Потому что — и это причина номер два — Google хоть и любит агрессивно экспериментировать, неудавшиеся начинания прикрывает по возможности быстро (см. «Как выигрывать реже, но больше»).
Одновременно стало известно, что Энди Рубин, «отец» платформы Android и бессменный Главный по «зелёным человечкам», уходит — к счастью не из Google, а только на другую должность. Предположительно, он переводится в Google X: сверхсекретное подразделение компании, подконтрольное Сергею Брину. Там работают над самыми сумасшедшими и самыми перспективными проектами, вроде робота-автомобиля.
Одновременно стало известно, что Энди Рубин, «отец» платформы Android и бессменный Главный по «зелёным человечкам», уходит — к счастью не из Google, а только на другую должность. Предположительно, он переводится в Google X: сверхсекретное подразделение компании, подконтрольное Сергею Брину. Там работают над самыми сумасшедшими и самыми перспективными проектами, вроде робота-автомобиля.
Как хорошо пошутили коллеги, если из трубы гугловской штаб-квартиры валит чёрный дым, значит, компания убивает очередной неудавшийся проект — а дым, получается, вьётся почти без перерывов вот уже два года, с того момента как кресло CEO занял Ларри Пейдж (см. «Точка G глобальной сети»). Сменив Эрика Шмидта, Пейдж начал затягивать пояса и, в частности, приступил к жёсткой «прополке» экспериментальных начинаний. Как известно, сотрудники Google обязаны тратить пятую часть своего рабочего времени на собственные проекты. Теперь, однако, их фантазию ограничивают начальники — решающие, насколько та или иная задумка перспективна и совпадает с общей корпоративной стратегией. Всё лишнее безжалостно уничтожается. GReader очевидно пересекается функционалом с социальными сетями, а потому тоже идёт под нож — и вместе с ним ещё полдюжины других веб-сервисов. А всего с весны 2011 года (по собственным подсчётам Google) таким образом были репрессированы уже семьдесят сервисов и приложений.
Но неужели GReader требовал от компании больших расходов? Его и обновляли-то раз в два года! Разве великая Google не может позволить себе оставить на балансе хотя бы некоторые — наиболее полюбившиеся публике — проекты? Увы, ответ — нет. Пейдж с единомышленниками объясняют это так. Мы живём в эпоху великих перемен, вызванных появлением мобильных цифровых устройств. Ничего подобного по масштабам мир не видел уже лет сорок, с рождения персонального компьютера. И Google, естественно, старается не пропустить ничего, успеть везде, на каждом направлении. Однако даже у Google ресурсы не бесконечны, а потому здравый смысл требует концентрировать усилия лишь на нескольких самых перспективных идеях. Компания умеет это делать, достаточно вспомнить, что именно так, в результате широкого поиска и следующей за ним узкой концентрации, появились Gmail и Docs, News и Goggles, множество других сервисов. Нужно только поверить, что, отсеивая «неудачников», она всё ещё руководствуется принципом «don’t be evil». Не навредить.
Что ж, принесёт закрытие GReader больше вреда или пользы, вопрос спорный. Пока ничего кроме критики в адрес Google не слышно. Но авторы критических постов, статей, петиций упрямо не желают замечать, что с окончанием жизненного пути GReader для её конкурентов начнётся поистине новая жизнь. Feedly, NewsBlur и десятки менее известных агрегаторов, вынужденных сегодня существовать в тени гугловского RSS-гиганта (удобного, но такого инертного!), после исчезновения последнего расцветут. Им станет легче зарабатывать деньги, им будет интересней работать над новыми функциями. Так стоит ли жалеть?

http://surfingbird.ru/surf/cbrMbC021
 

вторник, 15 мая 2012 г.

Как подписаться на RSS-канал страницы Facebook

 http://cossa.ru/upload/iblock/0aa/big_1333489126teaser.jpg
Несмотря на то, что в Facebook появились списки интересов и при правильной организации подписок можно превратить ленту новостей в неплохой новостной агрегатор, все равно одним Facebook не обойтись. Есть же и другие сайты и блоги, а для экономии времени — -каналы плюс такой замечательный инструмент для чтения и организации , как . Куда же без него?
Вот если бы и Facebook можно бы было читать через Google Reader.
Так ведь можно и очень просто без каких-либо сторонних сервисов и приложений.

Понадобится выполнить последовательность всего из трех шагов.
1. Необходимо узнать идентификатор нужной нам фейсбук-страницы. Чаще всего страница имеет примерно следующий вид https://facebook.com/facetips. Чтобы узнать ее идентификатор, можно воспользоваться фейсбуковской утилиткой для разработчиков под названием Graph API Explorer.
 Вставив в поле ввода наше символьное имя facetips и нажав на кнопочку “отправить” получаем большое количество атрибутов и значений, из которых нас интересует только первый параметр под названием ID.

Вот это длинное число в кавычках нам и нужно.
2. Берем ссылочку
https://www.facebook.com/feeds/page.php?format=atom10&id =
и после знака равенства вставляем индентификатор страницы:
https://www.facebook.com/feeds/page.php?format=atom10&id=202507613116883
3. Полученную ссылку вставляем в любой привычный RSS-агрегатор, например в Google Reader.

Вот и все!
Теперь можно просматривать все RSS-ленты, как сайтов/блогов так и facebook-страниц в одном месте.
Конечно, есть некоторые нюансы, даже, я бы сказал, неудобства.
Во-первых, в RSS не подтягиваются комментарии пользователей. Во-вторых, отображаются только родные посты, опубликованные от имени страницы. Все что выкладывают пользователи в RSS-поток не попадает. В-третьих, не всегда так как надо отображается контент (несколько раз замечал, что не выводятся заголовки постов).
Но тем не менее — работает вполне себе сносно.
 http://cossa.ru/upload/iblock/0aa/big_1333489126teaser.jpg
Несмотря на то, что в Facebook появились списки интересов и при правильной организации подписок можно превратить ленту новостей в неплохой новостной агрегатор, все равно одним Facebook не обойтись. Есть же и другие сайты и блоги, а для экономии времени — -каналы плюс такой замечательный инструмент для чтения и организации , как . Куда же без него?
Вот если бы и Facebook можно бы было читать через Google Reader.
Так ведь можно и очень просто без каких-либо сторонних сервисов и приложений.

Понадобится выполнить последовательность всего из трех шагов.
1. Необходимо узнать идентификатор нужной нам фейсбук-страницы. Чаще всего страница имеет примерно следующий вид https://facebook.com/facetips. Чтобы узнать ее идентификатор, можно воспользоваться фейсбуковской утилиткой для разработчиков под названием Graph API Explorer.
 Вставив в поле ввода наше символьное имя facetips и нажав на кнопочку “отправить” получаем большое количество атрибутов и значений, из которых нас интересует только первый параметр под названием ID.

Вот это длинное число в кавычках нам и нужно.
2. Берем ссылочку
https://www.facebook.com/feeds/page.php?format=atom10&id =
и после знака равенства вставляем индентификатор страницы:
https://www.facebook.com/feeds/page.php?format=atom10&id=202507613116883
3. Полученную ссылку вставляем в любой привычный RSS-агрегатор, например в Google Reader.

Вот и все!
Теперь можно просматривать все RSS-ленты, как сайтов/блогов так и facebook-страниц в одном месте.
Конечно, есть некоторые нюансы, даже, я бы сказал, неудобства.
Во-первых, в RSS не подтягиваются комментарии пользователей. Во-вторых, отображаются только родные посты, опубликованные от имени страницы. Все что выкладывают пользователи в RSS-поток не попадает. В-третьих, не всегда так как надо отображается контент (несколько раз замечал, что не выводятся заголовки постов).
Но тем не менее — работает вполне себе сносно.

четверг, 1 декабря 2011 г.

Как сделать RSS канал на своём сайте

http://vitvirtual.com/i/rsscat.jpg
Совсем недавно меня заинтересовало как можно на своем собственном сайте сделать RSS канал. Поковырявшись по великим просторам интернеров я нашел пару мануалов и стандартов, которые помогли мне в этом.
Движок сайта у меня самописный, поэтому и RSS пришлось писать ручками. В большинстве готовых CMS, RSS канал уже встроен или встраивается как дополнение.
Но мы не ищем легких путей. Поэтому поехали.

Для начала я создал файл rss.php, который будет генерировать ленту новостей. Поскольку RSS является подмножеством XML, то и PHP файлом отдавать ленту как-тоне солидно, поэтому в файле .htaccess мы дали понять серверу, что наш файл должен работать как rss.xml. То есть, реально файл работает под именем rss.php, а вызывается под дополнительным псевдонимом rss.xml.
RewriteEngine on
RewriteRule ^rss.xml$ rss.php
Для того, чтобы у нас не только имя файла было XML, но и сервер отдавал его клиенту как XML файл, мы напишем в наш файл rss.php строчку волшебную.
header ('Content-type: application/xml');
Теперь наш RSS поток будет выглядеть точно, как XML файл.
Далее по пунктам опишем наш код.
echo ("\r\n\r\n");
echo ("<rss version=\"2.0\"
xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"
xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
xmlns:atom=\"http://www.w3.org/2005/Atom\"
xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"
xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\">
\r\n\r\n");
Объявляем и описываем стандарты XML. Нам это не интересно.
echo ("<channel>\r\n");
echo ("<title>www.freee.su - Коллекция бесплатного софта.</title>\r\n");
echo ("<link>" . _ADD_URL_ . "rss.xml</link>\r\n");
echo ("<description>Бесплатный софт - Коллекция бесплатного софта. Freee.Su. Свежие версии бесплатных программам. Freeware.</description>\r\n");
echo ("<copyright>© Freee.Su," . date ("Y") . "</copyright>\r\n");
echo ("<language>ru</language>\r\n\r\n");
echo ("<url>" ._ADD_URL_ . "img/logo.gif</url>\r\n");
echo ("<title>www.freee.su - Коллекция бесплатного софта.</title>\r\n");
echo ("<link>" ._ADD_URL_ . "rss.xml</link>\r\n");
echo ("</image>\r\n\r\n");
Всё что между тегами <channel> и <image> относится к названию Вашего будущего канала,
Тег <title> содержит заголовок Вашей RSS-рассылки. Он может повторять название сайта; <link> — ссылка на главную страницу Вашего сайта; <description> — краткое описание рассылки; <language> — язык; <copyright> — соответственно Ваши копирайты (»все права защищены» и тому подобное); <author> — автор, то есть Вы.
От <image> до </image> сведения о логотипе Вашего сайта: <url> — ссылка на логотип; <title> — альтернативный текст у логотипа; <link> — адрес страницы, на которую перейдёт получатель рассылки, щёлкнув по логотипу.
Предпочтительный размер логотипа 88*31 точку — как у стандартного счётчика, максимальный — 144*400. Тип файла картинки — GIF, JPEG или PNG. Этот логотип будет отображаться в читалке у получателей Вашей рассылки и им будет легче вспомнить, кому же она принадлежит.
Если у Вас пока нет логотипа такого размера — можете просто смело выкинуть весь блок от <image> до </image>, и добавить его потом, когда нарисуете такой логотип.

$news_query = mysql_query ("select news_id, subject, text, translit, added_by, date from news where `on` = 1 order by date desc limit "._NEWS_ON_PAGE_);
while (list ($news_id, $subject, $text, $news_translit, $added_by, $date)=mysql_fetch_row ($news_query))
{
$text = str_replace ("\n", "<br>", $text);
$date_link = date ("Y/m/d/", $date);
$date_string = date ('r', $date);


echo ("<item>\r\n");
echo ("<title>".$subject."</title>\r\n");
echo ("<link>"._ADD_URL_ . $date_link . $news_translit .".html</link>\r\n");
echo ("<description><![CDATA[".$text."]]></description>\r\n");
echo ("<pubDate>".$date_string."</pubDate>\r\n");
echo ("<guid isPermaLink=\"true\">"._ADD_URL_ . $date_link . $news_translit .".html</guid>\r\n");
echo ("<dc:creator>".$added_by."</dc:creator>\r\n");
echo ("</item>\r\n\r\n");
}
Далее, информация между тегами <item> и </item> — это и есть новости. Большинство тегов идентичны разобранным выше, с той разницей, что они относятся уже не ко всему каналу, а к конкретной новости: <title> — заголовок новости. Чем сочнее он будет, тем больше вероятность, что новость прочитают и по заголовку кликнут; <link> — ссылка на страницу, которую описывает новость; <description> — собственно, сама новость. Она должна убеждать, что её не зря прочитали, и ещё больше стимулировать нажать на ссылку; <guid> — идентификатор новости, нужный, чтобы отличить одну новость от другой. Сюда лучше всего записать тот же адрес, что и в теге <link>; <dc:creator> — автор новости, не обязательно. Все остальные теги можно не трогать.
И естественно, XML файл нужно закрыть закрывающими тегами.
echo ("</channel>\r\n");
echo ("</rss>\r\n");
Как видите, ничего сложного здесь нет. Дальше вам необходиом отладить скрипт и разместить его в корне или не в корне вашего сайта.
У меня в корне лежит файл rss.php, а вызывается он http://www.freee.su/rss.xml и http://www.freee.su/rss.php.
http://vitvirtual.com/i/rsscat.jpg
Совсем недавно меня заинтересовало как можно на своем собственном сайте сделать RSS канал. Поковырявшись по великим просторам интернеров я нашел пару мануалов и стандартов, которые помогли мне в этом.
Движок сайта у меня самописный, поэтому и RSS пришлось писать ручками. В большинстве готовых CMS, RSS канал уже встроен или встраивается как дополнение.
Но мы не ищем легких путей. Поэтому поехали.

Для начала я создал файл rss.php, который будет генерировать ленту новостей. Поскольку RSS является подмножеством XML, то и PHP файлом отдавать ленту как-тоне солидно, поэтому в файле .htaccess мы дали понять серверу, что наш файл должен работать как rss.xml. То есть, реально файл работает под именем rss.php, а вызывается под дополнительным псевдонимом rss.xml.
RewriteEngine on
RewriteRule ^rss.xml$ rss.php
Для того, чтобы у нас не только имя файла было XML, но и сервер отдавал его клиенту как XML файл, мы напишем в наш файл rss.php строчку волшебную.
header ('Content-type: application/xml');
Теперь наш RSS поток будет выглядеть точно, как XML файл.
Далее по пунктам опишем наш код.
echo ("\r\n\r\n");
echo ("<rss version=\"2.0\"
xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"
xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
xmlns:atom=\"http://www.w3.org/2005/Atom\"
xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"
xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\">
\r\n\r\n");
Объявляем и описываем стандарты XML. Нам это не интересно.
echo ("<channel>\r\n");
echo ("<title>www.freee.su - Коллекция бесплатного софта.</title>\r\n");
echo ("<link>" . _ADD_URL_ . "rss.xml</link>\r\n");
echo ("<description>Бесплатный софт - Коллекция бесплатного софта. Freee.Su. Свежие версии бесплатных программам. Freeware.</description>\r\n");
echo ("<copyright>© Freee.Su," . date ("Y") . "</copyright>\r\n");
echo ("<language>ru</language>\r\n\r\n");
echo ("<url>" ._ADD_URL_ . "img/logo.gif</url>\r\n");
echo ("<title>www.freee.su - Коллекция бесплатного софта.</title>\r\n");
echo ("<link>" ._ADD_URL_ . "rss.xml</link>\r\n");
echo ("</image>\r\n\r\n");
Всё что между тегами <channel> и <image> относится к названию Вашего будущего канала,
Тег <title> содержит заголовок Вашей RSS-рассылки. Он может повторять название сайта; <link> — ссылка на главную страницу Вашего сайта; <description> — краткое описание рассылки; <language> — язык; <copyright> — соответственно Ваши копирайты (»все права защищены» и тому подобное); <author> — автор, то есть Вы.
От <image> до </image> сведения о логотипе Вашего сайта: <url> — ссылка на логотип; <title> — альтернативный текст у логотипа; <link> — адрес страницы, на которую перейдёт получатель рассылки, щёлкнув по логотипу.
Предпочтительный размер логотипа 88*31 точку — как у стандартного счётчика, максимальный — 144*400. Тип файла картинки — GIF, JPEG или PNG. Этот логотип будет отображаться в читалке у получателей Вашей рассылки и им будет легче вспомнить, кому же она принадлежит.
Если у Вас пока нет логотипа такого размера — можете просто смело выкинуть весь блок от <image> до </image>, и добавить его потом, когда нарисуете такой логотип.

$news_query = mysql_query ("select news_id, subject, text, translit, added_by, date from news where `on` = 1 order by date desc limit "._NEWS_ON_PAGE_);
while (list ($news_id, $subject, $text, $news_translit, $added_by, $date)=mysql_fetch_row ($news_query))
{
$text = str_replace ("\n", "<br>", $text);
$date_link = date ("Y/m/d/", $date);
$date_string = date ('r', $date);


echo ("<item>\r\n");
echo ("<title>".$subject."</title>\r\n");
echo ("<link>"._ADD_URL_ . $date_link . $news_translit .".html</link>\r\n");
echo ("<description><![CDATA[".$text."]]></description>\r\n");
echo ("<pubDate>".$date_string."</pubDate>\r\n");
echo ("<guid isPermaLink=\"true\">"._ADD_URL_ . $date_link . $news_translit .".html</guid>\r\n");
echo ("<dc:creator>".$added_by."</dc:creator>\r\n");
echo ("</item>\r\n\r\n");
}
Далее, информация между тегами <item> и </item> — это и есть новости. Большинство тегов идентичны разобранным выше, с той разницей, что они относятся уже не ко всему каналу, а к конкретной новости: <title> — заголовок новости. Чем сочнее он будет, тем больше вероятность, что новость прочитают и по заголовку кликнут; <link> — ссылка на страницу, которую описывает новость; <description> — собственно, сама новость. Она должна убеждать, что её не зря прочитали, и ещё больше стимулировать нажать на ссылку; <guid> — идентификатор новости, нужный, чтобы отличить одну новость от другой. Сюда лучше всего записать тот же адрес, что и в теге <link>; <dc:creator> — автор новости, не обязательно. Все остальные теги можно не трогать.
И естественно, XML файл нужно закрыть закрывающими тегами.
echo ("</channel>\r\n");
echo ("</rss>\r\n");
Как видите, ничего сложного здесь нет. Дальше вам необходиом отладить скрипт и разместить его в корне или не в корне вашего сайта.
У меня в корне лежит файл rss.php, а вызывается он http://www.freee.su/rss.xml и http://www.freee.su/rss.php.

Последние комментарии

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
blogger