НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2 >> [I128-2255] Отказ от медленного файлового кеширования (GetSidFile/SetSidFile) класса Record📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.2 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Record - Запись ИРБИС
Завершено: 26.03.2026 15:49
Отказ от медленного файлового кеширования (GetSidFile/SetSidFile) класса Record
Основные изменения:
General->GetSidFile/SetSidFile заменена на использование класса Cache.Record*Content) и карты соответствия SID к MFN (Record*SidMap) в модулях Database и Record. Это существенно ускоряет повторное чтение записей.ModuleOpts) и кэша записей модулей (ModuleRecordsCache).ObjectModuleAdminView, который отвечает за формирование конфигурации интерфейса. Из ObjectModule.php удалена генерация громоздких JS-строк. Теперь данные передаются в виде структурированного массива.Irbis.Admin.ModuleSettingsPanel (ModuleAdminPanel.js), который инкапсулирует логику формы настроек на стороне клиента.json_encode вместо ручной склейки строк для передачи данных в ExtJS, что повышает надежность и упрощает поддержку.UseModule, UseClass и магическом методе __call класса ObjectModule. Теперь имена модулей и внешних функций фильтруются на наличие недопустимых символов (например, ..).LinkAdd и LinkDrop прямой доступ к массиву $_REQUEST заменен на безопасное получение параметров через General->GetRequest.public вместо устаревшего var.GetModuleRecord и GetModuleRecordSid.irbis~~reclist128~~paneltab.js для улучшения обработки событий прокрутки и выбора записей.ObjectModule).fe_fGetAllProfilesCount).modules.php).-
Рефакторинг ObjectModule: внедрение кэширования, разделение логики представления и усиление безопасности
Основные изменения:
Внедрение системы кэширования:
General->GetSidFile/SetSidFile заменена на использование класса Cache.Record*Content) и карты соответствия SID к MFN (Record*SidMap) в модулях Database и Record. Это существенно ускоряет повторное чтение записей.ModuleOpts) и кэша записей модулей (ModuleRecordsCache).Рефакторинг административной панели (Разделение UI и логики):
ObjectModuleAdminView, который отвечает за формирование конфигурации интерфейса. Из ObjectModule.php удалена генерация громоздких JS-строк. Теперь данные передаются в виде структурированного массива.Irbis.Admin.ModuleSettingsPanel (ModuleAdminPanel.js), который инкапсулирует логику формы настроек на стороне клиента.json_encode вместо ручной склейки строк для передачи данных в ExtJS, что повышает надежность и упрощает поддержку.Безопасность:
UseModule, UseClass и магическом методе __call класса ObjectModule. Теперь имена модулей и внешних функций фильтруются на наличие недопустимых символов (например, ..).LinkAdd и LinkDrop прямой доступ к массиву $_REQUEST заменен на безопасное получение параметров через General->GetRequest.Оптимизация и исправления в ядре:
public вместо устаревшего var.GetModuleRecord и GetModuleRecordSid.irbis~~reclist128~~paneltab.js для улучшения обработки событий прокрутки и выбора записей.Прочее:
ObjectModule).fe_fGetAllProfilesCount).modules.php).[I128-2253] Многоуровневое кеширование
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2281] Отказ от медленного файлового кеширования (GetSidFile/SetSidFile) класса Record
Статус: Открытая задача | Автор: Ilya Mikhaylenko