Предложения по модернизации ленты, активности и подписок на них (средние и мелкие)

Первое, что хотелось бы предложить... Впрочем, нет, в первую очередь хотелось бы выразить огромную благодарность за то, что форк Alto CMS существует, что он уже вполне себе живет своей жизнью, так как от LS ушагал далеко и в лучшую сторону. Спасибо, что вы есть.
Так вот, первое, что хотелось бы предложить и вынести на обсуждение — модернизацию логики подписки и вывода подписок. Начну с «Ленты», фида. Лично для меня было бы логичным видеть там что-то наподобие следующего:
Режим 1 — новые непрочитанные посты по подпискам на блоги и пользователей, которые не были посещены с момента их первоначальной публикации (если таковых нет, то скрывать режим), плюс аналогично подпискам на комментарии выводить уведомление +n новых в соответствующих местах шаблонов;
Режим 2 — просто список всех постов, на блоги/авторов которых оформлена подписка;
Режим 3 — новые комментарии по подпискам в режиме отображения как у списка прямого эфира (/comments/), то есть почти то же самое, что сейчас, только вывод непосредственно комментариев, а не постов, плюс аналогично уведомления о новых, как уже есть (также аналогично скрывать при отсутствии новых);
Режим 4 — просто список всех существующих комментариев по подписке, опять же, в режиме отображения списка прямого эфира.
Таким образом чисто концептуально такой фид охватит весь генерируемый сообществом контент в одном месте с удобной фильтрацией. Хотя, конечно, я согласен, что это очень опциональная вещь и пользуются ей далеко не все.
Также в верхний виджет ленты добавить кнопку «Отписаться от всех». А еще расширить работу виджетов подписок на комментарии и стрим активности, об это поподробнее.

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

Кстати, текущий инсталлятор некорректно регистрирует админа (юзер с айди = 1), из-за чего у него ломаются подписки на комменты и на активность. Нужно вручную в БД ему править подписки на комменты и дописывать типы отображаемого контента при подписке на активность.

Ну и последнее, о чем я бы хотел упомянуть — это довольно таки мелочь и не очень существенно. Меня немного беспокоит тип вывода индексного контента «все новые» /index/newall. Оно работает не в соответствии с вывеской. «Все новые» подразумевает, что есть еще и старые где-то, которые не охвачены этой выборкой, в противном случае они не новые, так как это относительное понятие. В общем, я просто исправил у себя с «Новые (За все время)» /index/newall на «Все» /index/all (правка ивента, постраничности и там еще по коду в одном месте в экшене индекса, плюс в конфиге меню, плюс в конфиге меню шаблона). Ну а режим «Новые» должен работать по принципу режима 1 ленты, который описан выше, то есть для зарегистрированных пользователей выводить новые посты, которые не были посещены ими с момента их первичной публикации, плюс опционально кнопка «Отметить все как прочитанные» (для незарегистрированных оставить как есть, последние за 24 часа).

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

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

  • Лента, активность и прочие подписки
    В движке на сегодняшний день такое число всяческих фич и нюансов, что я сам, порой, забываю, что в нем есть и как это хозяйство работает :) В этой статье речь пойдет о том, на что и как юзер может «оформить...
  • Подписка на блоги, на пользователей
    Думаю, никто не обидится на кросспост. Несколько вопросов по подписке на блоги и пользователей: 1. Это скорее баг этого сайта, т.к. у меня на проекте этой проблемы нет. В ленте в сайдбаре есть блок «Выберите блоги, ...
  • Виджет Активности (плагин)
    На днях увидел на livestreet.ru топик разработчика GoWebPro «LS Plugin — GoStream \ Прямой эфир» и, честно говоря, весьма обрадовался, так как в планах как раз было сделать для своего проекта нечто подобное. Скачав...
  • Подписка на блог и уведомления на e-mail
    Предложение — почему бы в момент подписки на конкретный блог не сделать возможность выбора: получать уведомления о новых топиках в данном блоге на e-mail/просто следить за блогом в Ленте без писем на мыло.

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

0
«Все новые» подразумевает, что есть еще и старые где-то, которые не охвачены этой выборкой
Нет, это означает, что выводится вообще всё от новых к старым. Ссылка «Новые» за 24 часа со ссылкой /index/new, которые в меню experience я у себя сразу отключил, вернув классическую выборку newall. Я это сделал, потому что newall это единственный список, где можно увидеть действительно все статьи сайта. Альтернатив этому списку нет.
При использовании new, те посты, которые старее 24 часов, не отправленые админом на главную, просто скрываются от глаз юзеров. А если использовать newall, то необходимость в new вообще отпадает.
0
Я в курсе алгоритма, который используется для индексного ивента new или newall. Суть сказанного была не в этом.
Суть буквально только в словах и их семантике. Новые — понятие относительное, без условия отношения оно не существует. То есть, «Все новые» могут существовать только если есть другие публикации за пределами этого перечня, то есть «Остальные старые». По факту же, ивент newall выводит список просто «Все», употребление слова "*новые" в этом контексте некорректно, равно как и в ссылке слова «new*».
Уже сам факт того, что по этому поводу существуют недопонимания должен наводить на мысль, что здесь что-то не так.

В любом случае, как говорится, мое дело предложить… У себя я это сразу исправил и у меня есть главная, которая выводит только рейтинговые, есть новые за 24 часа /index/new/ (которые я планирую так или иначе переделать из «за 24 часа» в «непрочитанные новые»), и есть просто все за все время /index/all/.
Отредактирован:
0
А если использовать newall, то необходимость в new вообще отпадает.
По этому вопросу отдельно, т.к. не соглашусь. Да, в текущем виде при алгоритме «за 24 часа» у этого режима польза довольно сомнительная, минимальная, тут я согласен. Но если переделать этот режим в подсчет публикаций с момента последнего посещения пользователем, его польза резко прибавляется. Это чисто вопрос юзабилити, удобства пользователя: ему не нужно ничего искать, ничего вспоминать, движок уже все запомнил и посчитал за него, осталось только просмотреть свежие публикации на предмет интересных пользователю, и не нужды вспоминать, что уже читал, а что нет.
0
Ну это движок не умеет. Вообще, у движка мало возможностей персонализации. Если запилишь плагин, буду благодарен.
0
Возможно, в недалеком будущем. Пока что я сосредоточился на как минимум дебаге того, что уже имеем. Да и в целом хотелось бы, чтобы данный функционал, который я в этом посте описывал, реализовывался базовыми возможностями движка, а не плагинами. Ну, по логике, просто это звучит как базовые функции, а не что-то этакое, что нужно единицам среди множества. Да и дополнительные нагромождения — лишний повод для багов, проблем при обновлениях и снижения производительности.
0
А как ты в Newall сделал вывод +1 и тд… это ж только у new есть? Я просто вот пытаюсь, но не могу понять как это сделать, у new поменял просто ссылку но при клике на «Новые +1» эта вкладка не подсвечивается белым фоном…
Отредактирован:
0
delete
Отредактирован:
0
Не вполне понял насчет «Ленты»: что значат «режимы»? Нет, логика понятна, но что это с точки зрения интерфейса? Четыре кнопки? А так, если я верно понял, предлагается фид разбить на два потока — посты и комменты, выделяя в каждом новые.

Что касается подписки, то предложения понятны. Только вот не уверен я, что подписка на контент обязательно должна автоматически совмещаться с подпиской на активность. Более того, не раз уже я слышал, что отслеживание активности не особо и востребованная фича. Давно зреет у меня мысль под термином «подписка» понимать именно подписку на контент: подписка на комменты в топике, подписка на блог (весь контент в этом блоге), подписка на юзера (весь контент, генерируемый этим юзером). А отслеживание активности оставить между френдами.

А вот по поводу новых — тут полностью согласен. Должно быть «Все» — это все топики в обратной сортировке по дате, и «Новые» — это то, что юзер еще не читал. И тогда для неавторизованного юзера списка новых просто не будет.
0
Режиы == наборы логики, по которым сортируется и выводится соответствующий контент. С точки зрения интерфейса — да, 4 кнопки (ну или только две, если нет нового). По существу, да, два потока. У первого обычный ныне существующий вид для вывода постов, у второго вид как у полного списка прямого эфира.

На счет подписки — как вариант, можно и так, и эдак. Главное — чтобы подписка в первую очередь подразумевала подписку на генерируемый объектом подписки контент. А активность — штука действительно очень опциональная и отчасти дублирующая прямой эфир, от того и не особо востребованная. Лично у себя я ее, пожалуй оставлю. Если отслеживание активности будет между френдами — это хороший и логичный вариант, как по мне.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.