Началась работа над новой версией Intellect Board. Увы, приходится признать, что традиционные форумы слишком плохо совместимы с современными условиями жизни, где постоянно присутствует перегруз информацией. Поэтому новая версия будет строится вокруг идеи «интерфейс должен экономить когнитивные усилия, а не требовать дополнительных», а контент — максимально легкодоступным. Для этого планируется с нуля сверстать новый стиль на основе макета, сгенерированного с помощью нейросети, с меньшей визуальной перегрузкой, и написать новый модуль для главной страницы, а основной упор будет сделан на развитие разделов блогов и микроблогов. За основу будет взят подход, применяемый в проекте Zulip: категории находятся в боковой колонке (с индикатором новых тем после последнего захода), и там же расположено то, что в Zulip называется views, — ссылки для выборки последних тем, активно обсуждаемых тем, «выбора редакции» (рекомендованных сообщений), темы, созданные или просмотренные текущим пользователем, закладки и т.п. При этом на главной будет выводиться список последних тем/статей (примерно то, что сейчас в разделе «последние сообщения»).
Вторая существенная переделка — это изменение подхода к использованию HTML. В выпущенных версиях предполагается, что HTML используют только некоторые доверенные пользователи (обычно администраторы и модераторы), а обычные пользователи для форматирования используют теги BoardCode. Однако из-за этого приходилось использовать WYSIWG-редактор SCeditor, обладающий многими недостатками, так как он — один из немногих, которые поддерживают BoardCode. В новой версии планируется разрешить HTML для всех, однако теги и их атрибуты будут фильтроваться по белому списку в целях безопасности. Это позволит использовать другие WYSIWYG-редакторы. В частности, сейчас рассматриваются варианты Quill (основной кандидат), Pell и Trix.
Ещё одним существенным изменением будет возможность загружать прикреплённые файлы на этапе редактирования, а не одновременно с отправкой страницы на сервер, как сейчас.
На данный момент уже реализовано следующее (доступно в ветке current на GitHub):
1. Рефакторинг кода с целью избавиться от загрузки библиотек через функцию load_lib. Реализована автозагрузка классов с помощью штатных средств PHP и создание их экземпляров через new Library_<libname>. Это позволит нормально использовать дополнения в IDE. Для тех же целей произведён рефакторинг класса Database: те методы, которые реализуются только в потомках (например, insert_ignore), в нём теперь объявлены как абстрактные.
2. Очистка HTML-кода (на данный момент пока с фиксированным списком тегов, потом планируется выделить его в отдельный файл конфигурации).
3. Автоматическое распознавание ссылок наиболее на популярные в Рунете видеохостинги (кроме Дзена), которые автоматически преобразовываются в код для вставки проигрывателя в страницу. На данный момент это сделано для ссылок в тегах [video] или [youtube], рассматривается вопрос автоматического распознавания таких ссылок в том случае, если они вставлены отдельной строкой.
4. Улучшение читаемости ссылок, вставленных без поясняющего текста: расшифровка кириллицы в доменах и путях, сокрытие префикса http/https, скрытие слишком длинной строки с параметрами URL.
В заключение остаётся добавить, что все эти изменения будут делаться как дополнительные возможности: в виде нового стиля, нового модуля главной страницы и т.п. А у тех, кому нужен форум в его традиционном виде, останется возможность настроить всё как было.
Началась работа над новой версией
Основная цель — переработка интерфейса для экономии когнитвных усилий
