Дорожная карта проекта Mibew Messenger

Преамбула

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

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

Информационные вопросы

Проекту требуется публикация большего количества информации. Документации, руководств, пособий и т.д.

Также нам нужна демонстрационная установка не только стабильной версии Mibew, но и грядущей версии, чтобы пользователи могли попробовать её без установки «ночной сборки».

Таким образом, мы собираемся:

  1. Запустить новый сайт (сделано)
  2. Опубликовать и на сайте, и на GitHub пошаговое руководство по процессам установки и обновления
  3. Обновить и существенно дополнить существующий FAQ (сделано)
  4. Развернуть демонстрационную установку нестабильного Mibew 2.0 с регулярными обновлениями (сделано)
  5. Реализовать доступные для скачивания «ночные сборки»
  6. Начать публикацию на сайте пособий, руководств (сделано) и автоматически созданной документации по коду
  7. Публиковать приблизительный календарный план релизов
  8. Реорганизовать форум в соответствии с текущим состоянием проекта (сделано)

Вопросы разработки

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

Таким образом, мы планируем:

  1. Принять и (сделано) опубликовать правила стиля кодирования
  2. Применить правила стиля кодирования к существующему коду (сделано)
  3. Повысить общее качество кода (сделано)
  4. Разработать и опубликовать правила передачи кода проекту
  5. Реорганизовать ветку master репозитория (убрать Mibew Tray и другой устаревший код из ветки master) (сделано)
  6. Перейти на более удобную кроссплатформенную систему сборки (сделано)
  7. Пересмотреть все существующие модульные тесты и создать новые
  8. Использовать автоматизированные тесты в процессе сборки
  9. Реализовать автоматизированное создание документации по коду в процессе сборки
  10. Перейти на плановую схему релизов

Mibew Messenger в целом

В течение долгого времени проект Mibew Messenger страдает от уязвимостей. Это должно быть исправлено.

Таким образом, мы планируем:

  1. Исправить известные уязвимости (сделано)

Mibew Messenger 1.6.x

Mibew Messenger ветки 1.6.x должен рассматриваться в качестве устаревшей версии Mibew.

Мы не будем выпускать новые версии в рамках этой ветки.

Mibew Messenger 2.x

Mibew Messenger ветки 2.x должен рассматриваться в качестве текущей ветки Mibew Messenger. Стабильная версия Mibew Messenger, пригодная к рабочему использованию, была выпущена и доступна для скачивания.

Новые функциональные возможности будут реализованы в грядущих релизах.

Мы планируем:

  1. Реализовать диспетчер запросов (сделано)
  2. Реализовать более удобные процедуры установки и обновления системы (сделано)
  3. Реализовать механизм установки и обновления плагинов (сделано)
  4. Добавить события для использования плагинами во все важные функциональные части Mibew (сделано)
  5. Реализовать API для внешних настольных и мобильных приложений
  6. Опубликовать подробную документацию по Plugins API и External API
  7. Перейти на использование для локализации файлов .po / (сделано) .mo
  8. Изменить коды локалей на стандартые (сделано)
  9. Удалить из кода все следы старых ссылок и названий (openwebim, и т.п.) (сделано)
  10. Перейти на ролевую модель пользовательских полномочий
  11. Реализовать «солёные» хеши паролей (сделано)
  12. Добавить поддержку IDN (сделано)
  13. Добавить поддержку временной зоны сервера (сделано)
  14. Реализовать настоящие баны для спамеров (реализовано в плагине)
  15. Добавить настраиваемые опросы до и после диалогов
  16. Реализовать возможность использования диалогов с использованием iframe-ов вместо окон
  17. Внедрить новую схему уведомлений о доступных обновлениях

Возможные плагины

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

Ниже приведён краткий список функциональных возможностей, которые могут быть реализованы с использованием плагинов:

  1. Архивация старых сообщений
  2. Временные интервалы для статистики
  3. Аутентификация через LDAP
  4. Уведомления по XMPP
  5. Уведомления по SMTP (реализовано в ядре)
  6. Интеграция Google Maps (реализовано в плагине)

Разумеется, мы будет активно поддерживать разработку сторонних плагинов к Mibew.

Mibew Tray

Mibew Tray должен рассматриваться в качестве отдельного и устаревшего настольного приложения, привязанного к ветке 1.6.x как в плане технологий, так и идеологически.

Мы не планируем дальнейшей разработки Mibew Tray.