Лента, активность и прочие подписки

В движке на сегодняшний день такое число всяческих фич и нюансов, что я сам, порой, забываю, что в нем есть и как это хозяйство работает :)

В этой статье речь пойдет о том, на что и как юзер может «оформить подписку», и что из всего этого может получиться. Хорошо ли, плохо ли, но в текущей версии Alto CMS для каждого пользователя в соответствии с его подписками формируется два потока:
1) Лента — это новый контент публикуемый на сайте, обычно находится по адресу https://altocms.ru/feed/
2) Активность — это события, происходящие на сайте, увидеть можно здесь: https://altocms.ru/stream/

Лента
Как уже писал, это новый контент — новые топики (статьи) и комментарии. Вы можете подписаться как на конкретных пользователей, так и на конкретные блоги. Настройка всей подписки так же на странице https://altocms.ru/feed/ в сайдбаре.

Т.е. если вы подписываетесь на блог, то в вашу ленту будут попадать все топики из этого блога.

Отдельным потоком Ленты идут новые комментарии к статьям, которые вы хотите отслеживать. При публикации статьи автор автоматически подписывается на комментарии к этой статье. Плюс он может подписаться на комментарии к любой другой статье.

Активность
В активности фиксируются события пользователей. В настройках на https://altocms.ru/stream/ вы можете указать, какую именно активность и каких пользователей вы желаете отслеживать.

Важные нюансы: если вы, находясь в профиле пользователя, подписываетесь на него, то вы подписываетесь на его активность, но не на контент, автором которого он является. Чтобы подписаться на контент пользователя, вам надо перейти на Ленту и там подписаться на него.

То же самое касается и дружбы — при добавлении пользователя в друзья, вы подписываетесь на его события, но не на контент.

А вот записи на стене в нынешней версии никуда не добавляются — ни в активность, ни в ленту контента.

Резюме
Во-первых, понимая нюансы (и варианты) подписки, вы можете лучше объяснить это пользователям своих сайтов, чтобы они могли получить максимум пользы для себя.

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

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

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

21 комментарий

0
Не хватает сортировки для отслеживаемых комментариев. Например сейчас у меня здесь altocms.ru/feed/track/ +26, а где они эти 26 я найти никак не могу ) Сейчас по умолчанию сортировка по дате добавления поста, не хватает по дате добавления последнего комментария и «показать только топики с новыми комментариями»
0
Спасибо за разъяснения, а то я пристал на гитхабе с «багом». :D
+3
Предложения:
1. для незарегистрированных выводить в /feed не ошибку, а «нет доступа» или типа: «Для настройки и просмотра персональной ленты необходимо авторизоваться».
2. т.к. Лента — ключевая вещь в персонификации контента пользователю и существуют всего 2 объекта подписки: блог и юзер, предлагаю для них сделать по клику poshytip окошко со ссылками: для блога — «подписаться», «просмотр блога»; для юзера — «подписаться», «написать письмо», «профиль». Это позволит быстро подписываться на все объекты.
3. В экшене «Активность» (кстати, здесь почему то нет ссылки на неё) убрать эвент «я слежу» и перенести его в Ленту. Т.е. в ленте будет три вкладки: Топики, Отслеживаемые комментарии и Отслеживаемая активность.
4. Ну и сразу по трекеру предложение: здесь лучше размещать не стандартный topic list, а только название топика, автора, кол-во камментов всего и новых. Имхо, на хабре это сделано идеально:

И ещё: с подписками на блоги есть путаница:
— «вступить» (чтобы писать и иметь возможность подписаться в ленте)
— «подписаться» (чтобы видеть топики в ленте)
Думаю «вступить» лишнее — решается плагином blogautoconnect
+1
И ещё: с подписками на блоги есть путаница:
— «вступить» (чтобы писать и иметь возможность подписаться в ленте)
— «подписаться» (чтобы видеть топики в ленте)
Думаю «вступить» лишнее — решается плагином blogautoconnect
Всегда считал, что акт «вступления в блог», чтоб писать в него — это нечто неестественное. Если юзер имеет право писать в блог (по рейтингу и прочим параметрам), то он должен иметь возможность это сделать без лишних телодвижений. При этом тот факт, что я решил запостить что-то в блог, вовсе не означает, что я хочу читать другие публикации этого блога.

Поэтому сейчас «вступление в блог» — это на самом деле «подписка на блог» (текстовки остались старые, нужно будет их изменить).

Другое дело, что новый механизм создания своих типов блогов позволяет задать такое ограничение — писать в блог могут только его подписчики.

Ну а в остальном — разумные предложения
0
А страница с подписчиками не предусмотрена? как вывести страницу, где я могу посмотреть кто на меня подписан ?
0
А можно кнопку «Подписаться» в профиле переделать так, чтобы подписывалось не на «Активность», а на «Лента».
0
Было бы хорошо реализовать автоматическую подписку новых пользователей на определенный блог. На livestreet есть плагин must have blogs, который под alto отказывается работать.
0
А зачем нужно принудительно подписывать людей на какие-то блоги? Вот регистрируется, скажем, человек на этом сайте, и я должен всех поголовно заставить подписаться на какие-то блоги, невзирая на интересы пользователей?
0
Например, у меня сайт состоит из одного блога, который главная страница сайта, как на старом dirty. Хочется, чтобы каждый новый пользователь имел возможность сразу писать на главной, не заморачиваясь насчет вступления или подписки.
+2
Так сейчас каждый может писать в любой блог, в который у него доступ есть, без всякого вступления и подписки (никогда не понимал, для чего это «вступление в блог» было придумано). Подписка нужна только для того, чтоб отслеживать новые топики в блоге, а не для того, чтоб иметь возможность туда писать
0
Хм. И действительно. Спасибо.
0
Спасибо за эту статью. Очень полезный материал
0
У вас здесь по адресу /feed, если, к примеру, выбрать юзера и кликнуть по его ник в окне «Добавьте людей, статьи которых вы хотели бы читать», то в поле вставляется не его ник, а html код аватара этого человека. В результате работает как надо, только если вписать ник вручную, не кликая по предложенному варианту. Иначе вот что получается:

0
Я вот думаю у себя все максимально упростить, убрав ссылки подписки на пользователя и ссылки на добавление в друзья, и любые упоминания этого функционала, дабы не создавать юзерам лишней путаницы и не вызывать вопросов, а также убрав возможность ставить галочки в настройке событий и фолловить людей по ссылке /stream. А сам stream редиректить на stream/all.

Таким образом фактически получив лаконичную ленту активности наподобие форумного типа (как forum/search.php?search_id=active_topics на phpbb или find-new/posts на xenforo) с последними постами и комментами т.е. без лишней для большинства пользователей информации. Такая лента позволит следить за всем добавляемым контентом на сайте, и в то же время не задаваться вопросами — а что это там за галочки, а что дает добавление в друзья или подписка на человека, а почему оно так работает а не иначе, etc.

При этом конечно же оставив feed, в котором будут отображаться обновления в подписанных блогах и топиках. Но отключив виджет с выбором блогов. Т.к. он опять же создает путаницу, ведь, убрав в нем галочку с одного из блогов, юзер будет думать, что отписался от блога. Но при этом в списке блогов он увидит, что на этот самый блог подписка все равно осталась. Для него это будет непонятка. Если скрыть со страницы feed виджет с галками («Выберите блоги которые вы хотели бы читать»), логика будет такая: юзер подписался на блог в списке блогов, значит он видит обновления этого блога в фиде, т.к. галка ставится автоматом. Юзер отписался от блога в списке блогов и перестал видеть его обновления в фиде. Без всяких для него непоняток.

Итого получим страницы:

— последние посты
— последние комменты
— последние посты из отслеживаемых блогов
— последние комменты из отслеживаемых топиков

Без возможности настройки пользователями, без функции френдов и фолловинга, но и без путаницы.
0
 Юзер отписался от блога в списке блогов

Иными словами, вместо простого и логичного действия в месте возникновения вопроса (отметить галочкой блоги непосредственно в ленте) вы усложняете и удлиняете путь этого действия, отсылая пользователя неизвестно куда. Отписка от блога в ленте блогов — действие не очевидное,и на хоп дальше — это надо же из ленты перейти в список блогов, там найти нужный блог, там отметить...потом вернуться в ленту...
0
Вместо этого виджета можно разместить виджет с коротенькой инструкцией. Что-то вроде «Подписаться на блоги, за которыми вы хотите следить, можно на странице блогов, там же вы можете отписаться от больше не интересующих» плюс сопроводить маленькой пикчей, как это делается. Ведь подписываться/отписываться ему так и так придется на странице блога/в списке блогов, т.к. при отключении галочки отписка не происходит, а происходит некая сортировка, когда записи из блога без галочки на странице feed перестают показываться, но подписка на сам блог все равно остается. Вот если бы еще и отписка при убирании галочки автоматом происходила, тогда другое дело.
0
Мой вариант, на мой взгляд, будет проще, чем объяснять:

Важные нюансы: если вы, находясь в профиле пользователя, подписываетесь на него, то вы подписываетесь на его активность, но не на контент, автором которого он является. Чтобы подписаться на контент пользователя, вам надо перейти на Ленту и там подписаться на него. То же самое касается и дружбы — при добавлении пользователя в друзья, вы подписываетесь на его события, но не на контент.

и проще, чем объяснять юзерам, почему это работает так и не иначе, можно ли сделать по-другому и почему нельзя. Проще убрать с глаз долой.
0
Вообще, функционал «Друзья» в движке назван немного неправильно. Ведь по описанию это просто слежка за активностью. Добавление в друзья можно было бы переименовать в «Следить за всей активностью» и вынести рядом с кнопкой «Подписаться» в профиле юзера. Кнопку «Подписаться» переименовать на «Следить за постами и комментами». Задачи у них схожие — тупо слежка. Но в первом случае за всей активностью, во втором — только за контентом. Вот если бы, не получив одобрение в друзья, нельзя было писать ЛС человеку, нельзя было бы, к примеру, читать его топики (если ТС того захотел), видеть какие-то скрытые настройками приватности поля профиля, то такой функционал можно было бы назвать «Друзья». Собственно, как это и реализовано в популярных социальных сетях. И было бы, кстати, очень круто, если бы это было реализовано в Альто в будущем (зависящие от дружбы настройки приватности профиля, топиков, постов, хайдов).
0
Виноват, немного запутался, чтобы следить за контентом, нужно добавить человека в Ленте. Итак, судя по тексту топика, выходит, что:

1. Добавление в друзья —> слежка за активностью.
2. Подписаться в профиле —> слежка за активностью.
3. Добавить в Ленте —> слежка за контентом.

Значит, первый и второй пункт выполняют одни и те же функции, разве нет. Следовательно, чтобы не путать людей, дублирующий пункт 1 надо удалить (в моем случае скрыть + скрыть любые упоминания), а пункт 3 — вынести в профиль юзера рядом с кнопкой пункта 2.
0
Хотя... ведь соседние кнопки в профиле «Добавить в друзья» и «Подписаться» несут одинаковую функцию, я точно ничего не напутал? Если это так, то, можно:

1. Убрать дублирующую кнопку «Подписаться»
2. Переименовать «Добавить в друзья» в «Подписаться»
3. Переименовать «Друзья» в «Подписчики»
4. Убрать возможность выбирать людей для слежки за контентом в Ленте, т.к. в активности все равно среди прочего отображаются обновления этого самого контента.
5. Оставить настройки событий, как и сейчас, на усмотрение подписчикам.

Тогда выходит очень даже ничего. Но это только если «Подписаться» и «Добавить в друзья» — точно одно и то же. Если возможность добавить в друзья дает нечто большее, чем просто подписка на активность, то мои рассуждения становятся неактуальными.
0
Ну да, проверил, так и получается. Добавляешь в друзья — автоматом подписываешься на активность. Но выходит несколько сложнее, просто так друзей в подписчиков переименовать не получится. Так как можно не быть другом, но быть подписчиком. Можно получить отклонение на запрос дружбы, но все равно быть подписчиком. Т.е. вкладка профиля «Друзья» переименованная в «Подписчики» будет дезинформировать, т.к. подписчиков у юзера может быть гораздо больше. При этом функционал «Дружбы» вроде как ничего свыше подписки на активность и отображения в профиле в качестве друга не несет. Поэтому в моем случае его проще скрыть, вместо этого выведя счетчик подписчиков в профиль. И если когда-то вдруг с очередным обновлением к нему будут добавлены гибкие настройки приватности, этот самый функционал всегда можно открыть для пользователей.
Отредактирован:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.