Темы на Quora (и Пространства)
На Quora были сперва темы. Если мы зайдем в настройки темы, то можем видеть свойства, которые могут быть использованы для сортировки, показа и т.д.
Смотрим.
- Название темы, url темы …
- Псевдонимы тем: …
- Объединенные темы: …
- Заблокируйте эту тему, чтобы предотвратить редактирование без прав..
На Quora эта тема:
- Описывает тип вопроса (например, вопросы анкеты)
- Описывает грамматическую структуру вопроса (например, «Что такое X?»)
- Организует другие темы (например, специальные школы)
- Это тема для взрослых
В качестве концепции эта тема:
- Универсальное абстрактное понятие (например: университеты, фильмы).
- Пример концепции (например: Гарвардский университет, Касабланка)
- Указанное лицо, такое как физическое лицо, место или компания
Что касается места, эта тема:
- Местоположение (например: Калифорния, Словения)
- Тема, которую можно локализовать (например: отели)
Как событие эта тема:
И т.д.
Тут главное, что теме даются разные свойства. Отлично. Темы выглядели так:
А далее, некоторые темы стали выглядеть так:
Если раньше, это было темы только для навигации, то далее некоторые стали Пространствами. Они даже стали располагаться на поддоменах. Пространства, в общем :)
Если упрощать, то когда тема становится пространством, ряд функций к ней добавляется, а ряд убирается. Но по сути, это так же темы. У меня были сомнения по поводу реализации этого в рамках таблицы тем.
Разговаривал в 2 разных местах, кто знаком с реализацией подобных схем и (думаю) узнал достаточно нюансов. Способов реализации много.
Очень много упирается в сами слова, определения, что мы вкладываем в понятие «Темы» и «Пространства».
Например, мы же не можем использовать таблицу Тем чтобы туда добавить посты? Дело не в полях, а в том, что тогда мы можем нарушить некоторые принципы, что необходимо делать отдельно, мешать некоторые вещи не надо. Посты своя таблица, а темы другая. Но как быть с Пространствами?
Если, как на Quora, то они хитро подошли к этому. Они формировали фасеты, свойства для Тем (часть списка выше), которые использовали далее, и определение (которое они дали сами) Пространству, не конфликтует с этим. Они добавили в Тему просто еще одно свойство.
И в зависимости от этого свойства, теперь Тема может стать Пространством. Со всеми вытекающими последствиями.
В общем, попробуем тут сделать на основе «Тем» эти «Пространства» и посмотрим. Разные деревья, разные свойства их…
Пространство может добавлять участник, как и тему, но в отличие от темы, пространство более «личностное». Это, как группа, где есть владелец. :)
Пока есть еще вопросы. Надо делать и смотреть… Колонку на GitHub в таблицу «Тем» добавил, этого достаточно, чтобы попробовать реализовать всё это.
Если topic_user_id == id участника
и если topic_type == space
, то это Пространство. Где другие правила, свой дизайн и т.д.
Если с «разными деревьями» данный опыт получится, то следовательно сама таблицы «Темы» будет называться не темы. Она поменяет название.
Кстати, по поводу этих наборов (свойств)… Давайте посмотрим ещё раз наборы в Quorа:
- В качестве концепции эта тема…
- Как событие эта тема…
- Что касается места, эта тема…
- И т.д.
явно тот, кто классификацией научно занимается составлял… ))) и явно ещё одна таблица со свойствами тем (свойств для деревьев) есть.
Я за любое начинание, кроме голодовки! )
Интересно, а группы и страницы ВКонтакте имеют разные таблицы? Подумалось.
Возможно…, и сегодня некоторые путаются, в чём разница группы и страницы…