Продолжается работа над улучшением юзабилити Intellect Board. В частности, переработана вставка цитат: теперь она делается с сохранением всего HTML-оформления цитируемого сообщения, включая изображения. Кроме того, для цитирования картинки теперь стало проще выделять мышкой (для тех, кто знает CSS — были прописаны правила user-select: text; pointer-events: none), а при отображении внутри цитаты изображение будет значительно уменьшено. Результаты этих доработок уже можно опробовать на этом форуме!
Новости проекта и блог разработки
О том, как идёт разработка скрипта форума
Юзабилити: сохранение оформления и картинок при цитировании
Вышла новая сборка — 3.05 Rebuild 2
Сегодня вышла новая сборка, получившая название Intellect Board 3.05 Rebuild 2 с рядом доработок:
- При подписке на весь раздел или форум появилась возможность добавлять отдельные темы в список исключения, чтобы уведомления о них не приходили на EMail. Это можно сделать как по ссылке в самом EMail-сообщении, так и непосредственно в теме. Кроме того, исправлена ошибка, из-за которой при подписке и на тему, и на форум уведомление приходило дважды.
- Больше не отправляются уведомления о сообщениях, которые пишут пользователи, внесённые в список игнорирования.
Выпущена промежуточная сборка — 3.05 rebuild
Из-за большого объёма доработок по новой версии я принял решение выложить промежуточную сборку, получившую обозначение Intellect Board 3.05 Rebuild.
Наиболее существенные изменения
- Настроена фильтрация тегов HTML по белому списку, поэтому теперь можно разрешить его применение и рядовым пользователям. Сам список тегов задаётся в файле etc/tags.txt.
- Добавлена поддержка PWA (Progressive Web Application): теперь просмотренные страницы доступны в оффлайн режиме. Также ускорилось открытие страниц за счёт улучшенного кеширования файлов шрифтов, скриптов и стилей.
- Возможность ограничить время редактирования сообщений, а также удалить своё сообщение в течение этого времени, если в теме не появилось новых ответов.
- Решена проблема с поддержкой emoji, коды которых больше 0xFFFFFF.
- Полностью переработано автосохранение форм с сообщением: теперь сохраняется не только основной текст, но и все поля формы.
Началась работа над новой версией
Началась работа над новой версией Intellect Board. Увы, приходится признать, что традиционные форумы слишком плохо совместимы с современными условиями жизни, где постоянно присутствует перегруз информацией. Поэтому новая версия будет строится вокруг идеи «интерфейс должен экономить когнитивные усилия, а не требовать дополнительных», а контент — максимально легкодоступным. Для этого планируется с нуля сверстать новый стиль на основе макета, сгенерированного с помощью нейросети, с меньшей визуальной перегрузкой, и написать новый модуль для главной страницы, а основной упор будет сделан на развитие разделов блогов и микроблогов. За основу будет взят подход, применяемый в проекте Читать далее…
Создан репозиторий на GitHub
Теперь у Intellect Board есть и репозиторий в GitHub. Так что присылайте ваши pull requests!
Там же опубликована копия дистрибутива 3.05 в разделе Releases.
Теперь при желании вы можете попробовать установить самую последнюю сборку IntB из ветки current.
Для этого сделайте
См. код в полном сообщении.
и затем скопируйте файл install/install.php в каталог www.
Читать далее…Вышла версия 3.05
Состоялся выпуск версии 3.05 — самого крупного обновления за всю историю проекта. Теперь Intellect Board может работать не только с MySQL, но и с двумя другими СУБД — PostgreSQL и SQLite, а также много новых возможностей. Добавлен новый тип разделов — фотогалерея, в которой можно выложить фотоальбом и сопроводить его пояснительной историей, а также подписать отдельные фотографии. Появилась поддержка ряда протоколов IndieWeb: IndieAuth (только серверная часть), WebMention (клиент и сервер), MicroPub и разметки h-feed и h-card. Добавлена возможность отправлять уведомления о новых темах в Telegram, а новые сообщения в блогах и микроблогах — в ВК и LiveJournal.
Читать далее…Решён вопрос с конвертацией на Postgres
Благодаря утилите pgloader удалось автоматизировать конвертацию базы данных из MySQL в Postgres. В процессе выяснилось, что ENUMы преобразуются не самым лучшим образом: для каждого ENUM из MySQL создаётся уникальный именованный тип в Postgres. Не сказать, чтобы это было хорошим решением, но перевод всей базы с ENUM на TINYINT — это ещё хуже. Но в любом случае, это дало возможность добавить в инсталлятор поддержку установки на Postgres. Теперь ещё несколько дней тестирования, и состоится выпуск Intellect Board 3.05 с поддержкой Postgres и, возможно, SQLite (это пока под вопросом).
Добавлен морфологический поиск
На официальном сайте Intellect Board появился поиск с учётом словоформ с помощью Sphinx Search. Кроме того, это дало возможность искать Как выяснилось, Native Sphinx API, которая использовалась с версии 3.00, теперь считается устаревшей (deprecated), поэтому пришлось переписать библиотеку работы со Sphinx на SphinxQL и использование функций mysqli_*. Кроме того, в окончательную версию 3.05 будет добавлена возможность указывать в настройках имена индексов, что может быть полезно, если на одном сервере запущено несколько форумов IntB. Также написана документация о том, как настраивать Sphinx.
Обновлён демонстрационный форум
Обновлён демонстрационный сайт Intellect Board. Теперь на него установлена версия 3.05. На него добавлены новые типы разделов: блог, микроблог и фотогалерея. Кроме этого, создана категория «Разделы с необычными настройками», где показано, как с помощью изменения настроек получить раздел-хранилище знаний с автоматическим присвоением статусов «флуд» и «ценное», раздел с анонимной отправкой сообщений и раздел, где каждый автор темы будет автоматически получать права куратора в ней.
Кроме того, изменился режим доступа: теперь после регистрации присваиваются права обычного пользователя, а чтобы получить администраторские права, нужно зайти под пользователем Admin с паролем demo.
Началось открытое тестирование IntB 3.05 RC1
Началось открытое тестирование Release Candidate версии 3.05, которая станет самым крупным обновлением за всю историю Intellect Board. В частности, в этой версии было сделано следующее:
- Обеспечена совместимость с последними версиями PHP, включая 8.2.
- Обновлены основные сторонние зависимости: шаблонизатор Twig, библиотека jQuery и CKEditor. В результате обновления Twig удалось достигнуть более экономного расхода памяти: некешированные запросы теперь требуют от 1.6 до 2 Мб памяти, кешированные — 600-800 Кб (по данным функции memory_get_peak_usage под PHP 8.2 на 64-битной платформе).
- Добавлен самый долгожданный тип раздела — фотогалерея с тремя режимами просмотра фото: обычный, показ всех фото в полный размер и показ EXIF-данных фото. Также галерея поддерживает автоматический поворот фото на основе EXIF-данных и извлечение геометок.
- Добавлены несколько новых тегов:

