Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

RSS Feed

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
RomovNet
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение RomovNet »

Во первых хочу поздравить с (надеюсь) качественной работой.

Я за эти выходные я дописал оригинальный RSS приблизительно до такого же уровня, как и твой. Не было authentication и ETag, а вот оптимизацию я реализовал подобным образом, в том числе и ключ на базе данных (разбирались почему query отрабатывает восемь секунд - сперва думали оптимизить под mysql4, а потом решили всё-таки тряхнуть стариной и посмотреть на ключи-индексы).

Писал под свои нужды, посему никаких конфигов там не было.

У меня уже был RSS 1.0 и нас интересовал оффлайн экспорт конкретных форумов для оффлайн чтения. После теста кучи ридеров (его запостю позже) было решено остановится на RSSBandit (который начал тормозить после тысяч itemов) и SharpReader, в котором хоть и нет газеты, зато он очень шустр и поддерживает все необходимые фичи.

Вчера наткнулся на твою реализацию и перенёс свой template под неё. Не было причин тратить время на свою - лучше поделюсь инфой:





Сегодня я проведу анализ <b>фидридеров</b> под Win32. Тестируются RSS 2.0 фиды. Я сделал модули для форума phpBB и старого phpNuke . Если для phpNuke задача была - экспортировать все данные в человеческий формат один раз, то с phpBB - постоянное выплёвывание полных данных. Модуль пока базируется на старом тормознутом скрипте, который из-за мощного SQL запроса подвешивает мой комп на пол секунды. Время исполнение того самого query - 7 секунд. Есть две возможности это дело прооптимизировать - переход на фичи MySQL4 или оптимизация на уровне ключей и индексов таблиц.

Спеки RSS 2.0 можно почитать <a href="http://feedvalidator.org/docs/rss2.html">здесь</a>.

Зачем форуму RSS? Модераторы и администраторы, да и фанаты форума всегда смогут быть в курсе всех постов или отдельных разделов. RSS2.0 для этого подходит довольно достойно, однако невозможность построения древовидных структур в данном случае - зло.

В этом исследовании я буду искать идеальную читалку (ещё лучше - аггрегатор) с полной реализацией RSS2.0 спецификации. Она должна каким-то боком поддерживать древовидную структуру форума, а так же иметь мощнейший сортинг и поиск с фильтрами.

За время исследований от моих рук пострадали три десятка читалок. Собственные фиды претерпели немалые изменения.

Вот выписка некоторых гайдлайнов, которые были поняты и собраны за всё время:
0) Молитесь на ETag и If-Modified-Since/Last-Modified.
1) Генерить RSS нужно статически. Если это форум, то интервал нужно подстраивать под себя. У меня это будет делаться раз в 10 минут.
Если это блог или сайт, то апдейт должен происходить после операции с новостями и/или комментариями. К сожалению популярнейшие блоги на данный момент полностью динамичны и о кешировании ничего не знают.
2) Если ваш комьюнити технически не продвинут и не желает уходить с убогочиталок, вам придётся отказаться от category и author, а возможно и comments. Засуньте всё это внутрь description.
3) enclosures - добро, однако их поддерживают считанные единицы ридеров. Этот аргумент может быть очень весомым в случаях с аттачами.
4) Всегда держите упрощённую RSS 0.9x версию фида.
5) В RSS 2.0 в отличии от RSS 0.9x СТОИТ использовать CDATA. Но его надо использовать с умом.
6) textInput не поддерживается ни одной основной читалкой
7) image в некоторых читалках раздражает. он может быть не в хеадере, а внутри каждого поста причём с кучей переносов строк. Из-за него не будет виден контент без скроллинга.
8) Даты должны генериться в верной временной зоне, ибо правильные читалки адаптируют время под вас.

В моём RSS 2.0 фиде на момент тестирования отсутствовали:
<b>основные элементы channel</b>
pubDate - реализован только lastBuildDate
category - просто прописан "Forum". требуется каталогизация по Syndic8.
docs & cloud - отсутствуют
image - отсутствует
skipHours & skipDays - форум работает круглосуточно, скипов нет

<b>элементы item</b>
enclosure - пока не реализован
source - не имеет смысла на форуме


Все остальные RSS 2.0 фичи реализованы, валидатор ругается только на отсутствие мыла у каждого автора, но мне на это плевать. За почти десяток лет работы с вэбом я понял, где стоит читать спеки как спеки, где реки как спеки и где спеки как реки.


Особенности реализации.
Пока всё что можно суётся в CDATA. Естественно, для оптимизации в коротких полях аля author, требуется смотреть - присутствуют ли определённые символы или нет.

В phpNuke экспортном фиде даты были не в RFC-822 формате, а в ATOMе, посему RSSOwl отказывался показывать контент фида, а Abilon чего-то чудил. Пришлось исправить.


Перейдём к обзору читалок.

<b>RSSReader 1.0.91.0 beta</b>
Поддержка category отсутствует.
Каждый раз при смене опций просмотра перегружает картинки (вроде форумных смайликов) с сервера из-за регенерации страницы для IE. Отключаем парсинг смайликов в фиде.
Отсутствует форс рефреша.
Приемущества ридера - realtime keyword search. Фильтрует по мере набирания.
<i>Вылетает.</i>


<b>Abilon News Aggregator 2.5.3 build 196</b>
Первым отреагировал на дату (голый GMT без смещения) и сконвертил время. Фиксим gmdate.
Как я не мучался, он не стал показывать ни автора (пробовал убрать CDATA и сделать full-formed author вроде a@b.com (nick)), ни категорию.
Очевидно читалка написана русскими, посему английский язык интерфейса максимально коряв.
Поиск реализован немного заморочено - через субменю.
Приемущества - неочивидная поддержка оффлайн файлов, интеграция постинга в блоги и поддержка стилей, позволяющая полностью отображать стиль форума. Поддержка разных сервисов.
<i>Вылетает.</i>

<b>Opera 8</b>
Новая версия броузера - глюкало ещё то (на четырёх разных компах). Вылетел при интенсивном нажатии клавиш NEW/DELETE/EDIT в режиме редактирования списка фидов. Frustrating.
На мёртвые фиды реагирует погано, после edit дуплицирует что-то в списке. В общем - глюков хватает.
Однако...
Категорий нет. Общей ленты (режим газеты) - нет. Поиск оригинален, можно создавать фильтры. ИМХО в какой-то седьмой версии глючная реализация поверх M2 работала даже лучше.
Были надежды на поддержку textInput, однако здесь присутствует только возможность отсылки комментария на email из поля author (через встроенный клиент).
Форсирование апдейта отсутствует.
<i>Вылетает.</i>

<b>FeedReader 2.90</b>
Старичок. По дефалту ставит кучу фидов, которые нельзя удалить одним махом. Шорткатов для удаления фолдеров нет, а сами фиды не всегда удаляются по CTRL+DEL.
Слёту не стал поддерживать русский нигде, кроме имени фида.
В моём фиде откуда-то оказался кусок чужого стёртого фида.
Не показывает author, зато показывает keyword!
Насколько я помню, этот ридер ещё 2 года назад очень сильно leakал память.
<i>Вылетает.</i>

<b>SharpReader</b>
Грузился секунд 30 и сразу натянул мне каких-то новостей из 5 фидов. В таскбаре не появился, но потребовал стать дефалтной читалкой. Потом грузился с пол пинка.
Поддерживает цивильный парсинг HTTP error.
Толком показал author & subject (keyword).
Search почему-то послал на Feedster. Оказывается надо активировать Filter. Грамотно сделан.
Ленты нет.
Муля: быстрый просмотр фида без подписки.
Диагноз: мило и супер минималистично. Обладает большинством необходимых фич.
Поддерживает CommentAPI...
Требует .NET 1.1.
<i>Выходит в финал.</i>

<b>JetBrains Omea Reader 1.0.4</b>
Тяжёлый и неповоротливый. Пока бесплатный. Начал ругаться о конфликте билда 3xx и 4xx. Subscribe to feed запрятан и является секретной фичей.
Поддерживает конфигурацию количества колонок (все фичи RSS 2.00).
Хорош, но очень тяжёл, перегружен и вовсю leakает.
<i>Вылетает.</i>

<b>RSS Bandit</b>
<u>Всё что надо. ОЧЕНЬ МЕДЛЕННЫЙ.</u>
Выходит в финал.

<b>Sauce Reader</b>
Super slow. Хорош, но поле category отсутствует.
<i>Вылетает.</i>

<b>RSS Owl</b>
Ничего особенного. Ничего нужного не конфигурируется.
<i>Вылетает.</i>

<b>Newz Crawler</b>
Платный, но по всей видимости рулит.
Поиск И фильтр, все колонки (и author, и category).
Приличный блоггер, немного некорректно понимающий переводы строк вместо <br />.
<i>Выходит в финал.</i>

<b>MyNewsToGo</b>
Слишком казуальный и прилизаный, но обладает всеми фичами. <b>Платный.</b>
<i>Стоит попробовать ламерам, любящим софт с рюшечками.</i>

Краткая mass выписка. Ставил, импортил, first impression miniviews:
<b>Awasu</b> - overbloated sucking shit, <b>Aggie</b> - weird crap, <b>BlogExpress</b> - can't parse, <b>Bottom Feeder</b> - no russian, <b>Custom Reader</b> - no russian, <b>CITA</b> - overbloated & looks like win 3.11, <b>Net Newz</b> - weird tray boring no russian, Lektora - weird browser shit, <b>Folio Furst</b> - uberhuge annoyinh instacrash, <b>Nutshell</b> - VB crap, <b>Pluck</b> - IE weirdo shit (CNET choice), <b>Vox Lite</b> - shit except enclosure support, <b>NewsDesk</b> lacks features, <b>NewzSpider</b> - empty shit, NewsAnts - chinese sux, Newzie - interesting HEAVY news center.



После всех тестирований остался RSSBandit, обладающий исчерпывающими фичами, да SharpReader, не тормозящий в отличии от монстра-бандита.

NewzCrawler некорректно реагирует на смену description поста и дуплицирует item...
http://Romov.Net
Russian Emulation Resource
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда
Контактная информация:

Сообщение Егор Наклоняев »

RomovNet
Спасибо за исчерпывающий анализ RSS агрегаторов. Практически всё это я тестировал, только руки не дошли написать.
В основном, согласен. Дома у меня зарегистрированный NewzCrawler, на работе Abilon. Пользовал Omea Reader - отказался... Зело тормозная штукенция, да и глючит с каналами...
<b>Abilon News Aggregator 2.5.3 build 196</b>
Первым отреагировал на дату (голый GMT без смещения) и сконвертил время. Фиксим gmdate.
Как я не мучался, он не стал показывать ни автора (пробовал убрать CDATA и сделать full-formed author вроде a@b.com (nick)), ни категорию.
Показывает и дату и категорию в пространстве имён Dublin Core Metadata, о чём я и пытался сказать на ломаном аглицком.
Что же касается времени, то оное для него и его братца АктивРефреша фиксится у меня автоматом.

Кстати. RSS Bandit нормально работает с моей лентой. Также поддерживая Dublin Core.

Мысль отключать img канала достаточно интересна. Сделаю. Я и забыл, что на разных особо продвинутых агрегаторах оно впихивается куда не следует.

CommonAPI посмотрел. Несложно, сделаю. Сокорее всего, только для зарегистрированных.
Один затык: требует установленной функции iconv, ибо данные передаются в utf-8. Для полноты ощущений RSS бандит не использует заголовок <?xml..., а передаёт кодировку в HTTP заголовке charset
Пока поигрался с CommonAPI заглушкой из NewzCrawler и RSSBandit.
Один передаёт в CDATA, другой encoded HTML. В общем, бардак-с.

Теперь, что касается количества комментариев, то они делаются на шаблоне элементарно без дополнительных шаманских ритуалов:
Замена на

Код: Выделить всё

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/" 
xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
и добавление перед </item>

Код: Выделить всё

<slash:comments>{post_item.TOPIC_REPLIES}</slash:comments>
Проверил. RSSBandit распознал и показал. Остальные агрегаторы чихали на это.

Добавлено спустя 1 минуту 11 секунд:
RomovNet писал(а):NewzCrawler некорректно реагирует на смену description поста и дуплицирует item...
Ни в коей мере! Если использовать guid, как это рекомендуют лучшие собаководы

Добавлено спустя 6 минут 50 секунд:
RomovNet писал(а):Генерить RSS нужно статически. Если это форум, то интервал нужно подстраивать под себя. У меня это будет делаться раз в 10 минут.
Если это блог или сайт, то апдейт должен происходить после операции с новостями и/или комментариями. К сожалению популярнейшие блоги на данный момент полностью динамичны и о кешировании ничего не знают.
Дык, бидэ в том, что в форуме есть и закрытые ленты новостей.
В общем случае у меня и так может генериться кэш-лента, это предусмотрено, время настраивается в конфигурации, однако для закрытых форумов это нарушение принципов безопасности.
Для сайта у меня статический RSS
Что же касается блогов, то они не только о кэшировании ничего не знают, но и о HTTP заголовках. Например, LiveJournal.
RomovNet
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение RomovNet »

Со всем согласен, больше времени разбираться с такими мелочами пока нет...

У меня slash:comments уже реализованы со вчерашнего дня, SharpReader их тоже показывает.

Добавлено спустя 23 минуты 5 секунд:

Если у кого-то будет время, сделайте таблицу совместимости RSS readerов подобную исследованиям эмуляторов handheldов от Линкса:

http://forum.romov.net/viewtopic.php?t=13767
(третий пост)

Я думаю, что следующим шагом после различных конфигураций RSS 1.0/RSS 2.0 в плагине, будет создание полноценного оффлайн клиента для форума на базе ATOM.

Много об этом думал, но времени никогда не хватает.
http://Romov.Net
Russian Emulation Resource
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда
Контактная информация:

Сообщение Егор Наклоняев »

RomovNet писал(а):Я думаю, что следующим шагом после различных конфигураций RSS 1.0/RSS 2.0 в плагине, будет создание полноценного оффлайн клиента для форума на базе ATOM
Мысль интересная, хотелось бы только
1) Разобраться, какие агрегаторы это понимают
2) Нормальную документацию по API

Сейчас делаю CommonAPI - уже проверил третий агрегатор, и каждый шлет данные по-своему. Гы.
RomovNet писал(а):Если у кого-то будет время, сделайте таблицу совместимости RSS readerов подобную исследованиям эмуляторов handheldов от Линкса:
Даже место есть: http://code.naklon.info/RssAgregators
Критерии надо добавить, естественно, а так можно начинать творить.
RomovNet
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение RomovNet »

Параметры:

Совместимость со стандартами:
RSS0.9x + extensions (Dublin)
RSS2 (category/author) + extensions (CommentAPI, slash, related)
ATOM
OPML

Уважение ETag, LastModified и ttl.

Хотя, видимо, стоит все extensions вынести из стандартов, поскольку оба формата могут расширяться.

0) Корректный рендеринг всех полей item. Список неподдерживаемых основных элементов.
1) Offline file import (native/hack)
2) Broken feed support. Как мы помним, abilon вообще что-то не хочет показывать.
1) Columns enable/disable, order. В некоторых по дефалту редкие поля отключены.
2) Advanced Filters/Search. В RSSBandit конечно самые богатые возможности.
3) Tree building - related, autobuilding based on common links (sharpreader!)
4) Performance - loading time, parsing time, search filters. 10000 posts выдернуть из форума разом и по отдельности (по 2000 из разных разделов). Leak factor (агрегация новостей с разными интервалами - оставить на работе на выходных).
5) Newspaper. Газета и просто вывод выбраных фидов в виде ленты. В некоторых реализован только поочерёдный вывод ФИДов - т.е. сперва показаны все записи из одного фида целиком, потом из другого. В других всё вперемежку, аля ПЛАНЕТА (http://planet.mozilla.org). В каких-то дико бесит, что при выборе любого фида, он начинает строить его газету! В NewzCrawler показывается просто его инфа из headerа, а в других - построение 10000 записей в газету из архива. БЕСИТ и никак не отключить.
6) Возможность мануального рефреша фида
7) Изменение URLа фида без пересоздания и потери инфы.
8) Возможность переноса архива фидов с компа на комп.
9) Поддержка enclosures. Очень интересный, непочатый край.
10) Временные зоны.
11) Реализация image.
12) Дефалтные установки agent - уровень exposure (показывает ли вообще своё имя или нагло прикидывается IE?)
13) Изврат вроде cloud, textInput
14) Расширения - блоггер, плагины.
15) Обработка ошибок.
16) Удобства интерфейса - явные шорткаты для рефреша, добавления и удаления. Явные кнопки на фейсе интерфейса (пример - OMEA, где добавление фида = секретная фича внизу какой-то закладки).
17) Возможность стать дефалтным клиентом и автодетектить присутствие фида например в IE (буэ, но надо же как-то массам помогать).
18) Дефалтный уровень назойливости - предустановленные фиды.
19) Папки

x) Поддержка русского - поля, интерфейс.
x) Технология - .NET, Java, VB и т.п.


Попрошу не забыть замолвить словечко за идею ;)


Готов к любым обсуждениям, могу что-то скодить или экспортить с пары русских форумов по 100-150 тысяч постов (идут с эры первого phpBB). Если вдруг потеряюсь - моё мыло = мой ник на gmail.
http://Romov.Net
Russian Emulation Resource
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда
Контактная информация:

Сообщение Егор Наклоняев »

RomovNet писал(а):Попрошу не забыть замолвить словечко за идею
Идея хорошая, загнал я шаблон Ваш на страницу, буду неспеша заполнять.
На данный момент меня заинтересовала Ваша мысль по поддержке средств публикации Atom.
Кто сиё поддерживает? Что должно посылаться-отвечаться?
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев
Контактная информация:

Сообщение Jovani »

Егор Наклоняев

На форуме dklab - http://forum.dklab.ru/last.rss после добавления колонки в Abilon-е, отображается иконка. Как в этом моде прикрутить?
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда
Контактная информация:

Сообщение Егор Наклоняев »

Jovani

Элементарно. Сделайте у себя на сайте favicon.ico и поместите его в кореневой каталог сайта.
Иконка также рисуется и здесь, и у меня.
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 19 лет 11 месяцев
Контактная информация:

Сообщение Jovani »

Сделайте у себя на сайте favicon.ico и поместите его в кореневой каталог сайта
Понятно. Вообще-то я так пробовал, не получилось :(
Наверно на сервере, выключена опция ...
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда
Контактная информация:

Сообщение Егор Наклоняев »

Jovani
Опция тут не причём. Это глюк Абилона
1. Добавьте канал по новой
2. Выйдите из абилона
3. зайдите обратно
Должно появиться. Иконка должна быть 16х16 в 16 цветов
imasmoker
phpBB 1.4.1
Сообщения: 48
Стаж: 18 лет 10 месяцев

Сообщение imasmoker »

было бы просто здорово если в моде можно сделать так же, не сочтите за рекламу, как на forum.ru-board.com у них RSS прям сверху в строке адресса справа, очень удобно и не мешает
Последний раз редактировалось imasmoker 12.06.2005 3:52, всего редактировалось 1 раз.
phpBB 2.0.19
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Стаж: 19 лет 11 месяцев
Откуда: Estonia, Tallinn
Контактная информация:

Сообщение Vladson »

imasmoker писал(а):как на forum.ru-board.com
Да не только там, это стандарт можно сказать (в Опере в строке адреса, в Мозилле внизу в строке состояния, и во многих других браузерах во многих местах)
Это делается добавлением строки
<link href="rss.php" rel="alternate" type="application/rss+xml" title="Лента RSS" />
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
imasmoker
phpBB 1.4.1
Сообщения: 48
Стаж: 18 лет 10 месяцев

Сообщение imasmoker »

кляссно ;) работает !
а для IE6.0 всё таки придётся линку шлёпнуть :\
жаль что не у всех Опера да Мозилкин
phpBB 2.0.19
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Стаж: 19 лет 11 месяцев
Откуда: Estonia, Tallinn
Контактная информация:

Сообщение Vladson »

Для особо умных (это не всем просто тут и супер умные попадаются) поясняю, эта строка добавляется в "шапку" между тегами <head> и </head>
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Аватара пользователя
Гога
phpBB 2.0.0
Сообщения: 220
Стаж: 18 лет 11 месяцев
Откуда: Архангельск
Контактная информация:

Сообщение Гога »

RomovNet писал(а):Перейдём к обзору читалок.
Akregator из KDE не вызывает никаких нареканий. Может я других читалок не видел? А вообще, уверен, что не стоит подгонять "сервер" под "клиента". Не работает в IE? -- Его проблема (если, конечно, всё сделано по спецификациям)
Гугл рулит. Я люблю ЛОР.
Интересно, они пришли с миром или им таки нужен наш моск?
Знания принадлежат всему человечеству.
Закрыто

Вернуться в «Анонсы и поддержка модов для phpBB 2.0.x»