5.1. При несовпадении пароля и его подтверждения система предупреждает пользователя (например, цветом).
7.1. Если хотя бы одна проверка не пройдена, система выдает описание обнаруженных ошибок, и возвращает пользователя к странице регистрации.
8.1. В случае внутренних ошибок система выдает пользователю сообщение об ошибке, и возвращает на страницу регистрации.
2.2. Система проверяет занятость ника с помощью AJAX без перезагрузки страницы. Возможно, само действие выполняется без явного запуска пользователем.
3.1. Система проверяет совпадение пароля и подтверждения с помощью JS без перезагрузки страницы.
3.2. Система проверяет надежность пароля.
3.3. Пользователь генерирует пароль с помощью системы
4.1. Система проверяет корректность адреса e-mail без перезагрузки страницы.
7.1. Система показывает пользователю правила ресурса, и запрашивает подтверждение согласия с правилами. Пользователь подтверждает согласие. Если пользователь не согласен с правилами, то он отказывается от регистрации.
8.1. Система отправляет на адрес электронной почты пользователя сообщение со ссылкой на страницу активизации. Пользователь по ссылке попадает в настройки профиля, после чего переходит к заполнению профиля.
1.1. Пользователь может открыть специальную форму входа в систему.
2.1. В случае ошибок система перенаправляет пользователя на специальную форму входа в систему.
3.1. Если пользователь установил флаг автоматического входа при каждом посещении, то система регистрирует "длинную сессию" в куках браузера пользователя.
3.2. При входе пользователя на сайт система показывает основной список сообщений.
3.1. Система информирует пользователя о личных сообщениях, которые были ему отправлены за время его отсутствия (см. Оперативное уведомление о личных сообщениях).
Исправление профиля напоминает регистрацию, разве что, пользователь не вводит подтверждение пароля и код безопасности (CAPTCHA). Пользователь может исправлять основные и дополнительные атрибуты учетной записи.
Рейтинг пользователя (он же "скор", "карма" или "сила") определяет длительность активного пребывания участника на форуме.
Сразу после регистрации рейтинг s любого пользователя по умолчанию устанавливается в S0 = 50 абсолютных баллов. Далее до первого сообщения он не изменяется. В момент публикации первого сообщения, адресованного всем пользователям (здесь и дальше учитываются только такие сообщения, если явно не оговорено обратное), для пользователя устанавливается временная метка t0 -- момент начала активного участия. Пусть t1 -- момент публикации последнего сообщения пользователя, в момент публикации первого сообщения он, естественно, равен t0. Наконец, при начислении рейтинга важен "интервал ожидания" T, в рабочих условиях T равно 1 дню (точнее, суткам), при отладке это время может быть уменьшено до нескольких минут. Далее расчет скора происходит по следующему алгоритму.
Предусловия: пользователь опубликовал, как минимум, одно сообщение, то есть, метки t0 и t1 установлены. Пользователь публикует новое сообщение в момент времени t.
Для анонимных пользователей рейтинг не начисляется.
Замечания:
Анонимные пользователи представлены в системе специальной учетной записью anonymous (Аноним), все действия анонимных пользователей фиксируются в этой учетной записи. Из основных атрибутов учетной записи используется только псевдоним пользователя. Рейтинг анонимного пользователя не вычисляется, и всегда составляет 50 баллов (Sa). Ограничитель активности анонимного пользователя может быть рассчитан и управляться так же, как и у других пользователей (хотя и сложно представить, как это будет работать). Вычисляемые статистические атрибуты рассчитываются так же, как и у других пользователей. Дополнительные атрибуты не задаются и не ведутся.
Анонимный пользователь ограничен в правах -- ему разрешено только публиковать новые сообщения или отвечать на сообщения других пользователей, если они явно это допускают. При публикации каждого сообщения аноним вводит код безопасности (CAPTCHA). Кроме того, анонимный пользователь может указать адрес e-mail. Все остальные действия (оценка сообщений, голосование, установка меток) анониму запрещены. Анонимный пользователь не может изменять права на свои сообщения после того, как они опубликованы.
Система указывает IP для анонимных пользователей.
Штрафные санкции к сообщения анонимов применяются так же, как и к другим пользователям, однако это не влияет на рейтинг анонимных пользователей.
Есть несколько разных процедур:
1.Просто высылать логин и пароль по почте.
2.1. Пользователь открывает форму настройки разрешений доступа к сообщению. Система отображает в форме отдельные списки для всех видов разрешений: просмотр, исправление (будет доступно только после реализации второй очереди), ответ/комментирование, оценка и участие в голосовании/опросе. Пользователь задает права отдельно для каждого вида действий, после чего подтверждает ввод. Система запоминает настройку прав, и отображает в форме ввода сообщения только разрешения на просмотр.
2.2. Система с помощью AJAX предоставляет пользователю возможность выбрать пользователя или группу пользователей из комбосписка с возможностью фильтра по частично введенному имени пользователя или группы с автоматическим дополнением.
5.1. Пользователь может не вкладывать файлы в сообщение.
6.1. Пользователь может оставить текст сообщения пустым, если он создает в том же сообщение голосование или опрос.
7.1. Пользователь может не создавать блок голосования или опроса, если он заполнил текст сообщения.
9.1, 10.1. При ошибке пользователя система выдает сообщение об ошибке и повторно отображает страницу создания сообщения.
1.1. Система проверяет возможность создания сообщения пользователем в соответствии с его правами.
3.1. Система с помощью AJAX предоставляет пользователю возможность создать новую личную метку.
7.1. Система автоматически присваивает специальную метку "Голосование" или "Опрос", если пользователь создает в сообщении голосование или опрос.
Ответ на сообщение -- это тоже создание нового сообщения, поэтому последовательность действий повторяет действия при создании сообщения. Отличие заключается в том, что для сообщения-ответа нельзя произвольно задать права доступа, а система регистрирует в сообщении-ответе ссылку на сообщение-источник.
5.1. См. также альтернативные пути при создании нового сообщения.
4.1. Система показывает разрешения доступа для источника рядом с ответом, и с помощь AJAX контролирует, какие действия пользователя по изменению прав разрешены.
4.2. Система предоставляет возможность сбросить список доступа для каждого разрешения по отдельности или для всех разрешений сразу, установив тем самым все разрешения в исходное состояние.
Исправление сообщения очень похоже на создание нового сообщения и сообщения-ответа. Отличия:
5.1. См. также альтернативные пути при создании нового сообщения.
4.1. Система показывает разрешения доступа для источника рядом с ответом, и с помощь AJAX контролирует, какие действия пользователя по изменению прав разрешены.
4.2. Система предоставляет возможность сбросить список доступа для каждого разрешения по отдельности или для всех разрешений сразу, установив тем самым все разрешения в исходное состояние.
5.1. Пользователь может частично исправлять блок голосования. Разрешено добавлять новые альтернативы и удалять те из них, за которые никто не проголосовал. Пользователь может превратить голосование в опрос (но не наоборот), а также перевести голосование/опрос из поименного в анонимное (но не наоборот).
5.2. Модераторы могут редактировать текст вопроса в голосовании/опросе и текст альтернатив.
Если в сообщении есть блок голосования, то пользователь, просматривающий сообщение, может выбрать одну (голосование) или несколько (опрос) альтернатив. Все голоса фиксируются, и отображаются при поименном голосовании. При анонимном голосовании голоса тоже фиксируются поименно, но не отображаются в резултатах.
Пользователь может изменить свое мнение или вообще отозвать голос до окончания периода голосования.
5.1. Пользователь может не выбрать ни одной альтернативы (опрос) или выбрать специальную альтернативу "Не участвовать в опросе". В таком случае система исключает участника из списка проголосовавших.
7.1. Система регистрирует все изменения результатов голосования/опроса в виде истории. Регистрация может вестись как при каждом изменении, так и по времени (например, каждый день). Такой журнал может быть предстален в виде динамической диаграммы изменения рейтинга во времени.
Оценка сообщения дается пользователем сообщениям, для которых он не является редактором (автором) или спонсором. Оценка является выражением согласия с автором. Оценки влияют на отношение экспертов к теме при занесении сообщения в Золотой фонд.
Пример реализации оценки можно посмотреть, например, тут (для участия в оценке нужно зарегистрироваться и войти):
http://forum.ej.ru/showthread.php?t=283381
Здесь список благодарностей отображается под сообщением, возможно, достаточно отображать только 10 первых оценок, а остальные вынести в отдельную форму, и указывать только общее число оценивших. Кроме того, в прототипе нет кнопки "отозвать оценку", у нас эта возможность будет.
3.1. Автор сообщения не может его оценивать. В перспективе также не могут оценивать сообщение владелец, редакторы, авторы и спонсоры сообщения.
3.2. Если пользователь уже оценил сообщение, то он может отозвать оценку. Система исключает псевдоним пользователя из списка оценивших.
Прежде всего, пользователь может управлять разрешениями на сообщение при исправлении сообщения (см. п.2). Отдельная страница по управлению разрешениями используется в альтернативных путях при создании сообщения, ответе на него и исправлении сообщения. Наконец, отдельное управление сообщениями сделано отдельным действием, чтобы пользователь мог управлять разрешениями, не создавая новой версии сообщения (как это происходит при исправлении сообщения).
В настоящее время пользователь управляет следующими разрешениями:
Просто возможность вводить богатую разметку текста сообщения BB-кодами, а также WYSIWYG-редактор, который позволяет выпольнять такую разметку через графический интерфейс.
Эта возможность предусматривалась в предположении, что движок системы будет писаться с нуля, либо выбранный движок не имеет возможности встроенного поиска. В этом случае предлагалось в первой очереди реализовать интерфейс поиска, основанный на API, предоставляемых публичными поисковиками, такими, как Google или Yandex. Примером такого поиска может быть
(Search the Python Website using Google).
Такой подход имеет два преимущества. Во-первых, специализированные поисковики будут выполнять эту работу явно лучше. Во-вторых, такое использование лишний раз будет обращать внимание поисковиков на ресурс. Недостатком такого поиска является то, что публичным поисковикам будет недоступна "закрытая" часть ресурса, так как эти поисковики работают, как анонимные пользователи.
Если будет возможность сделать быстрый и качественный поиск встроенными средствами движка, то лучше, конечно, будет использовать его. На ЛОР, например, за 10 лет так и не сделали нормальный поиск, и через Google сообщения найти быстрее, чем с помощью встроенного поиска.
В тематическом списке сообщения представлены кратким описанием. Из всего сообщения в тематическом списке указываются только следующие атрибуты:
Основной список сообщений содержит все корневые сообщения (то есть, сообщения без источников), расположенные в порядке убывания даты последнего ответа. Исключением являются сообщения, отмеченные общей меткой "Важно". Такие сообщения располагаются в самом начале списка.
Пользователь может выбрать сортировку сообщений по любому из отображаемых атрибутов, однако трудно сказать, насколько это будет полезно.
Личным считается любое сообщение, у которого в разрешениях доступа для просмотра явно указан псевдоним пользователя, то есть, пользователь является прямым адресатом сообщения. Когда пользователь выбирает просмотр личных сообщений, в списке остаются только личные сообщения.
Заметим, что личные сообщения могут быть не корневыми, и наоборот, если корневое сообщение не было личным, то оно не видно в списке личных сообщений.
Пользователь может быстро отбирать сообщения по определенной метке, выбрав ее из списка общих, личных или групповых (в тех группах, где он является участником) меток.
Заметим, что если корневое сообщение не отмечено выбранной меткой, то оно не показывается в списке отмеченных сообщений, и наоборот, отмеченные сообщения-ответы появляются в списке тем.
Пользователь может быстро отобрать все корневые сообщения одного автора, просто выбрав соответствующего пользователя. Заметим, что сообщения-ответы выбранного автора в таком списке не появляются.
Иногда пользователь хочет отобрать сообщения по комбинации атрибутов. Возможно, этот вариант проще заменить сортировкой.
Для каждого сообщения пользователь может установить личный признак игнорирования. После этого пользователь просто не видит такое сообщение, так же, как и все ответы на него, ответы на эти ответы и так далее. В результате из поля зрения пользователя исчезает целый информационный кластер.
Кроме того, аналогичный признак игнорирования может быть установлен для всех сообщений определенных пользователей, отобранных с помощью списка игнорирования.
Когда пользователь не может найти нужного сообщения, и он подозревает, что оно просто попало в игнорируемую область, пользователь может перейти в режим просмотра без игнорирования. В этом случае пользователь увидит все сообщения, даже игнорируемые.
Пользователь может также вернуться к обычному режиму просмотра, когда игнорируемые сообщения не видны.
Модератор, применяя штрафные санкции, может ограничить разрешения доступа к сообщениям. В частности, модератор может полностью закрыть доступ на просмотр сообщения, в результате для всех пользователей сообщение вместе со всеми ответами на него становится невидимым.
Пользователь может снять ограничение модератора для разрешения на просмотр (и только на просмотр), в результате все оштрафованные сообщения становятся видны. Для каждого оштрафованного сообщения указывается причина санкций -- нарушенный пункт правил.
Сообщение можно удалить, только если на него нет реакции, то есть, на него нет ответов/комментариев, его не оценили, никто не участвовал в опросе/голосовании. Удаленное сообщение полностью исчезает из системы.
Удалять сообщение может только автор и модераторы.
Убираются картинки и лишние блоки
Установка фокуса -- основной инструмент для отбора сообщений. Фокусом называется сообщение, являющееся серединой (ядром) информационного кластера. У ообщения-фокуса определяется "предистория" -- цепочка сообщений-ответов, начиная с корневого сообщения и вплоть до сообщения-фокуса, и "обсуждение" -- дерево ответов на сообщение-фокус.
1.1. Пользователь может просматривать уже открытый информационный кластер, включая предисторию и обсуждение текущего сообщения-фокуса. При таком просмотре пользователь может выбрать другое сообщение, и установить его, как фокус. Система отбирает информационный кластер для нового фокуса.
4.1. Пользователь может не выбирать просмотр предистории, если она его не интересует. В этом случае фокус выглядит, как корневое сообщение дискуссии.
Было бы не плохо, чтоб пользователь расширял возможности просмотра, дополняя свой профиль. Например, что просматривать блок с контактной информацией других пользователей, вначале он должен указать свои контакты. Если он желает просматривать галереи других пользователей, он должен добавить хотя-бы 3 фото в свою. И т.д. но в пределах разумного, конечно.
Date: 2008/03/29 14:17:21