From OpenSCADAWiki
< Documents | Release 0.8.0
Это обновление релиза 0.8 LTS исправляет около 30 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
API
!!!!:Изменения
- SYS:
- XMLNode: Функции save() и saveNode() установлены как постоянные.
- XMLNodeObj: Функция API пользователя text() расширена аргументом "full" для комбинирования текста дочерних узлов.
- ModSchedule: Функции ScanDir() и CheckFile() переименованы соответственно в dirScan() и fileCheck().
- Transport.out: Функция API пользователя messIO() расширена для возврата везде строкового типа.
- Special.FLibSYS: Функция API пользователя dbReqSQL() приведена ко свойствам функции SYS.BD["TypeDB"]["DB"].SQLReq().
Дополнения:
- SYS: Функция TMess::getUTF8() добавлена и использована для определения символов UTF-8 в XMLNode::encode(). TCntrNode: Расширен функцией API пользователя "messSys".
- Archive.Value: Функции API пользователя дополнены setVal().
SYS
- Исправлено множество оригинальных сообщений.
- ModSchedule: Закрытие модулей при выходе заменено на первичное закрытие модулей, а уже затем отключение библиотек. Процедура сканирования модулей расширена шаблоном имени модуля в конце пути.
- Значительные изменения в сборочной системе.
- XMLNode: Сериализация была расширена правильной проверкой UTF-8 символов и обработкой " " в функции encode() и парсере, для сущности " ".
- Protocol.HTTP,UI.{WebUser,WebVision}: Добавлена поддержка ACL для контроля за доступом и видимостью элементов индексаторов Web ресурсов.
- Добавлена опцию командной строки "lang".
Сбор данных
- ModBus: Исправлена обработка дублирующих атрибутов стандартных параметров.
- DAQGate: Исправлены запросы к другой станции после удаления предыдущей. Расширено на предмет возможности записи в атрибуты "NAME" и "DESCR".
Архив
- Исправлено на предмет определения нужного архиватора по его периодичности, позволяет корректно выбирать архиватор по периодичности более чем в одну минуту при построении графиков.
- FSArch:
- Исправлено функцию проверки архиваторов на предмет корректной обработки ограничения ёмкости архивации значений путём удаления его архивированных файлов по максимальному количеству.
- Исправлено чтение очень длинных сообщений и предотвращено чтение ошибочных сообщений в целом.
- Расширено для сохранения INFO файлов в стандартный файл БД SQLite в каталоге этого архиватора.
Транспорт
- SSL:
- Исправлены освобождения, в клиентской части, которые приводили к падениям и блокировкам, на предмет отсутствия SSL_free() и освобождения переменных "ctx", "ssl", "conn" при повторном запуске, в выходной части. Широко протестировано на браузерах Chrome, Firefox; на предмет освобождения описателей файлов и в Valgrind.
- Метод "SSLv2" был окончательно удален ввиду его небезопасности и полного удаления из OpenSSL 1.1.
- Функции SSLv3_server_method() и SSLv3_client_method() установлены для выключения по определению OPENSSL_NO_SSL3.
Протокол
- OPC_UA{*.libOPC_UA}: К объекту сервера добавлен ресурс "mtxData", который использован для доступа к контейнеру каналов безопасности.
Интерфейс Пользователя
- {VCAEngine,Vision,WebVision}: Добавлен атрибут "mult" к виду "Список" примитива "FormEl" для возможности выбора нескольких элементов.
- QTStarter: Полностью обновлен с Рабочей ветви.
- QTCfg: Завершена реализацию правильного вписывания масштабируемых вертикально элементов: тексты, таблицы и списки. Исправлена обработка sizeHint() и minimumSizeHint() для элементов "Текст" и "Список".
- VCAEngine: К механизму динамического связывания добавлена проверка связей на активность.
- Vision:
- Добавлена очистка изображений примитиву "Медиа" по установке пустой строки.
- К кодированию в хранилище по TSYS::base64 установлен разделитель "\n".
- Исправлен размер виджетов, которые открываются для редактирования, на больших экранах, эта подстройка сделана условной от отсутствия открытого активного и максимизированного виджета ввиду проблемы в Qt.
- FormEl.Table: Исправлено на предмет свойств колонок. Расширено свойство "width" скрытием этой колонки при значении 0. Использован масштаб по X в конечной ширине колонки.
- WebCfgD:
- Несколько улучшена обработка элемента "Таблица" для большого содержимого и исправлено редактирование ключевых элементов.
- Подстройка к доступному пространству масштабированных вертикально элементов: тексты, таблицы, списки.
- Библиотека GD была заменена фильтрами CSS и сделана опциональной, по --enable-LibGD.
- Несколько улучшено формирование дерева навигации и диалогов, падающей тенью и прозрачным фоном для предотвращения доступа к общему пространству.
- Расширено копирование элементов копированием их в свой корень и через себя.
- Общие улучшения.
- WebVision:
- Исправлена ширина окна контекстного меню.
- Исправлено поведение примитива "Медиа" в не режиме "Вписывать" для предотвращения проблем масштабирования путём полного удаления тега <img>. К изображениям этого примитива добавлено вертикальное выравнивание.
- Исправлено и улучшено формирование диалогов, малых встроенных окон, шрифт заголовка установлен в 12pt.
- Подавлено системное контекстное меню для активных виджетов.
- Исправлена обработка границ и прозрачного фона. Обработка фона примитивов обобщена и осуществляется после обработки самих примитивов и добавлена сама обработка прозрачности-непрозрачности фона в отдельном блоке (div), который создаётся по уровню непрозрачности.
- Примитив "Текст": обработка пробела установлена в "white-space: pre-wrap", добавлена поддержка свойства "wordWrap".
- Вид "Кнопка" примитива "FormEl": исправлен на предмет переноса слов на браузере Chrome, переключен на использования фильтров в отображении неактивных изображений.
- Реализован вид "Панель прокрутки", "Панель проворачивания", "Таблица", "Дерево". Вид "Панель прокрутки" сейчас такой как "Панель проворачивания".
- Вид "Строка" примитива "FormEl" расширен календарём для вариантов по дате.
- Добавлена поддержка специфических визуализатору атрибутов через их активацию.
- Добавлена подстройка размера главной страницы к доступному пространству окна браузера, только в сторону увеличения и с контролем пропорциональности.
- XHTML часть страницы вынесена в отдельный файл подобно части JavaScript. Всё основное в CSS правилах перенесено в XHTML файл.
- Общие улучшения.