Как отдать RSS сайта?

Главные вкладки

Аватар пользователя Fix Fix 8 октября 2005 в 20:37

У меня возникло желание создать RSS для сайта. Я включил модуль RSS Aggregator, включил блок Syndicate, там появилась кнопочка xml, нажав на которую я вроде бы вижу то, что мне нужно.

Однако.. При попытке добавить RSS поток в Яндекс-ленту, я получаю сообщение, что по указанному адресу нет RSS потока. Только что проделал тот же фокус с ссылкой на RSS drupal.ru и Яндекс подключил ее без проблем. Что же не так с моим сайтом?

Наиболее вероятное у меня предположение - запрет доступа к данным для незарегистрированных пользователей. Если я тыцну на кнопочку xml, будучи отлогиненным от сайта, то увижу страницу, которую видят все незарегистрированные пользователи - Доступ запрещен. Если мое предположение верно, то смогут ли как-то пользователи добавить себе в ленту RSS поток, используя свои регистрационные данные или же для закрытой модели сайта это вообще невозможно?

Комментарии

Аватар пользователя rezus rezus 9 октября 2005 в 20:56

Погодите, так XML создается движком автоматом, без включения каких-либо модулей. Вам нужно отдавать RSS своего сайта или показывать на своём сайте чужой контент? Если первое - то ничего включать не нужно. При отображении каждой таксономии, внизу, есть оранжевая ссылочка - это линк на XML данной таксономии. А модуль "RSS Aggregator" - это кажется для того, чтобы на своём сайте показывать чужие RSS-ленты.

Аватар пользователя Fix Fix 10 октября 2005 в 10:48

Да, меня интересует отдавать RSS своего сайта. Однако, пока я не включил RSS aggregator, эта кнопочка xml не появлялась, хотя изредка, на каких-то страницах мелькала..

Итак, вопрос остается открытым..

Аватар пользователя rezus rezus 10 октября 2005 в 11:36

Говорю же вам, что этот модуль не для этого. Если не верите мне, почитайте здесь: http://drupal.org/handbook/modules/aggregator

The news aggregator is a powerful on-site RSS syndicator/news reader that can gather fresh content from news sites and weblogs around the web.

На всех страницах, которые имеют адрес вида "taxonomy/term/xxx" внизу есть ссылка на XML-файл с RSS-потоком данной таксономии. На главной такой ссылки нет, потому что там обычно собраны данные из разных таксономий. Такие ссылки имеются на сайте без включения каких-либо дополнительных модулей - возможность зашита в движок.

Я адаптировал друпаловские RSS-ки для экспорта новостей в Яндекс, поэтому знаю о чём говорю.

Аватар пользователя Fix Fix 10 октября 2005 в 11:53

Ну хорошо, пусть так Smile Я знаю, что аггрегатор нужен для подключения RSS других сайтов.. Вопрос, который меня инетересует на самом деле ведь не в этом. Я хочу знать, как мне выдать RSS своего сайта? Возможно ли это сделать для зарегистрированных пользователей, если контент сайта доступен только им?

Аватар пользователя rezus rezus 10 октября 2005 в 17:08

Могу только гадать - в моей ситуации весь контент был доступен гостям. Думаю, что в XML-ках присутствуют только те ноды, которые доступны гостям. Иначе нелогично получается. RSS - это открытый формат для отображения данных с разных сайтов у себя на ресурсе (это один из вариантов применения), поэтому в XML было бы логично вставлять только то, что доступно всем гостям. Попробуйте создать в одной и той-же таксономии несколько нод - пару штук открытых и пару штук закрытых. А затем посмотрите в XML в режиме пользователя и режиме гостя.

Аватар пользователя Fix Fix 10 октября 2005 в 17:18

Так я ж писал в самом начале, что если тыцну на xml в режиме гостя, получаю страницу "Доступ запрещен" Smile

Опять же повторю вопрос - можно ли как-то зареганым пользователям RSS отдавать? Например, в урле для RSS каким-нить способом передавать логин-пароль юзера? Сдается мне, что сильно вряд ли..

В общем, спасибо за ответы Smile

Аватар пользователя rezus rezus 10 октября 2005 в 17:49

Ну да, я тоже так думаю Smile RSS-это просто стандарт, описывающий формат экспортного файла. Врядли в нём предусмотрена авторизация и пр.

Аватар пользователя Fix Fix 10 октября 2005 в 18:19

Я подразумевал, что движок сайта мог бы по динамическому урлу, в котором указаны регистрационные данные пользователя, возвращать нужный RSS-документ. Однако думаю, такое извращение вряд ли имеет место быть Smile

Аватар пользователя PG PG 11 октября 2005 в 23:24

Ты хочешь выдать RSS всего, что показывается на главной странице? Это делается через URL /rss.xml
.
А для конкретных тематик, лента выдается через URL /taxonomy/term/НОМЕР_ТЕРМА/0/feed
.
То и другое можно увидеть через кнопочки внизу сайта и внизу соответствующих новостных лент. Другое дело, что не надо пользоваться разными криво написанными модулями вроде taxonomy_menu, потому как они эту стройную систему игнорируют напрочь и URL формируют свой, в результате чего кнопочка внизу новостной ленты не обнаруживается.
.
А в чем суть твоей проблемы, ты можешь внятно объяснить?

Аватар пользователя Fix Fix 12 октября 2005 в 11:17

Вообще, в идеале, я хочу, чтобы пользователи могли узнавать о ЛЮБОМ добавлении материала, не заходя на сайт. Для этого я безуспешно пытался заюзать модуль Notify (4.6)- не шлет. Кого ни спрашивал, никто не знает почему.

В итоге я решил прицепить хотя бы возможность читать новые сообщения через RSS. Как я понял, я смогу выдать только содержимое какой-то конкретной страницы, например главной.

Пытался добавить в Яндекс-ленту (для проверки) RSS своего сайта - указывал урл сайта, указывал непосредственно RSS-url - результат один - 'на указанном сайте нет RSS-потока'.

Весьма вероятно дело в том, что весь контент сайта у меня закрыт. Если я запущу RSS-url, будучи залогиненым, я увижу нормальный RSS-форматированный контент. Если же я отлогинен, получу страницу "Доступ запрещен". Вопрос в том, могу ли я в данных условиях все же как-то отдать RSS зарегистрированным пользователям? Или проблема все же не в этом?

taxonomy_menu я вроде не пользую или же не знаю об этом Smile

Аватар пользователя PG PG 12 октября 2005 в 16:40

Quote:
В итоге я решил прицепить хотя бы возможность читать новые сообщения через RSS. Как я понял, я смогу выдать только содержимое какой-то конкретной страницы, например главной.
Выдать можно либо сообщения главной страницы, либо оглавление любой ленты. Что характерно, через URL можно вручную сформировать ленту, состоящую из суммы или из пересечения любых новостных лент сайта, внизу такой ленты будет кнопочка RSS, соответствующая ей.
.
Проверял на связке Denwer + Miranda LEM - RSS отлично передается.
.
Quote:
Вопрос в том, могу ли я в данных условиях все же как-то отдать RSS зарегистрированным пользователям?

Вот это не проверял. Но вообще, Miranda LEM имеет возможность принимать и запароленные RSS-ленты.

Аватар пользователя Fix Fix 7 октября 2006 в 17:02

Странно как-то получилось. Один из пользователей моего сайта сообщил, что он довно и успешно читает RSS c моего сайта в своей Опере. При том что сайт все также запаролен и я был уверен, что такое невозможно. Натравил на сайт свой Omea Reader и вуаля -- я тоже читаю RSS. С одной стороны здорово -- я этого хотел. А с другой стороны, это получается дырка. Без аутентификации просто так доступа нет, а через RSS может прочитать любой.

А как можно экспортить в RSS и комменты? Я видел такую возможность в некоторых лентах -- очень удобная штука.

Аватар пользователя Fix Fix 7 октября 2006 в 19:24

Поставил себе этот модуль.
Неприятно, что OmeaReader не обнаружил никаких дополнительных точек входа RSS и по умолчанию пришил себе стандартный /node/feed. А с комментами выдается по адресу /crss. Можно ли где-то что-то прописать, чтобы у пользователя был выбор, с комментами или без? На некоторых сайтах Omea находил до 4-х RSS-потоков (напр, RSS2.0/ Atom/ RSS2.0 с рекламой, Atom с рекламой)
Второе неприятно, что комменты выдаются, как автономные сообщения. Т.е. в ридере я вижу это все в сплошном потоке в порядке поступления. Фразы совершенно оторваны от контекста. Видел я RSS c одного сайта (на WordPress), так с Omea под каждым топиком показывает "+", при нажатии на который скачиваются комменты к этому топику и показываются дочерней веткой под этим топиком. Удобно! Как бы так сделать? Smile

Аватар пользователя B.X B.X 7 октября 2006 в 22:42

в том-то и дело, что я не против rss, но пользоваться им невозможно в Друпале потому, что он никак не настраивается...
...
я его поэтому отключил... если кто создаст нормальный модуль rss для Друпала, с удовольствием себе его поставлю...