Участники, посты, темы...

Evg Evg 16 Октября 2021

Сайт «работает» с участниками, постами и темами. Конечно, в системе есть комментарии, ссылки, голосования и т.д. Но вот эти три, очень важны.

Поскольку, они определены и их не особо много, то с ними можно начинать работать. Вот взять например, навигацию. В Agouti она теперь одна — Темы. Что мы можем сделать с ними? Многое.

Например:

  • Теперь мы знаем на какие темы подписан участник.
  • Соотв. на какие он не подписан.
  • Мы можем рекомендовать ему темы на которые он не подписан.

Такая ситуация будет на центральной странице непосредственно после регистрации.

Темы не выбраны

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

Не подписываясь, он может читать все темы в ленте, достаточно нажать в верхнем меню на «Все».

Если в системе есть темы и они содержат публикации, то мы можем посмотреть вклад участника.

Профиль. разбираюсь

«Разбираюсь» (или будет замена надпись на «Вклад»), уже есть в профиле.

См. профиль: @Yori

Если этого нет в вашем профиле, то сайт пока не собрал достаточно данных.

В самой теме, уже есть «Лучшие писатели»… (было добавлено ранее)

Темы должны иметь иерархию. И первое, что необходимо сделать, это «Родительские» темы. Конечно, мы можем сделать (т.к. поля в базе позволяют) и дерево, но я бы не хотел делать то, что сейчас есть на Zhihu:

Zhihu темы

Тем не менее, добавим корневые:

Корневые темы

А в базу пару обязательных полей:

ALTER TABLE `topics` ADD `topic_user_id` INT(11)... 

ALTER TABLE `topics` ADD `topic_the_day` TINYINT(1)...

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

Раз появился автор, то необходимо делать систему добавления (для персонала (TL5) есть), систему управления темами, модерацию тем и Вики- систему, которая будет отслеживать изменения.

На phuks.co, wiki- система отслеживания изменений даже в комментариях. Думаю, тут это перебор. Но для Тем, а они одни из основных на этом сайте, это просто необходимо.

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

Особняком стоит поиск. В силу последних изменений его стоит полностью переписать. Темы открывают огромный потенциал для структуры подачи информации, не лентой.

Есть некоторые идеи по поиску, ленте и т.д. Но нужны были мелкие сущности к которым можно было привязаться. Теперь они тут есть (с иерархией в них). Они «поменят» всё, и с ними можно работать далее.

Это то, что сейчас тут происходит…

P.S. Я будут теперь часто говорить про темы, т.к. считаю их достаточно важными. Когда минимальные изменения будут сделаны, репозиторий на GitHub будет обновлен. С учетом изменений и отказа от Пространств, мы должны там предоставить хотя бы минимальный фукционал. Чтобы не было сожаления о том, что должно было бы быть похоронено ещё вчера…

5 Ответов

  1. Yori Yori 16 Октября 2021

    Вот это интересно, очень интересно. Не думал, что темы так можно расширить! +

    1. Evg Evg 16 Октября 2021

      На самом деле, это не особо большое «расширение», это минимум, которые просто необходим.

  1. German German 16 Октября 2021

    Сколько работы предстоит! Если сделать всё продуманно, то очень хорошо может получиться!

  1. Dev Dev 16 Октября 2021

    Смотрю подправили запросы, а то по 1 тегу выборка была?

    1. Evg Evg 16 Октября 2021 (ред.)

      И хорошо, что по 1, хоть заглянул туда. Чего-то не с того конца было всё: давайте получим все посты… вот зачем, не совсем понятно, а если их сотни тыс. На какие id тегов подписаны, по ним и получим. Через соседа опять копать колодец начал. ) Переделал. И быстрей стало, данных меньше идет.