Opened 8 years ago

Closed 7 years ago

#194 closed улучшение (fixed)

Добавить функцию "чат" (служебная связь) в вебинтерфейс блока

Reported by: san Owned by: alx
Priority: средний Milestone: 1 очередь
Component: web-интерфейс (sw) Keywords:
Cc:

Description

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

Можно сделать отдельную вкладку "Чат" .
При появлении нового (непрочитанного пользователем) сообщения отображать значёк в заголовке вкладки (как в обновлениях ПО)
Любой пользователь подключенный к блоку может передавать сообщения в чат. Сообщения можно не хранить в ПЗУ, для вышеобозначеной задачи этого не требуется, история может очищаться при перезапуске.

Элементы вкладки:

  • История переписки
  • Поле ввода сообщения
  • Имя (как представился пользователь, т.к. разные пользователи могут быть залогенены под одним и тем-же admin, как часто бывает при пусконаладке)
  • кнопка отправить

Change History (3)

comment:1 by alx, 8 years ago

Если вместе с именем отображать имя хоста/IP адрес, с которого пришел клиент, то и имя вводить не надо, разные admin'ы и так будут различаться...

Есть предложения по алгоритму, каким образом браузер будет запрашивать новые сообщения? Так как HTTP - stateless протокол, и обновления могут происходить только периодически по запросам клиентов, получается, что swd должен хранить сообщения чата за некоторое время (заведомо превышающее период обращения клиентов), например 1 минуту. Логично? И, наверное, сообщения должны как-то идентифицироваться, чтобы клиент в запросе мог указать идентификатор последнего имеющегося у него сообщения. Как формировать такие идентификаторы, которые, к тому же, должны переживать рестарты swd (иначе чат перестанет работать после рестарта)? Есть мысли лучше чем время в секундах плюс некий номер?

comment:2 by alx, 8 years ago

Milestone: 2 очередь1 очередь

comment:3 by alx, 7 years ago

Resolution: fixed
Status: newclosed

In 1451/sw:

Реализована функция чата. Closes #194.

Note: See TracTickets for help on using tickets.