From OpenSCADAWiki
< Documents | Release 0.9
Revision as of 10:53, 15 November 2020 by FuzzyBot (Talk | contribs) (Updating to match new version of source page)
- State: Completed
The common releasing process for the users to estimate your expectations and for the developers to remind the tasks:
1. The preparing and building week:
- Building the last Work SVN-revision for all environments of the irregular building to provide early and wide testing the coming LTS release.
- Announcing the releasing process start:
- creating a new release page or update page on the Wiki;
- creating a new news-page on the OpenSCADA site.
- Merging the Work branch changes or copying the whole Work branch tree to the LTS branch-tree.
- Making some LTS specific changes about the version rise:
- updating configure.ac for version of the release-update and core library;
- updating data/*.spec and data/{debian,debian_mod}/changelog for the new version number and appending the files' changelog for new release-update entry.
- Forming-appending the LTS ChangeLog by the changes from the Work ChangeLog, grouping the changes by the location and sorting them by the fixing status and the level, with combination new features under one item and without removing any different changes.
- Copying the significant changes from the formed LTS ChangeLog to the related page of the release-update, taking the changes in the level more or even than "!!".
- Translating the release-update page(s), updating the ToDo and RoadMap.
- Generating the actual offline documentation using the service procedure "EXT: Off-line documentation".
- Committing the LTS tree changes to the repository and building that.
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.
This update of the 0.9 LTS release fixes about 60 bugs and appends some improvements, which you can read wholly in the update ChangeLog.
Automation Linux distributive of the project OpenSCADA
- KMix was completed in improving the work with PulseAudio by making dynamic in the patch "kmix-UpdMixersForChangeAndChMaster.patch".
- KRfb (VNC-server) was fixed for crashed and completed in implementation typing the additional keys to the main keyboard layout, Cyrillic mostly but allowed for additional UTF symbols also.
- Complete translation updating of the Trinity Desktop Environment project to Ukrainian for the parts: tdelibs, tdebase, tdenetwork, tdemultimedia, tdepim (mostly), krusader, yakuake.
OpenSCADA libraries and projects
- LibsDB.OscadaLibs: The Devices Library appended for the protocol IEC-62056 implementation (DevLib.IEC62056). The offline documentation appended for the document "AGREEMENT ON TECHNICAL SUPPORT OF THE "OpenSCADA" SOFTWARE" version 2 and the new module DB.DBGate.
- FIX:LibsDB.vcaBase.Main.alarmsSt: Some fixed for the original messages and the "quietation" completely replaced by "confirmation". Restored in preventing the duplicate entries for new alarms in that category.
API
!!!!:Changes:
- SYS: The station statuses unified in the function isRunning(), isFinalKill() and stopSignal(). TCfg::setReqKey() appended by a new argument "treatDep".
- DB: dataSeek(),dataGet(),dataSet(): Expanded for the local configuration context argument "localCfgCtx";
- *,DB: TBDS::dataSeek() and TTable::fieldSeek() switched to the seek cache implementing in the corresponded modules.
Appends:
- TMess,DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TMess appended for a function of detection the configuration translation translCfg(), which used in all DB modules and in dataSet().
- SYS: Appended for the global configuration context accessing functions cfgCtx() and setCfgCtx().
- The loading and saving configuration appended for own lock TSYS->cfgLoadSaveM().
- Appended for the function pathLevEnd() of the paths processing from the end.
- TRegExp: Appended by the function getPattern().
- TFld: Appended for the combined string variant of the length field - lenS().
SYS
- FIX: Building:
- FIX:configure.ac: Core library version rose to 3:8:0 and the program version rose to 0.9.2.
- Modules version of the subsystem "BD" rose to 14, of the subsystem "Transport" rose to 16.
- data/ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: The input Sockets' transports unified in the names "WEB" and "CNTR".
- data/ModelsDB/AGLKS/St.sql: The input SSL transports unified in the names "WEB" and "CNTR" and updated for the KeepAlive timeout setting in 60 and for the SSL-certificate.
- data/{oscada_start,oscada_server,oscada_plc}.xml:
- The input WWW-transports are unified, where "WEB_1" renamed to "WEB" and "WEB_2" removed.
- Appended for the disabled DB-entries of the standard OpenSCADA libraries.
- /oscada_start.xml: Appended for the disabled input transports "WEB" and "CNTR". Appended for the value archivers FSArch.{SYS,alarms,actions} and message archivers FSArch.{1s,1m,1h}.
- FIX:data/openscada-proj.in,UI.QTStarter: Implementation the builtin backuping.
- FIX:data/openscada-proj.in: Appended for the commands "backup", "backupRestore", "backupList" to implement the project backups.
- UI.QTStarter: Appended for the backup commands call from the project manager - list of the projects.
- .,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Implementation the interstation copying mechanism of the control interface nodes.
- .,UI.QTStarter: OpenSCADA starting with a module as the GUI in the main thread significantly refactored for:
- early registration the GUI module in the main thread directly by that module itself and in postEnable() function;
- adaption the function perSYSCall() to use for update the GUI module in the main thread, its splash mostly, during the program starting and stopping (from the service task) and at the configuration loading (for switch to the starting splash);
- enabling the messages dynamic display for the main thread execution mode;
- unification of the splash display for the both modes.
- .,Protocol.SelfSystem,DAQ.AMRDevs: Client accessing of the OpenSCADA control interface expanded by the multiple authentication, what prevents of using direct requests of the OpenSCADA control interface with the authentication in each the request, often for UI.Vision.
- FIX:TRegExp: The patterns processing fixed appending the end symbol treating, so preventing TController::alarmSet() collisions in the objects strict detection.
- FIX:LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Prevented from the value scale double adjustment for the percent scale and appended for the value range expanding.
- FIX: The function TCntrNode::isModify() processing for the children allowed only for nodes in the state "Enabled".
DB
- A new module "DBGate" created.
- FIX: TBDS::dataSet() expanded for setting only keys and viewed elements, like to other DB. Appended for changing-saving the defined entries in the config file instead complete saving all their in the default DB.
- FIX: The wrong started DB objects in the first fixed for try them next start tries.
- FIX: DB loading is prevented from double loading from the config file and from DB for the equal entries.
- The TBD object appended for the service control "call" requests support: "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel".
- FIX:SQLite: Detected and corrected of data losses with concurrence access, when a minor error of the not activated transaction "cannot commit - no transaction is active (1)" is generated, which, however, interrupts the data recording.
DAQ
- FIX: JavaLikeCalc: The internal functions executing appended for storing the shared-own registers context, in two variants, for allowing the recursion primarily.
Transports
- The output transports unified by creation the connection parameters, by conPrm(), instead direct ones prm1() and prm2().
- The configuration option "START" was removed for the output transports as spare one and to prevent long starting.
- FIX:Sockets,SSL: To prevent the multiple execution of the high loading and long-time control requests the output transports switched to:
- the default configuration for Tries=1, Timeouts="30:2";
- for the connection losses the tries number set to 2;
- for the error "Timeouted" the connections also set to reconnect, besides the SOCK_FORCE type.
Transport Protocols
- FIX:ModBus: The output requests of the TCP-variant appended for checking Transaction ID of the response packages.
- FIX:SelfSystem: The output part expanded for checking correspondence of the responses to the requests by the request tag name. Appended for encoding special symbols of the user and password, and the empty password encoding as "<EMPTY>".
User Interface
- Vision,WebVision: The visualizer specific property "userSetVis" appended for password implementation after the direct user specifying and for applying all users.
- FIX:QTStarter: The standard-system start/stop splash updated and appended for information about the program (the custom splashes also) and the OpenSCADA project, including the project icon. Context menu of the project list appended for an item of removing not running projects.
- FIX:QTCfg: Appended in tracing the page changing for indication in the navigation tree with scrolling to the current item.
- FIX:VCAEngine: Prevented from crashing on big configurations with long closing the runtime sessions in accessing the widget heritors (mHerit) by appending the ResRW lock "mHeritRes". The property "Translation" of the widget procedures completely moved to the direct access and set visible only for the procedure presence, also as the procedure text area and the calculation periodicity visible only at any language selection.
- FIX:Vision: The authentication and user changing procedure in UserStBar::userSel() and the dialogue object "DlgUser" were significantly unified.
- FIX:WebVision: Unified in the primitive "Button" implementation: by moving the custom buttons under <button></button> and appending the proper CSS-styles for the default and pressed state with the border and transparent image difference. The issue of closing all pages of the main page container with frozing the last loss page at fast page switching caught and fixed at last. Appended for the custom interface CSS rules.