Аналогично любой пользователь может у себя на ноде создавать какие угодно публичные ленты, а другие могут на них подписываться. По типу каналов на YouTube, но, в отличие от каналов, в лентах могут быть не только свои истории, но и скопированные с других лент - как автоматически, так и вручную. [...] И такие подборки могут быть одной из killing features Moera. При этом все лайки и комменты будут идти на ноду, на которой изначально этот контент запостили, в отличие от обычных перепостов в соцсетях
Таким образом вырисовывается модель.
- Пользователь на ноде может создать много лент. Они видны в клиенте.
- По умолчанию существует одна лента собственных постов пользователя.
- Пользователь может писать в любую свою ленту от своего имени, а также копировать чужие посты в любую из своих лент.
- Пользователь может удалять любые посты из своих лент
- В том числе некоторые ленты он может составлять программно - используя встроенные фичи (френдленты стандартного ЖЖ-вида) или внешние программы/сервисы.
- Некоторые из лент пользователя публичны, а некоторые приватны (ну, как настроит)
- "Френдленты" составляются из лент других пользователей, в разнык комбинациях
- "Прочитать потом" - это тоже лента, возможно, со специальным "интерфейсным сахаром" - туда просто добавлять
Некоторые моменты, которые у меня вызывают вопросы:
- Неочевидно, что всегда нужно давать комментировать только на исходной ноде. Не все могут иметь права для того чтобы комментировать там. Например, может никто не иметь такого права, если автор закрыл комменты. А раз пост публичен, продолжать дискуссию где-то надо. Разумеется, человек может просто скопировать чужой пост и предложить его обсудить - это запретить мы точно не можем, а значит, может иметь смысл возглавить :)
- Неочевидно, что должно существовать "копирование" отдельно от "репоста" (т.е. , со своим текстом-дополнением). Возможно, "копирование" - просто частный случай репоста с пустым телом поста репостера?
- Если исходный автор удаляёт свой пост - копия остаётся у репостеров?
- Возможно, стоит сохранять всю последовательность лент, через которые прошёл пост (
@Via linux/kernel->@Via lamed/debian->@Via tigra/linux
). Если где-то автоматизированно лента собирается по тегам/лентам, то нужно делать дедупликацию - пост мог прийти из разных мест. В этом случае точный граф истории репостинга сохранять неудобно и, думаю, ненужно, можно свалить это в одну кучу, скажем, хронологически отсортированную. И отображать в результирующей ленте только самый конец этой истории (@Via lamed/debian->@Via tigra/linux
).- Update: Эта метаинформация в частности, несёт функцию облегчения discovery интересных нод/подборок
- Визуально бы я всё оформил, например, так: ленты являются "табами", первой стоит основная лента, в которую человек пишет, дальше - часто используемые или явно выделенные показываются, часть не влезает на экран, для них есть справа в строке табов кнопочка - по которой выпадает список лент (возможно, как-то отсортированный, возможно, со своим поиском по первым буквам - ну это если не ограничивать себя в желаниях). Каждая лента имеет пиктограмму, которая говорит нам, публична она или приватна. На чужой ноде видны лишь публичные ленты.
- А добавление "чего угодно" в "прочитать позже" может быть встроено в аддон - т.е. на пимпочку нажимаешь -> Share to Moera... -> в ленту Read Later. (А можно в любую другую ленту - аналогично посту ссылки в ФБ).