From OpenSCADAWiki
< Documents | Release 0.9
Revision as of 11:00, 15 November 2020 by RomanSavochenko (Talk | contribs)
- Состояние: Завершено
Общий процесс выпуска, пользователям для оценки ваших ожиданий и разработчикам для напоминания задач:
1. Неделя подготовки и сборки:
- Сборка последней Рабочей (Work) SVN-ревизии для всех окружений нерегулярной сборки чтобы обеспечить раннее и широкое тестирование предшествующего LTS релиза.
- Анонсирование начала процесса выпуска:
- создание новой страницы релиза или страницы обновления на Wiki;
- создание новой новости-страницы на сайте OpenSCADA.
- Объединение изменений Рабочей (Work) версии, или копирование целиком дерева Рабочей ветви, в LTS ветвь-дерево.
- Внесение некоторых изменений, специфических для LTS, на предмет поднятия версий:
- обновление configure.ac на предмет версии выпуска-обновления и библиотеки ядра;
- обновление data/*.spec и data/{debian,debian_mod}/changelog на предмет нового номера версии и дополнения протокола изменений файлов новыми записями выпуска-обновления.
- Формирование-дополнение ПротоколаИзменений LTS изменениями из ПротоколаИзменений Work, группируя изменения по размещению и сортируя их по состоянию исправления и уровню, с комбинированием новых возможностей в одном элементе и без удаления любых отличных изменений.
- Копирование значительных изменений из сформированного ПротоколаИзменений LTS на соответствующую страницу релиза-обновления, беря изменения с уровнем более или равные "!!".
- Перевод страницы(ц) релиза-обновления, обновление "Сделать (ToDo)" и "Дорожная карта (RoadMap)".
- Генерация актуальной внесетевой документации используя сервисную процедуру "EXT: Off-line documentation".
- Применение-выгрузка изменений LTS дерева в репозиторий и сборка этого.
2. The testing and post-building week(s):
- Updating the Download page.
- Announcing the release-update, also on FaceBook and LinkedIn.
- Hot testing the release build.
- Finishing and fixing the ChangeLog translating and the documentation.
- Generating the actual offline documentation using the service procedure "EXT: Off-line documentation".
- Committing the release fixes to the repository and building that for the second build, and for each week of appearing critical fixes — the first week without the critical fixes means the final of the LTS releasing, so, USERS — test closely the LTS release for do not complain to its final build!
- Updating binary copies of standard OpenSCADA libraries: OscadaLibs.db, VcaBase.db, VcaElectroEls.db.
Это обновление релиза 0.9 LTS исправляет около 60 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
Linux Дистрибутив Автоматизации проекта OpenSCADA
- Завершено усовершенствование KMix в работе с PulseAudio, путём его динамизации патчем "kmix-UpdMixersForChangeAndChMaster.patch".
- KRfb (VNC-сервер) был исправлен на предмет аварийного завершения и завершена реализация набора дополнительных клавиш к основной клавиатурной раскладке, в основном Кириллицы, но также и дополнительных UTF символов.
- Завершено обновление перевода проекта Окружения Рабочего Стола Trinity на Украинский для частей: tdelibs, tdebase, tdenetwork, tdemultimedia, tdepim (в основном), krusader, yakuake.
OpenSCADA библиотеки и проекты
- LibsDB.OscadaLibs: Библиотеку Устройств дополнено реализацией протокола IEC-62056 (DevLib.IEC62056). Внесетевая документация дополнена документом "СОГЛАШЕНИЕ О ТЕХНИЧЕСКОЙ ПОДДЕРЖКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ "OpenSCADA" версии 2 и нового модуля DB.DBGate.
- FIX:LibsDB.vcaBase.Main.alarmsSt: Несколько исправлено на предмет оригинальных сообщений и "quietation" целиком заменено на "confirmation". Восстановлено предотвращение дублированных записей новых нарушений в той самой категории.
API
!!!!:Изменения:
- SYS: Унифицированы статусы станции в функциях isRunning(), isFinalKill() и stopSignal(). TCfg::setReqKey() дополнен новым аргументом "treatDep".
- DB: dataSeek(),dataGet(),dataSet(): Расширены аргументом локального конфигурационного контекста "localCfgCtx";
- *,DB: TBDS::dataSeek() и TTable::fieldSeek() переключены на реализацию кеша сканирования в соответствующих модулях.
Дополнения:
- TMess,DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TMess дополнено функцией обнаружения перевода конфигурации translCfg(), которую использовано во всех модулях БД и в dataSet().
- SYS: Дополнено функциями доступа к глобальному конфигурационному контексту cfgCtx() и setCfgCtx().
- Загрузка и сохранение конфигурации дополнена собственным блокированием TSYS->cfgLoadSaveM().
- Дополнено функцией pathLevEnd() обработки путей с конца.
- TRegExp: Дополнено функцией getPattern().
- TFld: Дополнено комбинированным строковым вариантом поля длины - lenS().
Система
- FIX: Сборка:
- FIX:configure.ac: Версия библиотеки ядра увеличена до 3:8:0 и версия программы увеличена до 0.9.2.
- Модульную версию подсистемы "БД" увеличено до 14, подсистемы "Транспорты" увеличено до 16.
- data/ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: Входные транспорты Сокетов унифицированы в названиях "WEB" и "CNTR".
- data/ModelsDB/AGLKS/St.sql: Входные транспорты SSL унифицированы в названиях "WEB" и "CNTR" и обновлены установкой KeepAlive таймаута в 60 и SSL-сертификата.
- data/{oscada_start,oscada_server,oscada_plc}.xml:
- Входные WWW-транспорты унифицированы, где "WEB_1" переименован в "WEB" и удалён "WEB_2".
- Дополнено выключенными записями БД стандартных библиотек OpenSCADA.
- /oscada_start.xml: Дополнено выключенными входными транспортами "WEB" и "CNTR". Дополнено архиваторами значений FSArch.{SYS,alarms,actions} и архиваторами сообщений FSArch.{1s,1m,1h}.
- FIX:data/openscada-proj.in,UI.QTStarter: Реализация встроенного резервирования.
- FIX:data/openscada-proj.in: Дополнено командами "backup", "backupRestore", "backupList" реализации резервирования проектов.
- UI.QTStarter: Дополнено вызовом команд резервирования из менеджера проектов - перечня проектов.
- .,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Реализация механизма междустанционного копирования узлов интерфейса управления.
- .,UI.QTStarter: Запуск OpenSCADA с GUI модулем в основном потоке значительно пересмотрен на предмет:
- ранней регистрации GUI модуля в основном потоке непосредственно самим этим модулем и в функции postEnable();
- адаптации функции perSYSCall() к использованию при обновлении GUI модуля в основном потоке, в основном его заставки (сплеша), в течении запуска и останова (из сервисной задачи) и при загрузке конфигурации (для переключения на заставку запуску);
- включения динамического отображения сообщений для режима исполнения в основном потоке;
- унификации отображения заставки в обоих режимах.
- .,Protocol.SelfSystem,DAQ.AMRDevs: Доступ клиента к интерфейсу управления OpenSCADA расширен множественной аутентификацией, что исключает использование прямых запросов к интерфейсу управления OpenSCADA с аутентификацией в каждом запросе, часто в UI.Vision.
- FIX:TRegExp: Исправлена обработка шаблонов, добавлением обработки символа окончания, таким образом предотвращая коллизии чёткого определения объектов в TController::alarmSet().
- FIX:LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Предотвращено двойную подстройку шкалы значений для процентной шкалы и дополнено расширением диапазона значений.
- FIX: Обработка предков в функции TCntrNode::isModify() разрешено только для узлов в состоянии "Включено".
БД
- Создан новый модуль "DBGate".
- FIX: TBDS::dataSet() расширено установкой только ключей и видимых элементов, как у других БД. Дополнено сменой-сохранением определённых элементов в конфигурационном файле вместо полного сохранения всех их в типовой БД.
- FIX: Исправлен первый ошибочный запуск объектов БД на предмет последующих попыток запуска.
- FIX: Загрузка БД предотвращена от двойной загрузки из конфигурационного файла и БД, относительно одинаковых записей.
- Объект TBD дополнен поддержкой сервисных контрольных запросов "call": "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel".
- FIX:SQLite: Обнаружена и исправлена потеря данных при конкурентном доступе, когда генерируется непринципиальная ошибка неактивированности транзакции "cannot commit - no transaction is active (1)", которая, однако, прерывает запись данных.
Сбор Данных
- FIX: JavaLikeCalc: Исполнение внутренних функций дополнено сохранением контекста общих-собственных регистров, в двух вариантах, первично для поддержки рекурсии.
Транспорты
- Выходные транспорты унифицированы созданием параметров подключения, с помощью conPrm(), вместо прямых prm1() и prm2().
- Удалён конфигурационный параметр "START" выходных транспортов, как лишний и для предотвращения продолжительного запуска.
- FIX:Sockets,SSL: Для предотвращения многоразового исполнения запросов высокой нагрузки и продолжительного контроля, выходные транспорты переключены на:
- типовую конфигурацию для Попыток=1, Таймауты="30:2";
- для потери подключений количество попыток установлено в 2;
- для ошибок "Исчерпано время" подключение также пере-подключается, кроме типа SOCK_FORCE.
Транспортные Протоколы
- FIX:ModBus: Выходные запросы TCP-варианта дополнены проверкой Идентификатора Транзакции пакетов ответа.
- FIX:SelfSystem: Выходная часть расширена проверкой соответствия ответов запросам, по названию тега запроса. Дополнено кодированием специальных символов пользователя и пароля, и пустой пароль кодируется как "<EMPTY>".
Интерфейс Пользователя
- Vision,WebVision: Свойство специфическое для визуализатора "userSetVis" дополнено реализацией пароля после прямо указанного пользователя и для применения со всеми пользователями.
- FIX:QTStarter: Стандартная-системная заставка запуска/останова обновлена и дополнена информацией про программу (также пользовательские заставки) и проект OpenSCADA, включая иконку проекта. Контекстное меню списка проектов дополнено пунктом удаления не исполняемых проектов.
- FIX:QTCfg: Дополнен слежением за сменой страницы с индикацией в дереве навигации и с прокруткой к текущему элементу.
- FIX:VCAEngine: Предотвращено аварийное завершение на больших конфигурациях с продолжительным закрытием сеансов исполнения во время доступа к наследникам виджета (mHerit), добавлением ResRW блокирования "mHeritRes". Свойство "Перевод" процедур виджетов целиком перенесено под прямой доступ и видимость установлена только при наличии процедуры, также как видимость области текста процедуры и периодичности вычисления от выбора языка.
- FIX:Vision: Существенно унифицирована процедура аутентификации и смены пользователя в UserStBar::userSel() и объект диалога "DlgUser".
- FIX:WebVision: Унифицирована имплементация примитива "Кнопка": переносом специфических кнопок под <button></button> и добавлением соответствующих CSS-стилей для типового и нажатого состояния с отличной границей и полупрозрачным изображением. Исправлена, в конце концов, проблема закрытия всех страниц контейнера основных страниц с заморозкой последней потерянной страницы при быстром переключении. Дополнено пользовательскими CSS правилами интерфейса.