Рассмотрел ещё один генератор френдленты, написанный mtve - rssagr
Проект существенно менее зрелый, чем rawdog, но несколько приятных особенностей есть.
Плюсы:
- Компактный скрипт с минимумом внешних зависимостей. Легко модифицировать и развивать
- Ротирует старые записи в отдельные HTML-файлы (у rawdog аналогичная функциональность достигается плагином)
- Держит список фидов отдельно от прочей конфигурации (каковой пока вообще не имеет)
Минусы:
- Не имеет никакого шаблонизатора. Не генерирует ссылку на css.
- Ссылки на предыдущие куски ленты генерируются независимо от их наличия
- Как и rawdog при добавлении большого количества фидов одновременно, не располагает свежескачанные записи в порядке написания
- Не имеет никакого интерфейса добавления, который бы избавлял пользователя от ручного поиска ссылки на фид (rawdog хоть из командной строки умеет скачивать html и парсить его в поисках <link rel="alternate">
- Не разделяет публичные данные (сгенерированный html) и внутренние (кэш состояния потоков). Я, конечно, могу доступ к этому кэшу ограничить средствами файловой системы и web-сервера, но подход rawdog, у которого есть недоступная по web директория для локального состояния и конфигурации, мне чем-то нравится больше.
- Всё-таки непонятно, чем автора не устроили имодуль XML::RSS, XML::RSSLite, XML::Feed и прочие несть им числа.
- При регулярном использовании ротирует страницу целиком, даже если с момента предыдущего апдайта появилось 1-2 новых сообщения.
Что бы можно сделать: 1. Прикрутить шаблонный движок (от HTML::Template, чтобы использовать общий шаблон страницы и css с блогом ikiwiki). 2. Для хранения списка фидов использовать не плоский текстовый файл, а foaf. Раз уж оно лежит там же где раздаваемые html. 3. Поправить алгоритм сортировки.
Но пока у меня rawdog работает, это имеет меньший приоритет чем древовидные комментарии и корректная работа почтовой нотификации.
Вск 30 Дек 2012 14:36:22
по минусам:
по вещам которые можно сделать:
Вск 30 Дек 2012 19:45:57
Принятом в ЖЖ для чего? Если в ЖЖ добавляешь в ленту нового ЖЖ-юзера, а у него последняя запись - неделю назад, эта запись не будет торчать наверху ленты над сегодняшними записями других юзеров. Когда в ЖЖ создается новый фид, то да - там запись полугодичной давности будет с точки зрения ЖЖ свежей. Проблема в том что для ЖЖ импорт нового фида - это скорее исключение. Обычно в ленту добавляются уже существующие в ЖЖ ленты (будь то журналы или трансляции). Для индивидуального агрегатора добавление нового френда - это всегда импорт ранее не виденного движком фида. И видеть в ленте над сегодняшними записями старых юзеров полугодичной давности записи нового френда - неудобно.
Не надо ничего угадывать. Есть стандарт, как её там прописано. Если добавляемый блог не соблюдает стандарт, вот тогда юзеру придется руками добавлять.
Ну правильно. Проблема возникает, когда агрегатор запускается по крону раз в час и вообще чаще, чем юзер в ленту заглядывает. И когда в этой ленте фидов МАЛО. Тогда приходишь и видишь в ленте две записи. Потому что с предыдущего запуска их добавилось ровно столько.
Вск 30 Дек 2012 20:23:10
порядок записей - ага, понял проблему. да, после добавления нового фида в первый прогон попадут все его записи.
иногда это ещё происходит если владелец фида меняет движок, или добавляет какую-нибудь рекламу.
для этого предусмотрены ссылки "v" на следующую запись, "^" на предыдущую и "V" на следующий фид (поэтому и порядок внутри вывода фида выбран обратный хронологическому).
проблема в RSS и вообще в системе блогов в том, что это слишком "человечный" контент, всё течёт, всё меняется, у каждого свои предпочтения к написанию и чтению.
в идеале бы конечно хотелось какую-нибудь хорошо стандартизированную и работающую p2p систему с автоматической доставкой статей и комментариев по сети "друзей", цифровыми подписями, килл-файлами (точнее scoring'ом). прямо так и видится сущность "пользователь/блог" с публичным ключём, цепочкой основных постов и деревьями комментариев (всё версионное), web-интерфейс с аяксом, никто не забыт, ничто не забыто. надо наверное опять попробовать http://diasporaproject.org/ посмотреть.
Вск 30 Дек 2012 22:29:45
По-моему, не стоит надеяться на
Крупные игроки вроде ЖЖ и фейсбука категорически не заинтересованы в этой самой хорошо работающей системе, они заинтересованы в vendor lock-in. А пользователи в большинстве своём конформисты.
Поэтому какие-то шансы на появление "хорошо стандартизированной и работающей p2p сети" есть только при условии, что сначала появится софт, умеющий хорошо работать с "человекоориентированными" сайтами, нарушающими все мыслимые стандарты, и на него перейдет достаточно заметная масса пользователей, чтобы соблюдать заданные им стандарты для крупных игроков стало выгоднее, чем не соблюдать.
RSS, собственно, завоевал свои позиции именно так - есть куча совершенно независимых агрегаторов, и куча независимых сайтов, предоставляющих фиды. Поэтому крупные игроки вроде того же ЖЖ вынуждены позволять как экспортировать журналы в виде RSS, так и импортировать фиды во френдленту.
Втр 29 Янв 2013 12:25:59
Срд 30 Янв 2013 10:38:50
Это фигня какая-то. Заявленная функциональность - instant messenger, а не социальная сеть. Для instant messenger есть xmpp. Который вполне себе децентрализован. Но имеет и крупные сервера вроде google.com.