+38(073) 413-59-71  info@binliz.org.ua

Создаем форум на MODx REVO часть 2

 30.06.2014
MODX

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

И так форумы это некоторый способ общения в интернет по интересам. Следсвенно форумы это набор групп и методов общения в интернет по интересам. Из этого делаем выводы, что форумы это некоторый набор рессурсов, сгруппированных по интересам которые в свою очередь разделяются на вопросы и ответы на них. Проведя некоторый анализ можно определится со структурой данного определения.

Группы форумов - некоторая логическая единица которая объеденяет форумы по интересам. Группы могут иметь древовидную структуру. К примеру есть какая-то базовая  группа "Город Н" в ней есть группы к примеру Отели, Кафе, Клубы, Спортивные заведения в данных группах есть еще более мелкие группы допустим для отелей это будут их названия.

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

Данные 2 сущности описаные выше имеют неоторые ограничения: 

  1. Эти сущности создает администратор, модератор но никак не конечный пользователь
  2. Они могут различатся для пользователей и могут быть:
    1. открыты/закрыты для чтения
    2. открыты/закрыты для создания тем
    3. открыты/закрыты для коментирования тем
    4. и собственно они могут быть такими которые временно открыты/закрыты
    5. иметь исчерпывающие ответы и не нуждающиеся в будующем обсуждении.

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

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

Посты - собственно сами ответы на поставленные вопросы.

Эти сущности сразу же попадают в следующую категорию ограничений

  1. топики как и посты могут создаватся в соответсвии с правилами установленными для форумов
  2. если это разрешено в настройках форума топики могут создавать зарегистрированные пользователи
    1. если пользователь не зарегестророван нужно, если это разрешено настройками сайта - отправить его на форму авторизации и/или регистрации.
    2. давать возможность пользователю сначала задать свой вопрос, а потом отправить на форму авторизации и/или регистрации
    3. или еще вариант - если не разрешено сайтом переход регстрацию выдавать сообщение о том, что данные топики могут создавать только зарегистрированные пользователи.
  3. если это разрешено в настройках форума - топики могут создавать незарегистрированные пользователи.
    1. нужно дать возможность незарегистрированному пользователю - зарегистрироватся если он того желает
    2. если не желает регистророватся - дать некоторую возможность комментировать и изменять свои вопросы и ответы это возможно скажем
      1. Через email
      2. Через СМС подверждение

Ну и если мы заговорили о группах пользователей то надо вспомниь и о конечных пользователях

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

Баллы за сообщения - некоторая "пузомерка" показывающая на то - уважем ли данный пользователь в форуме, и какими привелегиями в будующем его могут наделить администраторы.

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

Этой статьей я определил некий набор сущностей которые связывают форум как конечный продукт. Естественно, если взятся за все сразу - мы потратим годы и ничего не получим. Реализация должна происходить снизу вверх и выделять ключевые моменты, а только потом обкладыватся некоторыми ограничениями и правилами.

В следующей статье я постараюсь рассказать каким образом строится план работ над таким сложным продуктом.