2020-05-11 Roman 0.9.1.1 - FIX: data/openscada-proj.in: The command "list" some improved to show the preinstalled and user projects. - !!:FIX:SYS: The function TCntrNode::isModify() processing for the childs allowed only for nodes in the state "Enabled". FIX:TFunction: Set in started at the direct execution enabling. FIX:XMLNode: The function text() in the text taking mode from special parts "<*>" appended in reading the original text content at the childs missing. FIX:Transports: The IO log order inverted to the last in the end for the message parts visual concatenation. The "Request" tab appended in concatenation the response data at the request missing. FIX: The dynamic system properties mWorkDB, mSelDB and mMainCPUs moved under the data lock. - FIX:SYS,UI.{QTCfg,WebCfgD}: The control node attribute "acs" appended for the maximum level permition in the high octet what used in the configurators. - !!:FIX:UI.QTCfg: Fixed for the text field processing - updating with the previous syntax highlight rules, what causes the content visual corruption, and in the position restoring. - FIX:UI.WebCfgD: Fixed for the default target-group obtaining in itPaste(). Fixed for wrong call document.dlgWin.close(). 2020-04-27 Roman 0.9.1 - !:FIX:LibsDB.vcaBase: Main.userManager: Expanded by generation the operator action messages. Everywhere messInfo() of the operator actions "OP:" replaced to messNote(). Main.anShow1: The border width dislinked from the activity status. - Security: The user object expanded by the permition comparing function permitCmpr(). - !!!:FIX:DAQ,DAQ.{JavaLikeCalc,ModBus,Siemens},Protocol.UserProtocol,UI.WebUser: The templates implementation fixed in processing the links reconnections and the functions lnkInit() and initLnks() appended the forced relinking flag instead "checkNoLink". - !!:Protocol.HTTP: Appended for the user API function setUser() to change the authenticated user. - FIX:UI.VCAEngine: The widget processing state moved under the lock mCalcRes to ensure the start execution before any ordinal and the stop execution after any ordinal. The user last action time is initiated at the project session creation and connection. - UI.{Vision,WebVision}: The visualizer specific attribute "userSetVis" processing expanded by checking the directly set user for the lesser or even permition. - !!!:FIX:WebVision: Fixed for the POST requests correct result code 204. !!!: Appended for implementation the visualiser specific attribute "userSetVis". 2020-04-14 Roman 0.9.1 - FIX: The template "digitBlockUnif" of the library "base" fixed in own description, caused to the template loss. The function "diagram" removed from the JavaLikeCalc library "web". - LibsDB.vcaBase: Main.userManager expanded for the possibility to edit the unprivileged user own information and password. - !!:FIX:DAQ,DAQ.{LogicLev,ModBus,Siemens}: !!:FIX: The templates implementation fixed in editing the links configuration to force the template modification flag. !!:FIX: The value changing through the Control Interface forced to setting the parameter modification flag. LogicLev,ModBus,Siemens: Allowed for the parameter loading in the run, to reload the values context. - !!!:FIX:UI.WebVision: Fixed in work with some pages missing, at the runtime objects locking and the early linking mechanism improved in general. !!!: Significantly improved in the connection losses detection for the main page reload, for the cases of return back to already closed sessions in WebBrowser. The page of list the available projects and sessions appended for the actual user information. 2020-04-08 Roman 0.9.1 - OpenSCADA libraries and projects: LibsDB/*,{AGLKS,Boiler}: The Roman Savochenko EMail rom_as@oscada.org replaced by roman@oscada.org. !!!!:FIX:DB.LibsDB.{OscadaLibs,vcaBase}: Translation updating. !!!!:FIX:JavaLikeCalc.doc,doc: The user interface library "Documents" and the JavaLikeCalc "Reports' and documents' library" revised, improved, appended, documented and the documentation appended to offline. !!!!:FIX:doc: {docUsersSet,docAlarmsRep,docMessRep}: The field "Parameter" renamed to "Source" in the way of global unification of the alarm messages structure of the function alarmSet(). !!!!: Appended for implementing "Year report of the month values (docRepYear)" with a function of entering values in the manual mode, support for the manual values storing into the message archive, their display in the table and diagram. !!!!:{doc,docDin,docRep2WorkSh(renamed docRepSm2),docAlarmsRep,docRepInstVals(renamed docGasNodeMgn),docMessRep,docUsersSet, docRepDay(renamed docGasNodeDayA),docRepMonth(renamed docGasNodeMonthA),docRepYear(renamed docResourcesYear)}: made the JavaLikeCalc translation by tr(). !!!!:{docRepInstVals,docRep2WorkSh,docRepDay,docRepMonth}: Significantly rewrote, improved and made secondly usable, by allowing the DAQ-parameters connecting. !!:docMessRep: Appended for processing the remote stations as additional sources and anytime. !:docUsersSet: Appended for the user name. docGasNodeDayOrder moved to DB.LibsDB.vcaTest.test.docTestGasNodeDayRep. docAlarmsRep: Spare attributes "p*" removed. Improved for the space wrapping in the last two columns. !!!!:JavaLikeCalc.doc: Appended for implementing the "Diagram (diagram)" building in SVG. !!!!:PrescrTempl,prescr: The user interface library and the template library "Prescriptions" revised, improved, appended, documented and the documentation appended to offline. !!:PrescrTempl: Appended for the "Manager" template, moved from the controllers library. !!:prescr: Items of the library expanded for DB linking and the command and program tables automatic creation. PrescrTempl.Manager,prescr.{prescrRun,prescrRunSimple}: Expanded to pass commands in the pause mode. !!!!:DB.LibsDB.vcaElectroEls: The user interface library "Elements of the electric" revised, improved, appended, documented and the documentation appended to offline. !!!!: Appended for the four unified items: "Key, unified (keyUnif)", "Switch, unified (swUnif)", "General state, unified (stGenUnif)", "Area state, unified (stAreaUnif)". !!!:FIX:DB.LibsDB.OscadaLibs: !!: Updated for some messages. FIX: Most templates are fixed for the stored attribute values in one space ' '. The field "Alarms delay, s" renamed to "Violations delay, seconds" and such one for other languages. !!!!:FIX:base: The template library "Main library" revised, improved, appended, documented and the documentation appended to offline. !!!!:{anUnif,anUnifSt,manInUnif,digAlarm,codeState,pidUnif,pidUnifImp,SNMP,UPS}: Moved under the unified alarms forming and controlling mechanism. manInUnif: Expanded for alarms setting from the preprocessing custom procedure. !!!: Appended for the "initConsAssignTrs" template of the assigned output transports processing of the initial Sockets' connections for any type of the source objects, that is DAQ-modules and logical level controllers and parameters. !!!: Appended for the "codeState" template of the state forming by a code. !!!: Appended for the complex notifier implementation in the template "ntf", the separate JavaLikeCalc function and the user protocol objects "SMS" and "SMTP" are marked for obsolete. !!: Appended for the "UPS" template, moved from the "Industrial devices" library. !: The template "gasPoint" moved to the template library "tests". !:digAlarm: Prevented from alarms at the controller object errors. Improved for custom errors forming from the custom procedures. FIX:{digAlarm,manInUnif,anUnif,anUnifSt,codeState}: Fixed for blocking individual EVAL violations at the global PLC-object violations. FIX: All alarm forming templates prevented from the messages loss in the code of the messages opressing at global controller object errors (missing connections) if the previosly set message gone in the time of the connection missing. {anUnif,anUnifSt}: The imitation expanded for random offset. {digAlarm,codeState}: Prevented from call at the stopping. The templates "simleBoard" and "digitBlock" marked as obsoleted. !!!!:FIX:DevLib: The template library is a splitted part of the original library "Devices" under the name "Industrial devices", which revised, improved, appended, documented and the documentation appended to offline. !!!!:FIX:IEC60870: Appended for the separate time "tmPoolAll" of the period of the complete polling. !!: Appended for the package M_ME_TF_1, M_ME_NC_1 support, expanded for the SQ-mode support, tested for M_ME_TF_1 and M_ME_NC_1, M_ME_NB_1 in the SQ-mode, set AI to "real". !!: Appended for the option "syncTimePLC" to controll the PLC synchronisation. FIX: Fixed to send STOPDT at the template stop. Unified for moving the input value writing to the single function inVal() and the timestamp obtaining in the function getTm(). Appended for support the functions M_SP_TA_1, M_DP_NA_1, M_DP_TA_1. The IOA address is set for allow DEC, HEX and OCT views of the determining. !!!!: Appended for the true DCON implementation in the templates DCON_Prt, DCON_Prt_DI, DCON_Prt_AO, DCON_Prt_DO, the user protocol object "DCON" is removed. !!!!: Appended for a full featured implementation of the protocol OWEN in the data acquisition part. !!!!: Appended for the DNP3 implementation and it tested with outstation-demo from opendnp3. !!!: Appended for the counter modules Pulsar-M (pulsarM) implementation. !!: Appended for the ModBus scanner implementation as the template "ModBusScan". !!!:LowDevLib: The template library is a splitted part of the original library "Devices" under the name "Low-level devices", which revised, some improved, documented and the documentation appended to offline. !!!:FIX:{1W_DS9097,1W_DS9097U}: Fixed for the device family detection as the template 0x7F, detected on the last DS2413 with the first byte 0xBA. !!!: Appended for the template "MAX6675" implementation of the low-level SPI Cold-Junction-Compensated K-Thermocouple-to-Digital Converter. !!!: Appended for the template "SHT3x" implementation of the low-level humidity sensors. !!!: Appended for the templates ADS111x(ADS101x) and MCP4725 implementation of the low-level I2C chips. DS3231: Expanded for support DS1307. !!!:FIX:JavaLikeCalc.techApp: The JavaLikeCalc library "Technological apparatuses" documented and the documentation appended to offline. !!!:FIX: All Cyrillic symbols removed from identifiers of the models and all texts corrected. !!:tests: The template library "Tests" renamed from the library "S7". test: Some expanded for testing new functions of the module "DAQ.Siemens". !!:JavaLikeCalc.servProc: The JavaLikeCalc library "Service procedures" revised, some improved, documented and the documentation appended to offline. !!:docOffLine: Significantly expanded for detailing the error messages and placing the unfinished pages to the argument "pagesCur" for continue the termination. !: The final documents appended for the header and footer with the common OpenSCADA information and the language selector enabling. !: The links processing appended for http-tags support (http://URI#{tag}). !:wacko2media: appended for table headers true processing. !!:JavaLikeCalc.regEl: The JavaLikeCalc library "Regulation elements" documented and the documentation appended to offline. !!!!:FIX:DB.LibsDB.vcaBase: !!!!:FIX: Complete and significant cleaning from the Cyrillic symbols and improving in the original identifiers and messages, renaming their to English. FIX: Fixed for the message "reversed" translation. !!!!: Most standard cadres and widgets adapted to styles and the style "Light" created for all projects. The styles moved under a scheme of enabling styles at their presence instead disabling by "No style" and the style "Default" is appended. Call of the OS utility fixed by decreasing the length argument to 100000. Main.alarmsSt,doc.docAlarmsRep: Expanded by the attribute "messCat". The service call "/Transport/%2fsub%2fehost" appended for the attribute "upRiseSYS"=1, for accessing the ordinal users. !!!!:FIX:Main: The user interface library "Main elements" revised, improved, appended, documented and the documentation appended to offline. !!!!:FIX:{alarmsAct,alarmsSt}: !!!!: Expanded for support quittance-confirmation, comments and custom fields. !!: The field "Parameter (prm)" renamed to "Source" where placed all remoted and local sources. !:FIX: Fixed in using the view "Table" of the primitive "FormEl" for the attribute "fontColor" instead the correct "colorText". FIX:alarmsAct: Fixed for processing the custom fields. FIX: Prevented from very more expanding at appearing several events. FIX:alarmsSt: Fixed for pointing "messCat" in the alarms requesting. !!!!:RootPgSo: Improved for dynamically create signal objects, the number of which is limited only by the total length of the signal objects names and their two rows. The signal object buttons generating in the right of the logo is supported also. !!!!: The types of the views also unified for ID "view[1..6]", when user can their assign in self way. The compatibility with the original names of the views was saved, for present projects! Moved to use the new function uiCmd() of the project sessions to open pages, from the combo, what is the singe true method now of the linked pages openning from the user space. Improved for cleaning the control panel at changing content of the main container. Set to not active to disable the activity cursor. !!!!: Appended for: - the control panel-window "Graph parameter calculation (graphCalc)"; - the objects widget "Object properties (objProps)"; - the alarms frame "Alarms — report (alarmsStReport)"; - the widget "Image label (ImgLab)"; - the frame "Users manager (userManager)". !!:grph_panel: Appended for an independent button of switching to the cursor time instead the indirect switching at the depth of decreasing. The microsecond part of the cursor time improved for conditional display and set hidden at the big intervals. !!:ElViewGraph: Font size of the name decreased from 15 to 11 and trend color of the disabled items set to "gray". Expanded for the item color processing, from the style. !!: The prescription frames "prescrEdit", "prescrRun" and "prescrRunSimple" moved to the new library "Prescriptions (prescr)". !!:cntrRegul: The trends width increased to 2 pixels. !:FIX:graphSelPrm: Some fixed in forming the combobox. FIX: Fixed in the impossibility of searching into the parameters list, clearing the attribute "value" changes. FIX: Fixed for the item "" appending and the "event" generating. The DAQ items expanded for information of the controller object name. Appended for the colors obtaining from the linked cadre. !: {anShow,anShow1}: Expanded for the custom errors processing. FIX:calendar: Fixed for month start in Sunday (0) in the weeks form and background of the disabled items. FIX:cntrPaspExt: Fixed for the tab "Data" forming (hungs and generates more equal data) for bigger at 1 second periodicity of the data. Expanded for the trand width in 2 pixels. ElCadr: Epanded for the current text state show into the text command combobox. objProps: Expanded for the notification. grph_panel,doc_panel: Appended for the "Begin and depth" label and the depth fields moved to a single line. Expanded for the begin time, calculated from and to the depth. TextLab: Expanded for the activity cursor support. grpGraph,grpCadr,grpGraph10: The trends width increased to 2 pixels. !!!!:FIX:mnEls: The user interface elements library "Mnemo elements" documented and the documentation appended to offline. FIX:El_Kran_Sh: Fixed for the attribute "close" type changing from the type "String" to "Boolean". !:prj_archBrowser,prj_tmplSO: cleaned from spare records by the new function of UI.VCAEngine. !:prj_tmplSO: Significantly updated regarding the common libraries changes. Adapted to the new views model. !:DB.LibsDB.vcaTest: Significantly updated regarding the common libraries' changes. Procedure of the widget test.FormElTests completely rewrote. !!!!:FIX:Model.{AGLKS,Boiler}: Significantly updated regarding the common libraries' changes. !!!!:FIX: Significantly cleaned and all original identifiers renamed to English, during the documentation revision. !!!!:FIX: AGLKS.vca,Boiler.St: Adapted to the new changes of the main page. !!!!: The style "Light" created for all projects. The styles moved under a scheme of direct styles disabling at their presence instead "No style" and the style "Default" is appended. AGLKS.oscada_AGLKS.xml,Boiler.oscada_Boiler.xml: Default KeepAliveTime of the WWW-transports set to 60 seconds. St: Transport.Sockets addresses for the TCP-type simplified. !!!:FIX:Model.AGLKS: !!!:FIX:St: !!!: FSArch.1m: The strange and temporary message archivers removed: FSArch.{NetRequsts,test,StatErrors}, DBArch.test and added the actual ones: FSArch.{alarms,actions,SYS}, DBArch.SYS. FIX: The template property "tCmd" of the parameter LogLevPrm.gen.CB7 is set to 0. FIX: Fixed in the transport Serial.testRelease to prevent the writing to the system PTS /dev/pts/6, disabling it. FIX:UserProtocol_uPrt.test: Fixed for clearing the request. Some parameters appended for archiving "FSArch.1s". The ModBus protol nodes' table cleared. !!:FIX:vca: The analog parameters and graphics is relinked. FIX: Fixed for the original message "Pasport". The report documents of Day and Month reports switched to the dynamic mode, for Web mostly. Updated in links of the renamed document frames. The parameter LogLevPrm.gen.CB7 switched to the template base.digitBlockUnif. FIX:Model: Some fixed in the Ukrainian translation. FIX:Model.Boiler.St: Fixed for the original message "Pasport". The simple pasport cadre replaced by the the extended one. FIX:prj_kotel9: Cleaned from spare records by the new function of UI.VCAEngine. Fitted to the new Main.RootPgSo changes and the main page standard geometry. - API: !!!!:Changes: SYS: The ResMtx default constructor set to true for "isRecurs" but it is the typical situation. The most functions of appending to the nodes container expanded for returning the result created node ID/name for: chldAdd(), TSecurity::{usrAdd(),grpAdd()}, TTypeBD::open(), TTypeTransport::{inAdd(),outAdd()}, TValue.chldAdd(), DAQ.{TController::add(),TParameter::add(),BlockCalc.blkAdd()}, TTypeArchivator::{messAdd(),valAdd()}, TArchiveS::valAdd(), UI.VCAEngine::{wlbAdd(),prjAdd(),WLib.add(),Project.add(),Project.Page.pageAdd()}, UI.WebUser.uPgAdd(). TFld::Selected everywhere renamed to TFld::Selectable. The special function strMess() variant with limiting in the result message size is removed and replaced by the function strEncode() in the type TSYS::Limit. chldList() and chldPresent() set to virtual. DAQ,Special: The attribute "run_st" in TPrmTmplLib and TSpecial renamed to runSt. Archives: TArchiveS::messPut() cleaned from the argument "force". Protocols.HTTP: User API functions pgAccess(), pgCreator() moved from TProtocol to TProtocolIn. Transports.In: The function protocol() renamed to protocols() and protocolFull() removed. Appends: SYS: Common locks mechanism is added by a locks container, the function commonLock(). TConfig,*: The user API functions TConfig::cfg() and TConfig::cfgSet() of the configuration expanded by the permition control. Appended for the configuration context resetting functions to defaults TCfg::toDefault() and TConfig::cfgToDefault(). TFunction object appended by a mark of the function procedure changing isChangedProg() and the flag TFld::Selectable and the function ioAdd() appended by the result for the appended IO position. The Control Interface request "load" expanded for specifying the selected DB in the attribute "force" to perform such operations for concrete nodes. XMLNode: The attributes getting function attr() expanded for the optional argument of the presence detection. The user space "Array" expanded by the functions indexOf() and lastIndexOf(). The user API function SYS.fileRead() expanded by the arguments of the reading block offset and size. The user API function strEncode() appended for support the variants "ToLower" and "Limit". The user API appended for the function strFromCharUTF() of forming string from UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE. Appended for the definition SERV_TASK_PER=10 of the service task periodicity. The user API appended for the function SYS.fileSize(). The function str2atime() is appended to convert from string time to the UNIX epoch time supporting GMT. TError appended for naming the error codes in the enum "Codes", which used everywhere. The special archive names appended for the name ALRM_ARCH_CH_NM ("") of just changing the presented alarms. The limits appended by USER_ITS_LIMIT (1000000) for limit the items number like to user arrays from DAQ.JavaLikeCalc. DB: Appended for the transactions closing control into the OpenSCADA core by the functions trTm_ClsOnOpen(), trTm_ClsOnReq() and trPr_ClsTask(). Appended for the DB-objects reenabling control at the function disabledByUser(). Appended for configuration of the "Opened tables lifetime" of the inactive tables closing by the function tblLifeTime(). The attribute TBD::mEn moved to the protected space. Transports: In: Appended by the virtual functions keepAliveReqs(), keepAliveTm() for the true KeepAlive on Web. Out: Appended for a service of closing output transports at the lifetime (inactivity) by the service function outLifeTime(). Expanded by the attempts field ot the generic control in the function attempts(). Unified for the last request time control in the function lstReqTm(). The function outAddrHelp() of taken common address help for the output transport modules was added. DAQ: TController::alarmSet() expanded for the argument "force" to force the alarms on the controller objects in the redundancy. The DAQ-parameter appended for the User-API function alarmSet() and the function vlSetRednt() of the unified values writing in the redundancy. TDAQS::rdRestDtTm() expanded from the float to double type return. Appended for the user API function daqAt(). The user API function funcCall() expanded by the "err" argument. JavaLikeCalc: The User API functions charAt() and charCodeAt() expanded to support UTF. The User API functions expanded by isNaN() for bool, integer, real, string (especially for checking numbers in the string). Archives: The objects TMArchivator and TArchiveS appended of the function redntTm() and rdTm() to obtain last time of the message archives redundancy. TArchiveS::rdRestDtOverTm() expanded from the float to double type return. Val: The value archives appended by the common option autoIdMode() of the mode of forming ID of the automatic created archives with the enum variants AutoIdMode::{BothPrmAttrId,OnlyPrmId,OnlyAttrId}. Val: The user API functions getVals() and setVals() added to implement generic archives/history accessing mechanism in an array and the fixed periodicity. UI: The inline documentation declaration from description some nodes is unified in the function TUIS::docKeyGet(). VCAEngine: The user API function this.ownerSess().uiCmd() added on the session level. The runtime widget appended of the user API function this.attrList() of obtaining list of the widget attributes. - SYS: !!!!:FIX: The source code messages and program documentation: !!!!:TMess: Appended for the environment variable LC_ALL cleaning and setting "LANG" if empty, to prevent from overriding LC_NUMERIC=C at the last. !!!!:FIX:.,*: Fixed for many original messages of the source code also during the most modules documenting. .,DAQ.{JavaLikeCalc,ModBus},Protocol.UserProtocol,UI.VCAEngine: The message "Translate program" of the DB field "PR_TR" translated to "Completely translate the procedure" everywhere. !!:FIX:DAQ.JavaLikeCalc: The JavaLikeCalc code translation by the function tr() fixed in creating the translations table "Trs" and entries here in the simple mode (single language). !!!!: The inline documentation: !!!!: The offline documentation appended by some OpenSCADA modules and most libraries of the internal procedures and graphical elements. !!: The common CSS-styles file of the offline documentation "doc/en/files/doc.css" improved in disable the transparent background color and some properties of the language selector. "DAQ", "DAQ.DAQGate" expanded by links to the resources. "Release 0.9" expanded for the participants list. !!!: Declaration from description some nodes is unified in the function TUIS::docKeyGet() and the nodes appended for that: - the DAQ-template and JavaLikeCalc libraries; - the VCA-libraries in UI.VCAEngine and UI.Vision. !!!:UI: TUIS::docGet() appended by a code of the LTS build checking and using the LTS frozen documentation on the OpenSCADA file-server. !!:FIX:DAQ.JavaLikeCalc,UI.VCAEngine: Fixed in the offline documentation declaration for "User_API". !!!!:FIX: Building: !!!!:FIX:configure.ac: Core library version rose to 3:7:0 and the program version rose to 0.9.1. FIX: Fixed for name of the required libldap library. !!!!: The Debian 10, CentOs 8 and Ubuntu 20.04 root file systems (chroots) are appended for build OpenSCADA. !!!!: The source codes significantly cleaned at the building warnings of GCC 9 (CentOs 8). !!:UI.{QTCfg,Vision}: Adapted to build in the environment of Debian 10 for Qt5.11.3, GCC8 and an error about a conflict in the macro message() into StdLibC++ through Qt5. Archives: The friend function declaration archivatorDetach() cleared from specifying default values of the arguments, what may fix the compiling problem on GCC 9.1. !:FIX:data/: !:FIX:openscada.spec: Fixed for building on SuSE. !: Appended for the separate packages openscada-plc and openscada-server of the daemon mode executing. !:*.xml: Default KeepAliveTime of the WWW-transports set to 60 seconds. FIX:*.init: Fixed for initial projects starting in the daemon mode, by the command-line argument "--projUserDir". {debian,debian_mod}/control: Appended for the depending at libgd-dev, which actual one for Debian 10. The ".dump" command of sqlite3 3.27 significantly changed, needs now for the parameter "--newlines" and removes quotes around the table names. !!: Android: The behaviour of using the environment variable QT_SCALE_FACTOR on Android is observed, what set to 1.5 and the default font "Helvetica,12,-1" with QScrollBar CSS rule are removed. The building SDK parameters set to "". Android/build.sh: Improved in building under environments with the system Qt5 development files. !!!!: The module version of the subsystem "Special" rose to 12; of the subsystem "DB", "DAQ", "Archives" and "UI" rose to 13; of the subsystem "Transports" rose to 15. !!!!:FIX: Threading, tasks, realtime and locks: !!!!: Some common data resources of dataRes() replaced by own resources, mostly due to the observed locking problems in Protocol.HTTP and DAQ.ModBus. !!!!:FIX: Common locks mechanism is added by a locks container, the function commonLock(). !!:FIX: Transport.{Sockets,SSL}: Used for system functions like to getaddrinfo(), which is not multithreaded one. Used for the function crypt(). !!!!: The tasks planning appended for phasing their invoking, what make the CPU loading even. !!!:FIX: The function TCntrNode::nodeDis() waiting fixed for zero time and the function chldDel() set to no waiting by default. !!:FIX: Fix for the negative priority of the policy "BATCH". !!:Archive,DAQ.Controller: For the current time of messages and values mostly used TSYS::curTime()/1000000 instead time(NULL) due to the message and value time is in microseconds and mark by TSYS::curTime(). !: The ResMtx default constructor set to true for "isRecurs" but it is the typical situation. !: Appended for the definition SERV_TASK_PER=10 of the service task periodicity. FIX: The user function Array.concat() prevented from unlocked acces to the source array. FIX: The console help call by the key --help or -h fixed for unlocking the early loaded objects, stopping the subsystems forcely. The standard waiting time (STD_WAIT_TM) decreased to 5 seconds (from 10) and the standard interface waiting time (STD_INTERF_TM) set slightly more, that is 7 seconds. AutoHD::at() appended for the commented code of the crashes causing instead the exception "No init!", to observe the message cause. !!!!:FIX: Redundancy: !!!!:.,UI.{QTCfg,Vision,WebCfg,WebCfgD}: The function "Local primary commands transfer" of the redundant systems is unified and expanded for complete moving to TCntrNode::cntrCmd(), so the function works now for any calls also from the user programming environment. !!!!:Archives,DAQ.DAQGate: The messages bottom time border processing for redundancy and the DAQGate changed to use time of the last message to repeat it requesting for two time, to prevent the messages losses on the border. !!!!:FIX: The redundancy and DAQ.DAQGate restored for writing the big value archive's blocks, mostly in restoring the value archive parts. !!: The first alarms obtaining in the messages redundancy enabled only at presence the message archivers in the redundancy. !!: Placing messages to the archivers of the redundancy procedure TMArchivator::redntDataUpdate() changed to use the function put(), to do this operation atomically for all obtained messages under a lock. TController: The service "/serv/mess" changed to obtain the last message time from the last redundancy operation time for controller objects under redundancy and time(NULL)-1 else. !!!:DAQ,DAQ.*: Writing values in the redundancy is unified under the new function vlSetRednt(). !!: The service "TValue::get:/serv/attr" expanded to some spare request of the last requested value to prevent EVAL here at the connection loss. FIX: The redundancy processing procedure TController::redntDataUpdate() appended for the exceptions processing to prevent of not starting the DAQ-controller objects at errors in the archivers, mostly in Archive.DBArch. !:ParamContr::vlSetRednt(),DAQ.{LogicLev,Siemens},UI.{Vision,WebVision}: The runtime requests appended for "reforwardRedundOff"="1" to prevent their the redundancy in some parts. FIX: The main redundancy task fixed moving the declaration "XMLNode req("CntrReqs");" up to the same request, due to the possibility of back reading wrong responses. !!!!: The function strEncode() appended by the variant "Limit" to limit the string size counting for the UTF-8 variability, and such items moved to it instead removed limiting variant of the function strMess(): TConfig keys, DAQ-Template IOs, DB.SQLite, UI.QTCfg. !!!!:FIX: Configuration: !!!!:TConfig,TCfg: The key fields appended for their size limiting before cutting on the DB side. !!!!:*: Adapted in the adding functions to treat the ID or name forming and to limit its size, returning the result name to the creator, using the node function chldAdd() expanding in direct return the ID and to just remove the new node for equal ones. !!:DAQ: Identifiers of the logical level IO of the DAQ-templates expanded to the size limit up to 1.5*OBJ_ID_SZ=30 symbols and have added for these shrinking on creating. !!:Transports: Size of the output transports ID set to OBJ_ID_SZ*2, since it can be combined from the ordinal node ID and some prefix, in the automatic mode. !!: Appended by a function of setting the TCfg fields to the default value, to prevent loading values of previous records for miss fields. !!:TConfig,*: The user API functions cfg() and cfgSet() of the configuration expanded by the permition control. !!: The loading from selected DB improved in checking the DB enabling before, in the function TSYS::chkSelDB(). !!:TCntrNode,DAQ,DAQ.JavaLikeCalc: Appended for the function load__() to treat some doings in the loading end. !:FIX: Losses the configure file changes prevented by pre-saving all changes before it loading. FIX:TCntrNode: Prevented from left the modification mark after loading from a selected DB. !!!!: Control Interface: !!!!:*: Unified in the modification control of the node objects and cleaned the spare modifications, moving the calculation context modification to the option "modifCalc". !!:.,UI.{QTCfg,WebCfgD}: Tables expanded for difference help per columns and cells. !!:Transports: Table of the external OpenSCADA hosts expanded for the context help to the transport address cell, using the function outAddrHelp(). The generic help of the "Tasks" table moved to the concrete column "CPU set". !: The request "load" expanded for specifying the selected DB in the attribute "force" to perform such operations for concrete nodes. !!!!: The DAQ-templates and all their implementations appended by a function of selectable attributes creation from the template field "Value" of the two and three lines, TFunction::IO appended by the flag TFld::Selectable. !!!!: The unified DAQ-templates implementation TPrmTempl::Impl is finished and such items migrated and adapted to it: DAQ.{JavaLikeCalc,ModBus,LogicLev,Siemens}, Protocol.{ModBus,UserProtocol}, UI.WebUser. TPrmTempl::Impl::cntrCmdProc() expanded by the prefix "pref" argument. !!:FIX:DAQ,Archive.DBArch: The TElem copy constructor was implemented to fix problems into Archive.DBArch at multiple groups-tables in the group table mode. !!:Function,DAQ.{JavaLikeCalc,LogicLev,ModBus,Siemens}: Expanded for tracing the function program changing and hot restarting the executing procedures, by setting the flag "f_start". !!:TMess,XMLNode: Appended for the function setUTF8() of forming UTF-8 from their code, taken from XMLNode to use in other places. !:XMLNode: Appended for entities size limit and silence at incomplete ones. The attributes getting function attr() expanded for the optional argument of the presence detection. !: TError appended for naming the error codes in the enum "Codes", which used everywhere. !: The user space "Array" expanded by the functions indexOf() and lastIndexOf(). !:.,DAQ.JavaLikeCalc: The limits appended by USER_ITS_LIMIT (1000000) to limit the items number like to user arrays from DAQ.JavaLikeCalc. The arrays creating limited for USER_ITS_LIMIT and appended of processing the system exceptions with an error message and freeing the wrong arrays. FIX: Fixed from crashing at early exit in the lock-file presence. FIX: Fixed for the flags TFld::SelfFld and TFld::Selected setting into TFld::setFlg(). FIX: The internal program languages list, by the service "/plang/list" appended for the empty item "" to allow for reset the fields, mostly for VCA. The decompression function some appended for the initialization. The user API function cntrReq() improved for processing results of the remote requests. - Security: FIX: Prevented from empty users appending to groups and appended for the empty users processing in the group's users list. The user's DB-field "LANG" size expanded up to 50 and the user's group's DB-field "USERS" size expanded up to 1000000, for more users support. - DB: !!!!:FIX:*: The configuration context resetting function cfgToDefault() used in the function dataSeek() and fieldSeek() begin, due to it is an obligatory operation for the configuration file at least and must be done for the DB configuration also, for new fields. !!!!: Appended for the transactions closing control into the OpenSCADA core whether in the service task, for the timeout > 10 seconds, or in a different per DB task of fast transactions closing of the shared DBMS. For what appended the functions trTm_ClsOnOpen(), trTm_ClsOnReq() and trPr_ClsTask(). !!!: DB-objects appended for restoring their enabling after the connection loss (or other reason) for meaned to enable and not disabled by the user, by disabledByUser(). !!: Appended for configuration of the "Opened tables lifetime" of the inactive tables closing. TBD::postEnable() moved from private to protected. FIX: The function "Load the program from this DB" fixed for storing the node modification state. The SQL-requesting dialog appended for the time measurement. !!!!:FIX:{SQLite,MySQL,PostgreSQL,FireBird}: FIX: Prevented from wrong cleaning the table information for disabled DBs. The not string values cleared from the string brackets '{Value}' and that tested. The DBs loading function appended for resetting to default values before the next operation. !!!!:FIX:{MySQL,PostgreSQL,FireBird}: Improved and tested for hot restoring of the losses connections and without the data loss. Tables list obtaining of the DB switched to the indiferent mode to transactions. !!!!:FIX:FireBird: Restored for the main work in the primary keys requesting and adapted to FireBird version 3. !!!!:FIX:MySQL: Resolved for crashing in the built-in reconnection (by MYSQL_OPT_RECONNECT), which replaced for the own and hot reconnection. !!:FIX: Fixed for the error "BLOB/TEXT can't have a default value (1)" on modern MariaDB server versions, wholly removing the DEFAULT for TEXT. FIX: Appended for updating the table structure at ALTER errors. The default timeouts set to "10:5:5". tcon.reconnect replaced by mysql_options(&tcon, MYSQL_OPT_RECONNECT, ...); to provide building with MariaDB >= 2.4. !!!:SQLite: Appended for correct treating the locking of the SQLite DB files, at accessing to common libraries from different processes. - DAQ: !!!!:TController::alarmSet(): Expanded by implementing the alarms triggering conception, which means also of passing messages to the buffer for clearance the alarms only at the alarms presence. !!!!: Globally unified and completely described in the documentation for messages from the controller objects and DAQ-parameters, when the parameter-source in the message appended for the controller object name. !!!:FIX: Changed to use complete parameter ID-path, to prevent collisions in alarms from parameters with even IDs but different sources. !!:FIX:*: The property period() is set actual in early, at the configuration "SCHEDULE" changing, for true data period of the archives. !!: Expanded for early enabling the template libraries in the loading stage, initially for transport protocols based on the DAQ-templates. FIX:TParamContr,DAQGate: Fixed in the copying operation, disabling the destination node before. !: Appended for the attribute encoding into the common DAQ-path, to allow dots into the path. !: Appended for the user API function daqAt(). The message "Only attributes are to be shown" renamed to "Show attributes". The user API function funcCall() expanded by the "err" argument. The function of setting archive improved to back-using of identifier of new created value archive, for cleaning the identifier. LogicLev: Enabled for the possibility of the scheduling change at the running. !!!!:FIX:ModBus: !!!!:FIX: The mode "Asynchronous write" restored and tested in writing after restoring the connection, to use it for the losses preventing. !!!!: The asynchronous writing moved to the after requesting stage with oppresing-delay the writen values changing in the attributes, before the writing buffer clearance. FIX: Prevented from spare coils requesting after wrong asynchronous writing. !!:FIX: Fixed for work in the redundancy mode. !: Appended for the test behavior of closing PLC-alarms at it moving to the redundancy. Appended for writing into the logical context in the redundant mode. !!:FIX: The common function upVal() is separated to two functions upValStd() and upValLog() of the parameter types separate updating for the "Standard" firstly and the "Logical" type in the last, for cases of using data of the "Standard" type parameters in the "Logical" ones. !!: Expanded in work with wrong or empty connection transport, to allow it set-change from external procedures. !!: Expanded for the flag "s" of the strict requesting at the complex data. Appended by some context help. Period of the idle (waiting for connection) mode switched from the fixed periodicity in 1 (one) second to the main period. !!!:FIX:JavaLikeCalc: Expanded for try of the restoring the previous procedure executing at the new one error, mostly from DAQ-templates. !!:FIX: Fixed for crashing in the hot compiling, mostly at returning to the correct procedure after the wrong one compiling, in case of the procedure uses internal functions and possible external ones also due to missing for clearing "fPrmst". All these clearings are unified in the functions buildClear(), workClear(). !!: Set to stop the functions at the program source changing for apply the changes. !!:FIX: Prevented for the recursive call, observed on the recursive widgets creating in UI.VCAEngine. !: The User API functions charAt() and charCodeAt() expanded to support UTF. !: The User API functions expanded by isNaN() for bool, integer, real, string (especially for checking numbers in the string). !:FIX: Appended for disabling controller objects at changing the linked function/template. FIX: Fixed for the token name FUNCTION. FIX: Fixed for the comment expression "/*/" correct processing. The work registers object "RegW" appended for the debug counters, to monitor the objects leak. Some original messages expanded. Expanded for expressions with the keyword "var" processing at presence the same name variable "var". Appended for the copying functions of the controller objects. !!!:Siemens: Extended for direct specifying the data type of the link address. !!: LibnoDave updated to 0.8.5.1. The errors appended by the read code 0x3 - "An attempt to access outside the DB 'N' (200 family)". The own implementation of ISO-TSAP appended for errors processing of the functions requesting. !!!!:FIX:DAQGate: Expanded by an option and a function of placing different remote controllers to the virtual parameters. FIX: Fixed in storing duple parameters from different controller objects, preventing the RO attribute "SHIFR" reading. The parameters' attribute "err" set to "10:Data not available." after loading. FIX:System: Fixed for some translations. FIX:OPC-UA: reqService() prevented from accessing free transports and the exception "No init!". Forming for ID of the parameter attributes moved under the generic enumeration function TSYS::strLabEnum() and the qualifier digit is removed. FIX:DCON: Prevented from removing parameters from their processing at the controller object stopping. - Archives-History: !!!!:FIX:Mess: !!!!:FIX:TArchiveS::messGet(),/serv/mess: !!!!:/serv/mess: In put it is improved for independent writing to the archive and just to update the presented alarms. FIX:TArchiveS::messGet(): Expanded for sort the buffer messages and to prevent collisions at the clock correcting. Allowed for read only the buffer or the allarms table, mostly to fast control the alarms presence. !!: Messages of the function's Mess->put() macrosses "message", "mess_info", ... redirected to the buffer writing, to prevent of direct writing to the archivers. !!: TArchiveS::messPut() cleaned from the argument "force". FIX: Processing of the message buffer resize some fixed in checking the archiver headers and improved in the same processing code. !!!!:FIX:Val: !!!!:TVArchive::getVals(): Improved for processing not free buffers (for a fixed period) of the data requesting from the buffer and different archivers, using an intermediate buffer array which is back replayed at the end. !!:FIX: Improved for the limit processing independently for the buffer and the archivers and their periodicity, to work the long ranged and high periodicity data requests. The exceptions processing added here also. !!!:FIX: TValBuf.get() switched from the exceptions emitting to return EVAL at the requested data missing. !!!: The value archives appended by the common option "Mode of forming ID of the automatic created archives" with selection from the modes: "Both parameter and attribute ID", "Only parameter ID", "Only attribute ID". For the possibility to control the automatic archives naming. !!: TVArchive::{setVals(),setVal()}: Access to the archive writing functions restricted only for users in the group "Archive". FIX: Forced to the values buffer updating at the data period update. The value archive buffer errors of inserting too old values appended for the error code TError::Arch_Val_OldBufVl and it processing in TValue for cleaning the wrong buffers. Default precision of the service "/serv/val" values set to 15. Font size of the builtin diagrams builder of the values increased to 10 pixels. The object TVArchive appended for itself declaration as a part of the core object TCntrNode. The messages table of the Control Interface in the mode of alarms display appended for the "Delete" command to delete single messages. .,FSArch: Completed in renaming "Archivator" to "Archiver". !!!:FIX:FSArch: The XML mode of the messages appended by the positions cache. !!!:FIX: The messages archivation is significantly improved and fixed in placing several different messages in even time. !!!:FIX: Fixed for the info.db removing and processing by using the DB address as a unique essence instead limited DB-identifier, what currently is named through indexing the equal ones. !!:FIX: Fixed for archiving double messages in the mode of preventing the doubles - rewriting. !!:FIX: The archive folder creation moved in the begin, before the locking and the info.db creating. !: The messages archiver object is set to use globally the RW-lock in writing into put(). !!:FIX:DBArch: !!:FIX: Fixed for the value archives including to an archiver for the not grouped archiving mode. !!:FIX: Finally fixed for the single-value requests of the value archive, after the not full fix from 2018-02-23 only for the archiver data period 1 second. !!: Adapted to work in the only direct archive writing mode on the archives group mode for updating the meta at writing. FIX: Fixed in removing the archives group tables at removing the archiver. Some improved for the locking space of reqRes and accm. - Transports: !!!!:.,*: Expanded for support the multiple protocols selecting and the function protocol() renamed to protocols(). !!!: Appended for a service of closing output transports at the lifetime (inactivity) by the service function outLifeTime(), unified for the last request time control in the function lstReqTm(). !:.,Sockets,SSL: The output transports expanded by the attempts field of the generic control in the function attempts(). !!: The function outAddrHelp() of taken common address help for the output transport modules was added. !:FIX: Fix the terminating the transports loading at try to connect the missing transport modules. FIX: Fixed in the transports copying for additional parameters, by call load_(). *: The "Started" and "Stopped" messages appended the suffix "connected" and "disconnected" respectively. The debugs and exchanging log are cleaned from the timeouted messages in the not requesting mode. Some spare rules of the syntax highlighting of the log messages are commented. The transport type object appended for the common command-line help. !!!!:FIX:Serial: Fixed for the "Modem" mode of the output transports in the correct processing the function ResMtx::tryLock() result. FIX: The extended parameter "reqRetrMult" of the char symbol time of the output transport is fixed in the processing. !!: The flow control field moved to the options field due to a need with direct disabling some options like to -RS485. !!!:FIX:Sockets,SSL: Expanded for support IPv6 both for input and output transports using getaddrinfo(). !!: Appended for processing (connecting) all IP addresses resolved from the symbolic one, especially for the output transports. !!: The output transports appended for direct definition several host addresses. !!: The output transports improved in using the tries after the error "Reading timeouted." of responding to request. FIX: The "No data" reading message some fixed and expanded. !: Connection info of the output transports appended by the real connected IP-address. The output transport address expanded by global arguments which can be the timings and attempts. The output transports' IO log expanded for starting errors. !!!:FIX:Sockets: Fixed in processing the output transports with the address "SOCK:{N}" of the initiative connections to clean up the address by setting it to "SOCK:-1", then preventing of the restarting possibility with using already closed socket's handler but possible allocated already by another part of the program. !!: Address of the input transports in the TCP-mode can be expanded for addition parameters and currently the next one after the mode field is identification message of the initiative connection into the mode 2, so this mode expanded for sending identification messages after establish the initiative connections. !!: "TCP:" prefix of the addresses set to nonobligatory-optional. !!: The address mode of the input transports set to 1 (do not close, only by the KeepAlive parameters) by default. !!: The default port set to 10005. FIX: Input transports fixed in the status information for the establishing and processing the initiative connections. FIX: The output transports in the type "Forced sockets" prevented from saving. The session object cleaned from spare clntDetchCnt. The "IO log" expanded for some extra messages to the output transport starting stages. The waiting of any data after zero reading disabled due it proven the senselessness on VPN and other. !!:SSL: Appended for treating NO_*_METHOD for TLS1, TLS1_1, TLS1_2, DTLS1 and for direct support DTLSv1_2. !!: The default port set to 10045. The output transport status appended for the last connection time. Prevented from twice SSL_library_init() call at OpenSCADA projects switch due it cause some time to crashes, seen on Ubuntu 16.04. - Protocols: !!!!:FIX:HTTP: Appended for the true KeepAlive support by the input transport functions keepAliveTm() and keepAliveReqs(). !!: Expanded for the DB table "HTTP_AuthSessions" of the external authentication sessions. FIX: Fixed for the message "Wrong authentication from the user ..." not in a proper place. A detailed message of "Error loading the META header" added to detect source of the rarely warning message of parsing the template. Mime types cleaned from ";" and after it in the end. !!!!:FIX:ModBus: The input part expanded for the DAQ-templates using. !!: The data types list of the IO table appended by the type "Object". !!: The protocol variant recognising for input requests some improved for detecting difference RTU and TCP variants, appending to that the transport type. !: Expanded in limiting the ModBus frame size for workaround the bad hardware flood. FIX: Fixed for prevent the linked attributes translation of the Nodes. The program language editable selection set to the pure selection. Expanded for the Nodes time stamp. !!!!:UserProtocol: Expanded by the DAQ-templates support. Items identification of the protocols moved into the input protocol name after removing protocolFull(). !:SelfSystem: Expanded for the output transport attempts support. - UI: !!: FIX: TUIS::mimeGet() changed in the behaviour of determining the file extension "svg" as "image/svg+xml" for correct and multiple SVG files display on WEB. FIX:Vision,WebCfg,WebCfgD,WebVision,=Tmpl=: Fixed for the XHTML header on FireFox. WebCfgD,WebUser,WebVision: Adapted to the user API functions pgAccess(), pgCreator() moving from TProtocol to TProtocolIn and mime types cleaning from ";" and after it in the end. !!!:FIX:VCAEngine,Vision,WebVision: The variant "LineEdit" of the primitive "FormEl" appended for the view "Password". !!!:FIX: The VCA-styles moved under a scheme of disabling styles at their presence instead "No style" and fixed in the the new items creating and at all. !!!:VCAEngine,Vision: All information moved to the status field for widgets, libraries and projects; what appended for the calculating procedure state - inherited, redefined. !!!!:FIX:VCAEngine: !!!!: Pages of the projects appended for the type "Link", to optimise the memory consumption on fully dynamic and highly replicated pages, on the project's session side. !!: The pages opening in the project's execution (sessions) improved to prevent spare and double opening and closing, which is critical one to manage the linked pages. !!!!:FIX: Many measures of the visual items edition in time of the project execution: !!!!:FIX: Fixed in deletion the project pages in time of the project execution, to prevent the objects lock and to provide their early linking for removing the session pages together the project pages. !!!!:FIX: Session objects moved under own data lock to prevent the dead locking in the complex situations due to the style calls uses indirect parent(). FIX: The runtime pages appended for the function lock in the call setProcess(), but in WebVision there can be concurrence access and for the linked pages it is oftener. Appended for tracing the procedure changing in the included procedures also. !!!: Optimisation the remote development: - the info control services "/prm/cfg/prj", "/page/page" appended by getting of number of the child pages in the attribute "chPgN" at setting "getChPgN"; - appended to prevent the widgets' icons transmitting in the control service "/serv/wlbBr" of the complete widgets' tree loading, setting the attributes "disIconsW", "disIconsCW". !!!: The project sessions of the VCA moved at the last from the modification control for the development mode. !!!: Expanded for the direct definition of the visualiser specific attributes, marking their by the prefix "vs_". !!:FIX: The project session command "close" of the service "/serv/pg" forced to processing, what actual to the linked pages. !!:FIX: The VCA pages loading procedure appended for cleaning the spare records and records of inherited but missed widgets of the "*_incl" table. !!:FIX: Fixed in the User API function tr() work from documents. !:FIX: Fixed in forming the processed ellements list at the runtime function start (f_start). !:FIX: The user API function uiCmd() added and its internal function uiComm() renamed to uiCmd() and fixed for empty source argument. FIX: Expanded for limiting the project widgets depth in 10 levels, mostly for limiting the recursion on the project sessions execution. FIX: Fixed for full access to the attributes of the service control request "/serv/attr" and not only "root:UI". FIX: Fixed in wrong group links display as "Custom: ..." for some empty links presence. FIX: Fixed in calculation of the maximum consumed time of the session items in the debugging. FIX: Fixed in the attribute "value" of the view "Edit line" of the primitive "FormEl" for the spare flag TFld::TransltText for not string types. FIX: Fixed for information of the heritors of the projects. FIX: pageList() appended for force cleaning the input argument since that can be passed for the container and template pages. FIX: Projects, Widget liraries and Widgets are fixed for the error message of creating already presented node. FIX: Fixed for the page status "Opened" only for the pages. FIX: Size of the Mime identifiers increased to 40. FIX: The User API function wdgAt() fixed for return zero at wrong connection. FIX: Prevented from copy not modified attributes at widgets copying. FIX: The allowed size for icons storing expanded to 100000. FIX: The user API function wdgAdd() fixed for the name setting after the new widget enabling. !: The runtime widget appended of the user API function attrList() of obtaining list of the widget attributes. !: The runtime procedures of the widgets are enabled for using the actual (for the last request) user and language, for dynamic translation. Widget procedures calculation period -1 means currently the value (not -1) from the parent widget-page. Prevented from save the value of inherited and linked attributes, seems it have not a sense but can significantly use the storage. The UI attributes object "Attr" appended for the debug counters, to monitor the objects leak. Finishing time of the task of generating documents of the primitive "Document" increased to 3*STD_INTERF_TM(7). Appended for some debug messages at the windows opening and closing. The attribute "tipTool" of the Widgets set to the "Text" type. The attribute "tSize" range of the primitive "Diagram" expanded for one year (32e6 seconds). Expanded for reading the visualiser specific attributes in the developing mode. The DB field "ATTRS" cleaned from the default value "*". Warning messages of the big number connections to the attributes moved behind the data lock. Pages list in the project set to access only for the page type "Template" or "Container". Reverted for the prcElListUpdate() first call from the calculating procedure due it performed into setProcess(). Removed for the spare field "Use" on the session widgets. Widgets prevented from names setting to their ID, at the copying mostly. !!:FIX:QTCfg,Vision: Fixed in processing the syntax highlighting of the text fields to load firstly the syntax rules and next the text, to prevent the text corruption in some cases, detected into the transport exchanging log and Qt 5.11. !!: Appended for buttons of the force loading and saving, into the menu. !!: Table forming improved for the allowed width getting from maximumViewportSize(). !!!!:FIX:Vision,WebVision: Improved for the scrollbar control of the included pages, to ensure they work separately, not two together. !!!!:FIX:ElFigure: The mirroring support is completed in the implementing for the common, shape Arc draw and it generic and image fills. !!:FIX: The filling by image prevented from lacks at accessing outside the image. !!!:FIX:Diagram: !!!:FIX:Trends: Expanded in the time scale building for many days with the time complete hiding and show the first value in the left, using the timezone offset. !!!: Appended for support the big time range intervals per month. FIX: Some improved in form the lowest value of the vertical scale. FIX: Fixed in show the first-left date-time item. !!: Disabled in limiting the requested archive values precision, for long counters. !!: Improved in the remote work on slow channels and with the value buffers period in 10 seconds. XY: Improved in removing the end position mark at the data natural order and its size decreased. !!:Text,Media,Box: Expanded to display the activity cursor. !!:FormEl: Some views (Line edit, Text edit, Combo box, List, Tree, Table) expanded for custom background and border by the visualiser specific attributes "vs_background", "vs_border". !!: Appended for the visualiser specific attribute "vs_winTitle" of the dynamic window title value. !!!:FIX:Vision: !!!: Optimisation the remote development: !!!: The projects tree switched to download the branches partially at expanding, to improve it work on slow connections. !!!: The widgets tree improved in the work on slow connections, disabling the widgets' icons downloading at the threshold of the complete tree downloading time more for 5 seconds and enabling that at the time less for 0.1 second. !:FIX: Prevented from updating selection of the developing widget, mostly for slow channells. FIX: True prevented from spare requests to the remote station at the windows moving. The item identifiers of the project tree forced to show and don't show. !!!: Expanded for the planning of the updating period depending to the real connection quality of the runtime mode, like to UI.WebVision. !!:FIX: Common fixes and improvements of the runtime window modes: !!:FIX: Manual scaling of the runtime window (for full-screen or maximise) improved and fixed in the processing the sign isResizeManual. !!:FIX: Fixed in starting to the full-screen mode and not full scaling at restoring to not zero window position. !:FIX: The widgets including fixed for resizing after his container resizing, has observed in a problem of direct opening included pages on the full screen. !!:FIX:FormEl: !!!:FIX:Table: Tables fitting improved to use maximum width from the widget size and the maximum view port, but the maximum view port only can be uninitiated here yet. Final fix for the tables fitting, moving the procedure in events: create, resize and show. !!:FIX: Prevented from casual crashing. FIX: Fixed for real hiding of the columns on Qt 5.11. FIX: Tables fitting prevented from use processEvents() due the possibility of the widget going in the closing. Improved in using the relative table column width. The mode of inactivity improved to remove all selecting and to restore edited values. !!:FIX:Date: Fixed for crashing at setting configuration. !:FIX:Button: Fixed for disabling at inactivity. Appended of setting the pointing cursor. FIX:LineEdit: Fixed for marging from the hidden icon size, for the spinned Real and Integer. FIX:Text: Fixed for show tooltips in the runtime mode. FIX:Time: Fixed in the value processing. !!:FIX: Fixed for the master page regular replacing (crashing) and scaling into the run-time mode. !!:FIX: The runtime executing was fixed from crashing in closing external windows at closing the main window. !!:FIX: Fixed in the properties edition dialogues of Pages/Libraries and Widgets for: - preventing for closing at Esc; - disabling for timeouted cancelling of the LineEdit; - unbinding the edited state from the visibility for TextEdit; - preventing from the changes loss into the tab "Process"; - appending for warnings about the inherited calculation procedure changing. !!: The focus control rewrote to the VCA-widgets specific one and not Qt-widgets, like to UI.WebVision, what prevents some problems. !!:ElFigure: The figure edition switched to the normal mode, without any transformation (rotation and mirroring). !: The Arc shapes allowed in connection each other in the fillings build, like to the sector diagram. !:FIX: Fixed in updating the target page after copying items caused to a warning of their restoring from the parent base. !:FIX: The operation of lowering down of the single attribute changes appended for requesting a confiramtion. !:FIX: Fixed in updating the geometry properties on the graphical widgets editing. FIX:Diagram: Export to CSV for the diagrams improved for replacing the original EVAL value to the string "Empty". Have cleared from the Cap Style specific on Qt5 and Qt4. FIX: Fixed for the global state updating, appending the selected item modify state. FIX: Fixed for the context menu in the edition, for the item "Copy". FIX: Fixed for new created widgets selecting in the visual widgets developing mode. FIX: The external windows are set to force closing before their deleting, for saving the window position. FIX: Fixed in removing the selection dots at the included widget removing in the graphical widgets editing. FIX: Prevented from processing operations of the widgets arrangement in the inactive windows. FIX: Table forming prevented from the fliclking. FIX: Performs the focus moving to the active subwindow at the drag and drop from the widgets inspector. !: Appended for an option of the module to drop widget styles to the common one for some specific widgets in the runtime. !: The big texts editing dialog set for allowing access to other main windows. Time of the automatic cancel of the line editable fields of the runtime increased to 10 seconds. The items ID generation at placing pages to the project changed to start from the source page original ID, not index 1. The text fields of description the libraries and projects expanded for the word wrap. The procedure language combobox appended for the tooltip of resetting the procedure at the empty value selecting. The primitive "FormEl", "Diagram", "Protocol" expanded for the font scaling and control, mostly to improve in Android. The pages cache of the sessions appended for the pages number limit control, its information appended to the sesion information and it improved in whole. The projects tree and the widget libraries tree is disabled for the selection loss at the focus loss. The field "Inherit" of the Widget addition dialog set to be hiden at copying/adding to the widgets containers. !!!:FIX:WebVision: !!!:FIX:Main operation: !!!:FIX: The JS function servSet() of writing to the server switched to the synchronous mode to prevent loses. !!!: The main checking of the background objects is made unified and expanded for support the optional background objects, to decrease the overall number of the background objects, where the obligatory currently are: "ElFigure", "Diagram", "Document", "FormEl"; and the optional is only "Text". Background objects of the Web-sessions appended of the objects counter, to their allocation control and debug. The post requests default response returned to the result "204 No Content" due problems with the mode "Load" of the view "Button" of the primitive "FormEl". !!!: The main window vertical expanding threshold set to 10% of the window decreasing size at 50% for shrinking, to prevent flicking on FireFox for notes about block the external windows. !!: The built-in scaling mode set to use-enable in relation from window.devicePixelRatio equal to 1, on the WebBrowser level. !!:FIX: Restored in the full widgets tree reloading to restore the function of removing missed widgets in the visualiser at their removing into the VCA-engine. !!:FIX: Prevented from spare and separate requesting of the included pages' content, in the starting. !!:FIX: Improved for the focus control behaviour and fixed to prevent mouse events to behind pages. External windows of the interface prevented from flicking by it real closing after missing this page in the VCA-engine. Some improved for the updating periodicity calculation for it limits after restoring the long missed connections. Expanded for SVG-files processing by setting the attribute "preserveAspectRatio" to "none". !!!: Appended for the pages cache be controlled in the lifetime and the pages maximum number, both on the server and WebBrowser side, then the module is more suitable now to work in the operative mode! The cache information appended for the sesion information. The server side yet can work with old modified interface JS files, in the old unlimited cache mode! !!!:Sessions control: !!!: Expanded for the possibility of the opened sessions manual closing from the administrator user. !!:FIX: The ordinal users prevented from connection to foreign sessions. !!:FIX: The main requesting code of GET significantly simplified to prevent of reconnections to the VCA-sessions without the local ones. !!: Appended for the state of the opened sessions on the control page, including the connected project and the user. Unified for the ROOT users processing. !!!:FIX:Status bar: !!!: Appended for the alarm level with a function of the global quietation, sending "ws_alarmLev". !!!: Expanded for the VCA-styles support in their display and changing. !!:FIX: Fixed in form the statusbar size, updating and preventing from its flicking at the master page updating. !!!!:FIX:FormEl: !!!:FIX:{Tree,Table}: Are fixed for true counting the border width and padding in the result geometry. !!!:FIX:Tree: Fixed for processing the empty string in the end. !!: Appended for scaling the control tree images. FIX: Fixed for the default italic style of the font. FIX: Fixed in processing wrong current values. !:FIX:Table: !: Default styles of the border and background moved from the JS-code. FIX: Fixed to apply the table columns widths for tables without the horizontal header, copying the style to the first row. FIX: Prevented from updating the editing tables. FIX: "word-break: break-all" removed from the table styles. Editing boolean fields set clean. Improved to gain focus at entering to edit a cell for the hotkey operations, the boolean type appended for the hotkey operations. Improved for the real type represent. FIX:Date: Fixed in the calendar for month start in Sunday (0) in the weeks form and background of the disabled items. FIX:Button: Fixed for hiding the overflowed context in the standard buttons, observed on Chrome. Appended for the visualiser specific attribute "vs_goHttpUrl" for going by the external links. FIX:ComboBox: Fixed for guaranty updating at the value changing. FIX:List: Multiple items selecting is fixed. FIX: Prevented from creating items in the attribute "value" at missing, as into UI.Vision. Set to updating at the value changing, to take in acount the specific background color of the selected items. FIX:Line: Fixed in the variants Integer and Real in the spin box on the scrolling frames. FIX: Fixed for the previous value saving after operations in the spin box. FIX:Combo: Fixed for small selection list of the editable combobox. The Apply button set for adaptive from the built-in scale rate. CheckBox: Appended for scaling the element. !!: Expanded for setting the VCA visual elements at the "class" attribute to "Primitive {WPrimitive}" and the "id" attribute to the widget identifier like to "wdg_{id}", for simplifying the customisation. !:FIX:ElFigure: The primitive source code is significantly cleaned. FIX: Prevented from crashing at coming the POST requests firstly. !:FIX: The JS setting function setWAttrs() fixed for encoding the special symbols "<>". !:FIX: Prevented from crashing in the VCAObj destructor at the cache clearance in the multithreads. !: Appended for the new parameter "Resizing raster images on the server side." to control the images transformation on the server side. FIX:Media: The variant "Animation" is improved by disable the animated images scaling on the server side, thus preventing the animation lost. FIX:Text,FormEl: Expanded for NaN and EVAL processing of integer values. FIX:Diagram: The view "Trends" fixed in endMarkBrd of the endpoint date and time. FIX: Prevented from the ToolTip setting at the empty attribute 'tipTool'. FIX: Prevented from couple processing of the included pages and their opening both for including and as an external window. FIX: Improved for style of the PopUp menu and Calendar dialog window. Scroll areas of the popupmenu select are set to be hidden. The exceptions processing of the function getXmlHttp().send() removed due to at the connection exceptions the main loop is just stopped and no exceptions generated. The UI objects "VCAObj" and "VCASess" appended for the debug counters, to monitor the objects leak. Document: Appended for checking to availability the common attribute "tipTool" and the document object. The service operations "connect" and "disconnect" appended for the true user and sender information for the VCA-engine. Appended for the message "View access is not permitted" translation. !!!:FIX:QTStarter: The function updLookFeel() fixed for the void return type. !!: Right mouse key and context menu emulation is added at holding the left mouse key during the time set by the command line option --simulRightMKeyTm. This time set to 2 seconds for Android. FIX:WebCfgD: Some fixed-improved in the table cells editing. !!:FIX:QTCfg: !!:FIX: Fixed for applying forgotten changes of the editable widgets at switching to a different node. !!:FIX: The TextEdit items fixed for the editing sate detection, what is unbidden from the visibility. !!: The Node groups hint is added for a command of the node adding. !!: The moving operations, in the configuration table, expanded by the hot keys "Ctrl+Up" and "Ctrl+Down". !!: Optimisation the remote work: !!: Prevented from the navigation tree updating at selecting any item. !!: Makes slower the cycle of the periodic updating after the busy dialog appearing. Pages content updating at the item selection into the control tree moved to the timeouted update due releasing mouse events loss for the right mouse key emulation. !!: Set fast for the closing time of the configurator window with many OpenSCADA inactive external hosts, by early notifying the host tasks. FIX: Fixed for empty item name for one item selection and in the item deletion dialog. FIX: Fixed for true striction of the removing nodes list into the requesting dialog. FIX: Fixed for processing of selection lists of the combo. The approving dialog of the nodes removing limited in big lists of the selected nodes. Set to disable "actUpdate" at the periodic update. Window title of the busy progress bar set directly. !!!!:WebUser: Expanded by the DAQ-templates support. - !!!:FIX:Special.FLibSYS: FIX:IO: write() fixed for the default data type obtain, wrong data type obtaining set safe. !!!:CRC: Completed by using normal polynomials, the input and output references and the XOR for output. !!:VArchObj: Access to the archive writing functions restricted only for users in the group "Archive". For the current time of values used TSYS::curTime()/1000000 instead time(NULL) due to the value time is in microseconds. 2018-06-21 Roman 0.9.0 - FIX:data/openscada_mod_ALT.spec: The openscada-server package fixed for including the file oscada_server.xml. Switching to openscada_LTS was moved to the building script, together with the repository Debian packages. 2018-06-19 Roman 0.9.0 - DOC: Fix all documents for wrong deleting "", detected on FireFox. 2018-06-18 Roman 0.9.0 - Build: Set ALTLinux repository packages to the name "openscada_LTS". - DOC: Updating "To do" and appending "Updating_0.8.0_LTS". 2018-06-17 Roman 0.9.0 - Release of OpenSCADA 0.9 LTS. 2018-06-15 Roman (stable) - DOC: The document "Modules/BFN" translated to Ukrainian and revised. - DB.OscadaLibs: servProc.releaseTests: Significantly expanded for the tests after their execution before 0.9 LTS. servProc.{wacko2media,docOffLine}: Appended for description. - DB.Model.AGLKS.St: Appended by some nodes for the release tests: Sockets.{in_testRelease,in_testRelease1,in_testRelease2}, SSL.in_testRelease, Serial.in_testRelease DBArch.1s set to address "SQLite.arch" and to enabled at launch. - FIX:SYS:ChangeLog: Some fixed for the text after 0.8.20 LTS. FIX:data/openscada_start.in: Fixed for the new busy checking. data/ModelsDB/AGLKS/oscada_AGLKS.xml: Appended by some DB for the release tests: {SQLite,MySQL,PostgreSQL,FireBird,DBF}.testRelease. The DB SQLite.arch is added, its address set to "arch.db" and, it set to enabled at launch. TCntrNode: Changed for using the definition STD_WAIT_TM(10) instead DEF_TIMEOUT(2) and DEF_TIMEOUT_EXIT(60). TCntrNode::chldDel() prevented from exceptions in the mode DoDisable. FIX: Some original messages next improved. Some control interface properties (ID, NAME, DESCR) set to relation with the DB configuration, for: TFunction, TPrmTmpl, JavaLikeCalc.FLib. FIX: The function TMess::codeConv() prevented from error messages due a recursion at wrong codepage. - SYS.TFunction,UI.QTCfg: The control field "rows" of the control interface expanded for true processing, as a hint. - !:FIX:Archives: The archivers' objects copying prevented from startup and fixed for copying addition properties. - FIX:DB: Fixed for reloading databases at the configuration file reload. - Transports: The external hosts of OpenSCADA prevented from changing the modification time and reconnections at the loading. - !!!:DB.SQLite,DAQ.BFN,Protocol.HTTP,UI.{WebCfgD,WebVision}: Revised for all messages and the documentation. - !!:FIX:Transport.{Sockets,SSL,Serial}: Preventing, by processing, the executions at closing the input protocol. - Transport.Sockets: Appended by the IO log for UDP requests. - !:FIX:UI.QTCfg: Fixed for crashes at going to in the list by double-click. - FIX:UI.{QTCfg,Vision}: Fixed for crashes at the module detaching. - UI.VCAEngine: Duplicated for the user API function alrmQuietance() to the old one alrmQuittance() and the service "quietance" to the old one "quittance". - UI.{WebCfg,WebCfgD,WebUser,WebVision}: The module information fields "Name", "Author", "Description" prevented from duplication. - FIX:UI.WebVision: Fixed for the status bar scaling, checking for availability and help processing. Header of the protocol table set to hidden at its disabling. 2018-06-05 Roman (stable) - !!:DOC: The document "UI.Vision" is fully revised and translated to Ukrainian. - SYS,UI.{QTCfg,Vision}: Some original messages next improved. - Archive.FSArch: Last entry of the direct specified permition of the creating file replaced to SYS->permCrtFiles(). - UI.QTStarter: Resolved for QStyle direct declaration but it is needed some time. - UI.Vision: Finished for revision the translation to German. 2018-05-29 Roman (stable) - !!:DOC: The document "UI.VCAEngine" is fully revised and translated to Ukrainian. - FIX:DB.Model.{AGLKS,Boiler}.St: Some original messages fixed. - !!:SYS.*: Command line help unified in the function optDescr() for getting the hierarchical help in a string and for its printing in single place of the function TSYS::load_(). !!: A new command-line argument --consoleCharSet added for control the console charset, for console messages and help. TCntrNode: The message "Expecting release %d users!" appearing set seldom and with period 1 second. - FIX:DAQ.JavaLikeCalc: Fixed for translation and output links setting from the table edition. - FIX:UI.{VCAEngine,Vision}: Fixed and expanded for original messages. - FIX:UI.Vision: Fixed for closing child windows on QNX, commenting pg->setAttribute(Qt::WA_DeleteOnClose) FIX: Fixed for fit main page to the main window size on small screens - prevents from appearing scroll bars. FIX: Fixed for crash on main runtime window close with palyback of the primitive "Media" in the types "Animation" and "Full video". - !!:UI.WebVision: Expanded for own statusbar support, currently only with the user information and the status messages. 2018-05-18 Roman (stable) - !!:DOC: The document "VCAEngine (VCA)" is started for revision. - data/debian: Expanded by appending the package openscada-plc. - SYS.XMLNode: isspace() replaced by own implementation isSpace(), mostly for QNX where isspace() is broken for UTF-8. - !!:DAQ.{TPrmTempl,JavaLikeCalc}: Finished and tested at the implementing the class TPrmTempl::Impl of the using unification of the DAQ templates. Access to the links moved under the critical section. - Protocol.HTTP: Expanded using the project icon as the main module icon. 2018-05-14 Roman (stable) - !!:DOC: The document "DAQ" is fully revised. - DAQ.{*.ModBus},Protocol.UserProtocol,UI.{VCAEngine,WebUser}: Internal programming languages list made plain, moved to the generic request "/plang/list" and used everywhere. - !!:DAQ.TPrmTempl: Started for expanding of the using unification by the class TPrmTempl::Impl creation, due the planes for exptend some OpenSCADA parts by the DAQ templates: DAQ.JavaLikeCalc, Protocol.{ModBus,UserPrt}, UI.WebUser; and for parts already using the DAQ templates: DAQ.{LogicLev,ModBus,Siemens}. - !!:DAQ.JavaLikeCalc: Initially extended for using the DAQ templates. The functions selection list made plain one and appended by the DAQ templates. - FIX:UI.QTCfg: Fixed for crashes at opened warning-error dialogs. Going to branches through the list set for placing the previous address to the back list. - !!:UI.Vision: The requisting into different thread set to be enabled at the unpublic command line option "ReqInDifThread" but Qt loss releasing mouse events now, into event(). Then, by default the requisting into different thread is disabled now. 2018-05-11 Roman (stable) - !!:DOC: The document "DAQ" is mostly revised. - !!!:FIX:Archive.FSArch: Cache access moved under a critical section, for preventing crashes at high load. - DAQ.GPIO: SUNXI part expanded by the ports J,K,L,M,N,O. - !!:DAQ.SNMP: Expanded for the connection error control at the parameter level. - !!!:FIX:UI.{QTStarter,QTCfg,Vision}: All Qt objects removing moved to use deleteLater(), for safe removing under processEvents() call from the requesting in different thread. - !!!:FIX:UI.Vision: The primitive "Diagram" and "Box" fixed after wrong improving in the tracing call on close but for the development mode. 2018-05-05 Roman (stable) - !!:DOC: The documents fully revised: Archive.FSArch, DAQ.{LogicLev,DAQGate,ModBus,GPIO}, Transport.Sockets. - FIX:DB.Model.AGLKS.St: DAQ.LogicLev.experiment fixed for the reflection DB specifying as "LogLevPrmRefl_experiment". - !!:SYS,Archive.FSArch,DB.SQLite,DAQ.{DAQGate,GPIO,LogicLev},Transport.Sockets: Some original messages next improved. - FIX:Protocol.UserProtocol: Prevented from breaking all next starting protocols after one error starting. - !!!:FIX:UI.QTCfg: Fixed, in the closing mostly, for processing of requests into the different threads in way of the function implementation for the runtime mode of UI.Vision. The fit of the vertically scalable items made more precision. Added for HTML encoding into the HTML helps. - !!!:FIX:UI.VCAEngine: Archive mode of the primitive "Document" fixed by the specific attributes set to the new mode Attr::NotStored. - !!!:UI.Vision: Requests of the runtime mode moved to different thread. Notificators switched to direct requests, behind the different thread. The primitive "Diagram" and "Box" improved for late enabling (after whole loading) in the runtime mode, mostly for slow and bad remote connections. Access to user's name and password moved under the critical section. 2018-04-27 Roman (stable) - data/openscada-proj: Expanded by the command "update" of updating the configuration 0.8.0 LTS to 0.9. - !:FIX:SYS.Archives: Fixed for archivers loading at some archive module missing. - !:FIX:SYS.TCntrNode: Appended by the definition "DEF_TIMEOUT_EXIT(60)" for use the timeout of the nodes disable/remove at the program exit. Mostly to prevent crashes at the exit when there some long-time procedures executed. - !:FIX:TRegExp: UTF8 flag force setting at UTF8 system locale is prevented at the reason of there impossible disable the flag for non-UTF8 source. The attribute "err" added to the result array of the match() request. - DAQ.{DAQGate,MMS,ModBus,OPC_UA}: TSYS::sysSleep() in idle (missing connection) replaced to TSYS::taskSleep() for correcting the maximum requesting time. - !!!:DAQ.GPIO: Expanded by the OrangePi (SUNXI) support and unification the user static functions. - DAQ.ModBus: Some original messages expanded. - !!:DAQ.SMH2Gi: Expanded for SMH4 support. - FIX:UI.QTCfg: Take in account the item's description set after its zero value. Forming item's WhatsThis and ToolTip some improved. - FIX:UI.Vision: Translation some fixed. 2018-04-22 Roman (stable) - !!!!:DOC: The document "Release_0.9" has formed and the document "DAQ.GPIO" added. - !!:SYS: DAQ.BCM2835 renamed to DAQ.GPIO and expanded for different boards support. - SYS: The DB selection item "*.*" removed for the main page. - DAQ: create() and destroy() of TTypeParam moved from constructor and destructor of TParamContr to postEnable() and preDisable() respectively, to prevent access to unformed object of TParamContr. - !!!!:UI.QTCfg: Fully revised for the original text messages. Representing for help unified for "StatusTip", "ToolTip" and "WhatsThis" in one function "setHelp()". "ToolTip" limit set for control by a new configuration parameter "ToolTipLim", which is 150 by default. "ToolTip" expanded for HTML labels. - FIX:UI.QTStarter: Fixed for original Qt-messages translation into the main-threading mode. - !!!:FIX:UI.VCAEngine: Prevented from saving not enabled yet items at "enableByNeed". - !!:FIX:UI.Vision: Scaling the main runtime window made absolute from the window original size. Some original messages yet improved, sync with QTCfg and the translation to German advanced. 2018-04-16 Roman (stable) - FIX:data/openscada-proj: "dPrjUser" fixed for set to "~/.openscada" at the variable missing. - !:SYS: "OpenSCADA system" in headers and sources fully renamed to "OpenSCADA". - FIX:UI.WebVision: Primitive "FormEl" processing into the server side moved into a critical section. 2018-04-10 Roman (stable) - FIX:Archive.FSArch: Third argument of the function open() with the option O_CREAT. - !!!!:DOC: "Quick Start" revision and it translation to Ukrainian finished at last. - FIX:DB.LibsDB.vcaBase: The "Analog show" widget translation expanded for the whole expression. The widget "Cooler (cooler2)" renamed to "Cooler 2". Main.{grpGraph,ViewCadr,grpGraph10}: Direct links to "name" replaced by the dynamic one "this.attr("name")", due it processing can be lost sometime. Main.RootPgSo: Prevented for locking all pages of selected signal object (SO). - FIX:DB.Model.AGLKS.vca: All links to the ball cranes were updated. - FIX:data/openscada-proj.in: Fixed for the negative result code of the return operation. - !!!!:SYS,UI.{VCAEngine,Vision}: The term "quittance" renamed to "quietance", from the word "quiet" which is a logical one for the alarms. - !:SYS: main.cpp improved for the original messages. "OpenSCADA system" in headers of the source files mostly renamed to "OpenSCADA". - FIX: Archives: The archivers' objects copying prevented from copy the configuration field "ADDR". - !!!!:Archive.FSArch: Hardly prevented from the configuration field "ADDR" changing both for messages and values. A procedure of the configuration field "ADDR" checking for duplicates added. - !!:FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Translation columns creation at the table fixing added for already and partial translated tables into the non multi-language mode. An additional debug tracing label added. - !!:DAQ.{DAQGate},UI.{VCAEngine,Vision}: Fully revised for the original text messages. - DAQ.JavaLikeCalc,UI.QTStarter: Some revised for the original text messages. - UI.QTCfg: Appended by the navigation tree refreshing after the error copying. - !!!!:UI.{VCAEngine,Vision}: The projects expanded by the using sessions accounting for new pages hot enabling on the sessions. The "Use" field also added for the widgets libraries, as a count of whole using of their widgets. - !!!!:FIX:UI.VCAEngine: FIX: Fixed for accessing to the wrong created session items. Attr::ProcAttr was also appended to the direct inheriting like to the links. - UI.WebVision: The attribute "value" clearance was added after accomplishing the mode "Save" of the view "Button" of the primitive "FormEl". 2018-04-01 Roman (stable) - !:DOC: "Quick Start" continued to revision ongoing of it translation to Ukrainian, in the part 4. - FIX:DB.LibsDB.OscadaLibs: Some original messages are fixed. - SYS: "Template library" renamed to "Templates library". The expression "Gather task priority" replaced in whole to "Priority of the acquisition task". The Ukrainian word "Включено" replaced in whole to "Ввімкнено" and "Виключено" to "Вимкнено". - !!:Archive.FSArch,DAQ.{LogicLev,ModBus}: Fully revised for the original text messages. - FIX:UI.VCAEngine: The attribute "value" of the primitive "FormEl" prevented from the modification flag set at the type change. - UI.Vision: The mode "Load" of the view "Button" of the primitive "FormEl" expanded for use mime and placing the selected file name to the header. - !!!:UI.WebVision: The modes "Menu", "Load" and "Save" of the view "Button" of the primitive "FormEl" are implemented. Some properties of the primitive "FormEl" were fixed to detect the changes. The tree view implementation was set the generic one for use in two places. 2018-03-24 Roman (stable) - !:DOC: "Quick Start" continued to revision ongoing of it translation to Ukrainian, in the part 3. - !!!:SYS: The option --enable-QtMainThrd of the configure time of the building was replaced by the execution command-line option --QtInNotMainThread of the module UI.QTStarter. And Qt working into the main thread is the default mode. - DB.LibsDB.OscadaLibs: DAQ templates base.{manInUnif,anUnif,anUnifSt} expanded for NORM messages oppressing also at wrong connections to the source. - FIX:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} fixed for the archival mode and improved for the dynamic mode. - SYS: *.desktop.in fixed for the original name and description. data/{openscada.spec,openscada_mod_ALT.spec,openscada_mod_RH.spec}: The daemon mode init script "oscadad" and "openscadad" renamed to "openscada-server" and separated to "openscada-plc" for the generalization. data/oscada_start.xml: the input transports were commented due to clarify the default configuration file of the desktop mode. data/openscada_start.in: expanded to check for "lock" file of the new project manager. - FIX:SYS.*: The function cmdOpt() set to return empty strings at the empty command-line parameter. The function cmdOptPresent() is used only for the parameter presence checking. - FIX:UI.VCAEngine: Restored and fixed for hot tracing into sessions of changes into widget's links. The session project forbidden to edition into the enabled mode. - !:FIX:UI.Vision: The copy command final rised before the cut one. The InputDlg widget expanded for controlled save and restore the window size, for very expanded ones on the example of the fullsized text edition. FIX: The view "Button" of the primitive "FormEl" forcing to its background color fixed for set the default color. - !!:UI.WebVision: The view "Button" of the primitive "FormEl" some improved and expanded for the extended mode "Save" support. Tracing for the main window resizing set only for the height and with 10% margin in decreasing. 2018-03-16 Roman (stable) - !!:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} significant expanded for work in the dynamic mode also. - !!!:FIX:SYS.Android: Expanded for: deep attenuation of the look, building with the official NDK r13, building and signing the release target, setting the package version to 0.9. FIX: For condition variables where CLOCK_MONOTONIC was selected but CLOCK_REALTIME used. Setting for locale added as setlocale(LC_CTYPE, "C.UTF-8"); for Android >= 5. - !:SYS,UI.QTStarter: Generic font was added to the list of the look control fields, initially for Android. - UI.QTCfg: Set adjustable to the generic font real size for: the control tree and the splitter width, the main window initial size. Loading of the "endRunTimer" is decreased. - FIX:UI.QTStarter: Prevented from open the QTStarter main window after successful log in into the QTCfg module. - UI.VCAEngine: Prevented from the missing attributes warnings at switching the primitive "Document" to the dynamic mode. - UI.Vision: Set adjustable to the generic font real size for: the tree view. The view "Button" of the primitive "FormEl" forced to its background color changing by using CSS also, which is needed for the Qt Widgets style "GTK+". - FIX:UI.WebVision: The primitive "Text" disabled from padding arguments by " " and " " used instead. Tracing added for the Web-browser main window resize and the OpenSCADA main page reloading. 2018-03-09 Roman (stable) - SYS,UI.QTStarter: Android look adapted to a default custom theme and CSS. - !!:DOC: Off-line documents Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module} are appended by the prefix "How_to_". - DB.LibsDB.OscadaLibs: DAQ templates base.{manInUnif,anUnif,anUnifSt} are appended by checking their execution controller state for oppressing their violations about wrong connections to the source. - FIX:DB.LibsDB.vcaBase: Wrong "tittle" renamed to "title". - DATA.icons,UI.{QTCfg,QTStarter,Vision}: Some low-resolution images of GUI toolbars expanded up to 64x64 dimension in way of the Android look improving. - Archives: Clean up of the current violations table was added by a new button. - DAQ.JavaLikeCalc: The function String.toInt() of the user API set to the base "10" by default. The user API expanded by functions {Boolean,Integer,Real}.{toReal,toInt}(). - !!!:UI.{QTStarter,QTCfg,Vision}: Size of icons and sub-fonts made adaptive from the main-system font real size, for: the title font, toolbars' icons, the navigation tree's icons; by the new function icoSize() and in way of the adaption to Android. !!:Force switching to the style QPlastiqueStyle() (Qt4) or QCommonStyle() (Qt5) was removed by presence of OpenSCADA control of the look and feels. Moving dialogs to the centre of the screen was added for Android. - !:UI.QTCfg: The images "ok.png" and "identity.png" removed and replaced. The fitting mechanism of the scalable items was made faster. - UI.QTStarter: An icon "it_add.png" was added for the button "Create-update a project". Using of the native menu-bar of Android disabled by the attribute Qt::AA_DontUseNativeMenuBar. - !!!!:UI.{VCAEngine,Vision,WebVision}: The primitive "Text" was appended by an attribute "inHtml" and the support of display HTML. - UI.Vision: The images "it_*.png" renamed to "v_it_*.png". The images "ok.png" removed and replaced. 2018-03-04 Roman (stable) - !!:DOC: Appended by Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module},Documents/API. - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Documents/How_to/{Cyclic_programming,Debug,Transferring_project_configuration,Build_from_source,Crash_report,Create_module},Documents/API(EN) for the offline documentaion list. servProc.docOffLine switched more to the default language "en" for common images and generic documents - only in English. - !!!!:SYS,UI.QTStarter: The manager of the OpenSCADA projects expanded for: data/Android/AndroidManifest.xml: data/openscada-proj.in: The user directory of OpenSCADA projects allowed for disabling, setting to priority before the system one and placing to FAT. The user directory of OpenSCADA projects set to "/storage/sdcard0/.openscada". data/debian[_mod]/*.init: Set for disable the user directory of OpenSCADA projects. - !!!!:SYS,DAQ.{*,JavaLikeCalc,SNMP},UI.QTStarter: Most original messages at last improved and corrected. - !!:SYS,DB.DBF,Archive.FSArch,UI.Vision: Generic control for permition of created files by OpenSCADA, added by the command-line parameter "--permCrtFiles" and the function TSYS::permCrtFiles(). - !!:Archive.FSArch: New objects of archivers sets to the default path of storage "ARCHIVES/MESS/" for the projects of OpenSCADA. Archive files renamed from the format "%F %T" to "%F %H.%M.%S" to allow their creation on FAT. - FIX:DAQ.ModBus: Fix for copy parameters of the logical type at the links initiate after. - FIX:UI.QTCfg: Vertically scalable elements fixed for guaranty the previous fit reset before the same fitting. - UI.QTStarter: The look and feel are made for renewing on the go. The manager of the OpenSCADA projects merged the user and system directories of the projects and was set for the projects sorting. The function "Create-update a project" was moved as an independent button, after the projects list. 2018-02-23 Roman (stable) - !:DOC: Appended by Works/To_do,Documents/How_to/{Install,Live_disk,Violations,_alarms_and_notifications}. - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Works/To_do,Documents/How_to/{Install,Live_disk,Violations,_alarms_and_notifications} for the offline documentaion list. servProc.docOffLine switched to the default language "en" and the missed pages link to there. - SYS:*.spec,debian/control: Translation packages set for dependent from English one. - !!!!:SYS,UI.QTStarter,DAQ.System: QtSensors support was added for the sensors reading into UI.QTStarter and a shared object preparing for DAQ.System and the user API. - !!:SYS: The folder "data/Android" of configuration of the OpenSCADA building for Android was added. data/openscada-proj.in was adapted and its permition checking and setting to the executable was added for call from Android. The command-line argument --modDir was added as a copy of the configuration file parameter "ModDir". - SYS: The function cmdOptPresent() was added for the user projects directory role next expanding. - SYS: ARM CPU-frequency reading expanded in reading "scaling_cur_freq" which available for the ordinal users. - !:FIX:Archive.DBArch: Fixed for single-value request of the value archive. - FIX:UI.QTStarter: Visibility of the button of the OpenSCADA projects call some fixed for Android. 2018-02-09 Roman (stable) - !:DOC: "User API" revision finished. - SYS: data/{debian,debian_mod}/control,data/openscada.ebuild,data/*.spec: somewhat updated for some packages description. - SYS: TODO was updated for re-link to the online document. README was updated. - PrmTmpl,DAQ.JavaLikeCalc,UI.VCAEngine: The document "User API" call from some pages of the configurators of OpenSCADA was added. - !:UI.{QTStarter,QTCfg,Vision}: Qt Windows show mode support was added by the commandline parameter --showWin, for initial and allowed to change from. - !:UI.Vision.ElFigure: Some properties of the common part of the developing mode were moved to the private widget part - for allowance of the feature of the parallel edition at widgets of the primitive execution. 2018-02-02 Roman (stable) - !:DOC: "Program Manual" revision and it translation to Ukrainian finished at last. "UI.QTStarter" significant revised and actualised. - DB.SQLite: Expanded for an error message mark as "Read Only". - Transport.{Sockets,SSL}: The connection error of the outgoing transport was expanded by details. - FIX:UI.QTStarter: Some original messages were fixed. 2018-01-28 Roman (stable) - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - SYS: The meaning of the OpenSCADA station ID set more clear and associated to the station role that is: WorkStation, ServerStation, PLCStation, SimulatorStation. For the main roles WorkStation, ServerStation, PLCStation there were added some representative icons and the station icon set check to its name before. - !!!!:SYS, UI.QTStarter: UI.QTStarter expanded by the Look and Feel control itself and its profiles support from the configuration file table "LookFeel" of the module. Currently to the table "LookFeel" added three pallete profiles of the configuration files oscada_start.xml, oscada_AGLKS.xml, oscada_Boiler.xml. Most of the standard configuration files of OpenSCADA revised for their properties translation and the original messages. - !!!!:SYS: All command line help messages of the core library and modules of OpenSCADA fully revised for the original texts and their translation to Ukrainian, Russian and German. - !!:SYS,Archive.{DBArch,FSArch}: Most original messages and help ones of the subsystem "Modules scheduler", "User interfaces", "Special" and some others were fixed and improved. - SYS: The station name "Empty Station" renamed to "Initial Station". - !:Special.SystemTests: Especially significant revised for all command line help messages. - UI.VCAEngine: The syntax highlight rules of CSS expanded for comments by /* */ of the primitive "Document". - UI.WebCfgD: Renamed from "Dynamic WEB configurator" to "Program configurator (Dynamic WEB)". 2018-01-19 Roman (stable) - DB.AGLKS.St.db: ModBus tests expanded for reading a big PDU by the register 100 reading. - SYS:data/{debian,debian_mod}/rules: The configuration appended by the argument "--disable-static" to disable the static library of the OpenSCADA core build. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - !!:SYS,Archive.{DBArch,FSArch}: Most original messages and help ones of the subsystem "Archives-History" and some others were fixed and improved. - FIX:UI.QTStarter: Prevent from a multiple entry from processEvents() manual call, observed on QTCfg. - !!:UI.VCAEngine: Implemented for hot update of the widget procedures of the runtime mode. - !:FIX:UI.Vision: Prevented from the runtime window manual resize drop at the user change. !:The view "List" of the primitive "FormEl" rewrote to implement the light updating, for mobile devices like to Maemo, MeeGo. 2018-01-13 Roman (stable) - DB.AGLKS.St.db: Appended by the documented Logical Level parameter experiment.CB7. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. - SYS:Changelog: Some messages are fixed. - SYS,DAQ.{BFN,BlockCalc,DAQGate,FT3,JavaLikeCalc,LogicLev,ModBus,OPC_UA,Siemens},Protocol.UserProtocol,UI.{VCAEngine,Vision,WebUser}: "ID" renamed to "Identifier". - SYS: Help messages of the subsystem "Data acquisition" are improved. - !:FIX:SYS: Final counters dysplay set before the object "Mess" deletion. - !!:Transport.Serial: Added measuring of the maximum char symbol time of the output transports in the requesting mode in the Debugging. Char timeout calculation expanded for take in account whether the device is local (ttyS{X}) where the char timeout multiply to 3 for not local ones. - !!!:UI.{QTStarter,QTCfg,Vision}: The QTStarter menu forming yet one time changed for make the actions independent but the problem of the native menu bar forming in Unity. QTStarter toolbar forming moved direct to the end module. Force visibility of the menubar disabled for the native menu bar. - UI.QTStarter: Qt Style and StyleSheets are temporary added, before full implementation of the custom look and fill control by itself. Icon of the system tray and the main selection dialog appended for the custom project icon by its identifier. - UI.Vision: Main window of the runtime mode set to readjust at the user change. Main menu of the main window of the runtime mode set to the not disabling mode. 2017-12-27 Roman (stable) - FIX:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMonthA} Fix the summary document generation data for the account hour 0. - SYS:*.spec,debian/*.links: Final switch straight links from "openscada_start" to "openscada". - SYS.{Mess,DAQ,Archives,Transports}: Expand for subsystem specific unloading by implement the function unload() for cleaner complex OpenSCADA projects switch. - SYS: "EmptySt" renamed to "InitSt" as the initial station by default. - FIX:DAQ.DAQGate: Fix for attributes in EVAL for the stopped and disabled modes. - !!!!:UI.QTStarter: Expanded for close (windows) and starting into the system tray. !!!!: Significantly revised for the interface fully creation into the Qt events loop of exec() and WinControl functions moved to the StApp descendant of QApplication. Menu of QTStarter with the Qt modules list was unified as the static storage of the actions for extending menus and toolbars of windows of the Qt modules and the system tray icon. Set icon of the QTStarter dialog to one of the actual project. - !!:FIX:UI.Vision: Maximising, Full-screen, return to the original size of the runtime windows of the visual projects made true and unified at last. 2017-12-22 Roman (stable) - !!:FIX:DB.LibsDB.OscadaLibs: flb_doc.getVal fix for wrong archivators work out. - FIX:SYS: FIX:openscada.spec: Fixed for building on %_vendor == "redhat" and oscada_plc.xml appended beside oscada_server.xml. FIX:*: Some build warnigs are fixed. *: Unwrapping all the shortcuts "(sec)" to ", seconds". !!:XMLNodeObj,XMLNode: Full children clear set from the end for much speed up. Changelog: Some messages are fixed. Some original help messages fixed. Add debug counters clean up into unload(). - DB: Spare configuration area of the table object "/prm/cfg" removed. - FIX:Archive.DBArch: Appended by wrong archives pass of the values. - FIX:Archive.FSArch: Archive files multiple pack-unpack prevented. - DB.SQLite: Requests "BEGIN;" and "COMMIT;" moved under the critical section "connRes". - Protocol.HTTP: mNoFull renamed to mNotFull. - !!:Transport.{Sockets,SSL,Serial}: Output transports were appended by the responsible time measurement in the Debug mode. - !!:FIX:UI.QTCfg: Prevent error messages at resizing and make it after 0.5s. !!:FIX: Fix vertical scalable widgets "Tables" and "Lists" by their placing at the end of the widgets stack. 2017-12-16 Roman (stable) - DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{Quick_start,How_to}(without Ukrainian still) for the offline documentaion list. - DB.AGLKS.vca: Table "prj_AGLKS_incl" clear from spare records with "ATTRS"='' from old versions of OpenSCADA. - DB.Boiler.St: Table "prj_kotel9_incl" clear from spare records with "ATTRS"='' from old versions of OpenSCADA. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{Quick_start,How_to}(without Ukrainian still). - !!:FIX:SYS,UI.QTStarter: The new project manager adapted to lighter reloading at the projects switching in way of holding UI.QTStarter that fix some Qt configurations exactly for Maemo and seems for Android. Then the reloading performs now on the subsystems level with holding some modules. FIX: Checking filesystem items of projects for presence some fixed. - !!!!:SYS: Switch to the new projects manager: - for desktop files: openscada.desktop, openscada_AGLKS.desktop, openscada_Boiler.desktop; - initial scripts of the daemon mode: debian/openscada-server.init; - new configuration files of the projects "server" and "plc" of the daemon mode and their appending to debian and RPM packages, for: oscada_server.xml, oscada_plc.xml; old direct configurations of this mode must be in function; - the default configuration file oscada.xml moving to the exclusively projects initial configuration where only module ui_QTStarter.so allowed to a project fast selection; - the projects managing external script openscada-proj adapted to create projects' folders at their configuration file only availability, mostly for the daemon mode projects "server" and "plc"; -the old project manager script openscada_start left to the compatibility of the early created *.desktop links. - !!:FIX:SYS.*: Full switch to cmdOpt() from getCmdOpt() and some command-line options ongoing processing fix from early direct using of the system function: --messlev, --modPath. - !!!!:FIX:SYS: XMLNode fixed from spare string size reserving in encoding of the serialization which caused to its performance significant degradation especially on big trees. It must significant rise overall performance in network interaction by XML. - SYS.*: Unwrapping all the shortcuts "(s)" to ", seconds". - SYS: Redundancy appended by the maximum value of measuring of the processing time. - Archives.*: Values and messages archivators appended by the maximum value of measuring of the processing. - DAQ.AMRDevs: Finish of translation to German. - !!:Transport.*: Appended by measurement of the current and maximum time of requesting to protocol, in the "Debug (0)" mode. - !!:UI.QTStarter: Set holded at reloading by signal SIGUSR2 of projects reloading. Self menu for other modules made single one and placed also into property "menuStarterAddr" of the application main object. Made some optimal for busy screen devices like Nokia N900. - !!:FIX:UI.VCAEngine: Document processing tasks closing at executions prevented by these executions processing. !!: Different big (from the main task of the session) perioded widgets processing adapted to execution into different phases then to make the main task loading plainer and lesser at all. - !!FIX:UI.Vision: Runtime menu creation moved to whole mode that is full creation at needs and full clearing at not needs, for prevent the menu show at its inactive mode into some environments like Maemo and Unity. In that menu creation there is used the property "menuStarterAddr" of the QTStarter menu from the main object of the application. 2017-12-08 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib.Nik2303I improved for natural termination criterion checking by Ruslan Yarmoliuk . servProc.docOffLine appended by the documents Modules/{BFN(without Ukrainian still),SoundCard,SMH2Gi} for the offline documentaion list. - DB.AGLKS.St: A preconfigured sound controler object of DAQ.SoundCard set to "default". - !:DOC: Appended by Modules/{BFN(without Ukrainian still),SoundCard,SMH2Gi}. - !!!!:SYS,UI.QTStarter: Built-in manager of projects of OpenSCADA implementation is finished for: - implementing of the platform specific placed to the script openscada-proj which also can be used independently and supports commands: list, proc, create, remove; - directory of user projects set configurable by a command-line argument --projUserDir; - multiple start preventing implemented by functions prjLockUpdPer(), prjLock() and a command-line argument --projLock; - icons and statuses added to prolect's items of the list of selection; - the actual project manager in a BASH script yet allowed but it will be switched to the new built-in at next turn-commit and currently you can see it simple call "openscada". - SYS: Command-line option --coreDumpAllow replaced by --noCoreDump to generate core dumps by default. - SYS,DAQ.{BlockCalc,DAQGate},Protocol.{ModBus,OPC_UA,UserProtocol},UI.VCAEngine: State lablel "Enable" renamed to "Enabled". - !!:FIX:DAQ.SoundCard: Significant revised and fixed for work with the real hardware and virtual ones like PulseAudio and tested on sample rates up to 192000. - FIX:UI.WebVision: Calendar dialog closing fixed and set at the clear timeout also and set it to 10 seconds. 2017-12-02 Roman (stable) - FIX:UI.QTStarter: Fix build for Qt5 in the main thread. - FIX:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{Vision(without Ukrainian still),WebCfgD,WebCfg,WebVision,WebUser} for the offline documentaion list. - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by implementing of electricity counters Nik2303I from Ruslan Yarmoliuk . - !:DOC: Appended by Modules/{Vision(without Ukrainian still),WebCfgD,WebCfg,WebVision,WebUser}. - SYS: Default DB of the config file oscada.xml changed to the same config file, mostly to prevent empty DB files creation at initial configurations. - !!!!:SYS,UI.QTStarter: Initial support of projects OpenSCADA was added in way of which there appended: - strEncode() expanded by the mode "ToLower" for conversion to lower register; - command-line options preloading and direct access-modification by a new function cmdOpt(). - subsystem's modules unloading by unload(); - stopping by user's signals into stop(), where SIGUSR2 reserved for projects switching; - projects managing core functions: prjCustMode(), prjNm(), prjSwitch(); - UI.QTStarter: list of projects of OpenSCADA for controlled switching from initial (only a project selection) or other project; - the actual project manager in a BASH script yet allowed and here left to implement: RW projects copy, new projects creation at template, locking from multiple starting of single project. - DAQ.JavaLikeCalc: "Compile error ..." information expanded by the function ID. - !:FIX:UI.Vision: State of opened windows appended by their users. Main dialogs of the developing mode size and splitter's properties storing and restoring were added. Qt > 5.3 fix for wrong QAbstractTableModel::sibling() implementation by it reverting to QAbstractItemModel implementation. 2017-11-25 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the documents Modules/{VCAEngine(without Ukrainian still),QTStarter,QTCfg,FLibSYS,SystemTests,FLibMath,FLibComplex1} for the offline documentaion list. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{VCAEngine(without Ukrainian still),QTStarter,QTCfg,FLibSYS,SystemTests,FLibMath,FLibComplex1}. - !:DB.SQLite: Journals removing before open any DB was added. - !!:DAQ.{BlockCalc,DAQGate,DCON,LogicLev,Siemens,System}: The deprecated attribute "Clock period (ms)" removed. - Special.SystemTests: Some original messages fixed. - UI.{QTCfg,Vision}: Main window (developing for Vision) size and splitter's properties storing and restoring were added. - UI.QTCfg: Pages refresh at vertical size changing was added. Stop for cyclic refreshing at wait dialog termination was added before same termination. 2017-11-17 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: LowDevLib.BME280 next some fixed by Arcadiy Kisel. FIX: servProc.wacko2media appended for processing "__", "!!(color)!!" and fixed for unpaired paddings before list symbol " *". servProc.docOffLine appended by the documents Modules/{ICP_DAS,Siemens,DiamondBoards,Comedi} for the offline documentaion list. The execution limit next rose to 240 seconds. - DB.LibsDB.vcaBase: Main.cntrPaspExt expanded to parameter name into the title. - !:DOC: "Program Manual" continued to revision ongoing of it translation to Ukrainian. Appended by Modules/{ICP_DAS,Siemens,DiamondBoards,Comedi}. - SYS: --enable-QtMainThrd set conditional in it default value that is "yes" for Qt5 and "no" for Qt4. - FIX:Archive.FSArch: Translation to German some fixed by Oleksiy Bondarchuk. - !!:FIX:DAQ.{DCON,ModBus,Siemens}: Mutex objects "enRes" and "reqRes" set to recursive ones by Alexey Bondarchuk. - Special.SystemTests: The name and description some expanded. - !!:FIX:UI.Vision: Main window restored for correct title into the runtime mode. !!:FIX: View "Text" of the primitive "FormEl" is fixed for crashes at placing on external windows of the runtime mode. Spare Mutex Objects removed from the object "UserStBar". 2017-11-14 Roman (stable) - FIX:DB.LibsDB.OscadaLibs: LowDevLib.BME280 fixed from SYS.Transport.SerialnodeAt(). - !!:SYS.TConfig: Prevented from recursive entry to cfgChange() by a flag mInCfgCh. - FIX:SYS.Security: Prcessing of plain passwords storing was fixed for hashe's salt limit in 8 symbols. - FIX:Transport.Serial: SPI_MODE_0 using set to a direct number "0" but some environments miss the definition. 2017-11-10 Roman (stable) - !!:DB.LibsDB.OscadaLibs: servProc.docOffLine appended by the document Modules/SNMP for the offline documentaion list. The execution limit rose to 180 seconds. All templates of the library "LowDevLib" fixed for connection to a transport using nodeAt(). The templates libary "LowDevLib" appended by a new template "BME280" of the chip BME280 support implementation from Arcadiy Kisel. - !:DOC: "Program Manual" started to revision ongoing of it translation to Ukrainian. Appended by Modules/SNMP. - SYS,DAQ.SNMP: Some original messages were fixed. - SYS.Function: Number of manual calculations of internal procedures set to 1 again, by default. - SYS.Security: In hashed passwords their allowed to store in plain, mostly for the storages which are primarily in edition. - !!:Transport.Serial: Expanded for initial support the bus "SPI". - UI.{VCAEngine,Vision}: Deleted widgets from inherited containers resoring was added at alike widget creation try, instead incomprehensible messages. That is the first service used the warnings mechanism of the control interfase of OpenSCADA! 2017-11-03 Roman (stable) - !!!!:DOC: OpenSCADA switched to a new scheme of the project off-line documentation forming directly from the project Wiki just by the OpenSCADA procedure "docOffLine" execution. Then folders doc/{en,uk,ru} of the source texts tree of the project were cleaned from previous old documentation in PDF and generated for a new one in HTML. The new off-line documentation is not a completed one and will be appended in way of readiness of the documentation sorce on Wiki of the project! - !!!!:DB.LibsDB.OscadaLibs: The part of low level devices of the parameters template "DevLib" disjoined into a different library "LowDevLib" and the remained part was mostly updated and translated. JavaLikeCalc library "Service procedures(servProc)" appended by the function "wacko2media" of Wiki syntax convertion from WackoWiki to MediaWiki and by the function "docOffLine" of the project offline documentation generation from the project Wiki. - !:SYS: Original messages of the program core some updated and number of calculations of internal procedures set to 1, by default. - !:SYS,UI.{QTCfg,QTStarter,Vision}: Off-line documentation call adapted to the new new scheme of the project off-line documentation forming. - !!!:SYS.XMLNodeObj: Appended by an user API function getElementsBy() of XML nodes list obtaining by tag name or some attribute value. - SYS.TArrayObj: arSet() adapted to the array end appending by a negative index. - !!:FIX:SYS.XMLNode: Unified and fixed in serialization to XHTML for: preventing self-finished tags for "script", "div; preventing of symbols "'" and '"' encoding into text (also for generic XML); UTF8 symbol 0xA0 encoding to " ". - !!:FIX:Archive.FSArch: Some messages expanded for more information. Name of objects of archive files moved under resource by using MtxString. Added checking and clearing for zero archive files. Buffers of archivation of messages and of info-files of values set safer, for possible random data reading. Checking for parameters of value archives added to prevent crashes at wrong ones of deep broken archives. - DAQ.JavaLikeCalc: Original messages some updated. - FIX:UI.QTCfg: Prevented from high load at the respond waiting progress dialog. 2017-10-21 Roman (stable) - !!!!:DB.LibsDB.{OscadaLibs,vcaBase}: JavaLikeCalc.Controllers.prescr and Main.{prescrEdit,prescrRun,prescrRunSimple} expanded for backgrounded steps support and some fixes about pauses. - FIX:UI.Vision: View "CheckBox" of the primitive "FormEl" processing fixed for signals preventing at set value from the model. - FIX:UI.VCAEngine: Attribute "var{X}val" of the primitive "Text" set to translated for strings. 2017-10-11 Roman (stable) - SYS,DAQ.{MMS.libMMS,OPC_UA.libOPC_UA}: After adaption to build for OpenWrt and with uCLibC, resourcesAllow true checking some changed but it has yet problems with Automake 1.9. - FIX:SYS.Mess: {mLang2CodeBase,mLang2Code} moved under the data resource. Strings' encoding disabled for language "C" and the encoding "ASCII". - FIX:SYS.Security: Fixed for crash on try login at not initiated empty password with its hashing support. Functions crypt_r() and crypt() processing was added. - Special.FLibSYS: Function str2real() moved to use s2r(). 2017-10-06 Roman (stable) - SYS: In way of adaption to build for OpenWrt and with uCLibC there was made: - resourcesAllow true checking for build without the resources (folders "data" and "doc"), mostly by problems at "automake" here execution; - librt checking changed from the function clock_gettime() to clock_nanosleep(); - for libcrypt checking there used function "crypt"; - including to src/tmess.h; - checking for __UCLIBC__ into TUser::auth(); - iconv buffer set to "const char *". - SYS,UI.QTStarter: Word "system" mostly replaced by the word "program". - !!!!:SYS,DAQ.{AMRDevs,FastWel,ICP_DAS,SMH2Gi}: A self implementation was added and used for the function atof() and strtod() in the function TSYS::str2real() and its shortcut s2r() and for understand both radix symbols of float point value that is "." and ",". That doing was made in way of switching to native LC_NUMERIC value but here yet present other problems: scanf() for floats and external environments work, like JavaScript of WWW. - DAQ.{MMS.libMMS,OPC_UA.libOPC_UA}: Function TSYS::str2real() and its shortcut s2r() placed and used to the independent library. - FIX:SYS: Call for online documentation fixed for the main page "Documents/". - SYS,Transport: Offset part in left added to binaries decoding by the argument's value "". - FIX:SYS.XMLNode: Encoding UTF code 0xA0 to " " replaced to " " but " " caused errors on pure XML (not XHTML), observed on UI.WebCfgD. - DAQ.BlockCalc: Attributes description format some rewrote. - !!:Special.FLibSYS: VArch::set() expanded for single value writing to the archivator of the archive. - UI.{QTCfg,WebCfgD}: Scalable items set optimal for vertical fitting, but straight increasing per 5 pixels too slow on some graphical environments like virtual machines and VNC. - FIX:UI.{VCAEngine,Vision,WebVision}: Adapted to mark service commands, like primitive's "Diagram" tracing", to "noUser" and doesn't perform updating UserActTm on their. 2017-09-23 Roman (stable) - SYS.DB: Height of the field of the SQL requests decreased to 2 rows. - SYS: Binaries decoding expanded by the argument's value "" for text field in right forming. - FIX:SYS: Call for online documentation fixed for correct translation of opened document's page and for some pages: "Documents/Program_manual". - !!!!:SYS.Transports,Transports.*: Generic IO log for both input and output transports was added into the core and all transport modules. Resource lock object nRes renamed to assTrRes, its type changed to ResMtx and function nodeRes() removed for the input transport object. Manual requests result of the output transports in binary mode switched to the new variant "". - Protocol.ModBus: Resource object nodeRes() (nRes) replaced by the system one dataRes(). - Protocol.SelfSystem: Some renamed. - Archive.FSArch,Protocol.{ModBus,HTTP},UI.{QTCfg,QTStarter,Vision,WebVision},Special.SystemTests: Some source codes cleaned. 2017-09-14 Roman (stable) - FIX:SYS: Disable wrong DB.LDAP building for all Debian based. - DB.LibsDB.vcaBase: export="1" for all documents with values was added. - SYS: Checking for ldap.h for module DB.LDAP was added. - SYS: data/debian/control: Appended by a commented dependency for libldap2-dev. - !:SYS,UI.{QTCfg,QTStarted,Vision}: The online documentation call was switched for call ones from the new Wiki but some pages are not alowed here now before them moving. - !!:DB: Tables' content display set to configurable limited, by default it is 100 rows. - FIX:SYS.TRegExp fix in function match(), for hang and crash prevent. - !!:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Preloading of fieldSeek() set limited on 100 records, for long unterminated hangs prevent. - UI.QTCfg: Shorted long helps for ToolTips were appended by "Shift+F1". - UI.WebCfgD: Adapted to hierarchical help pages, for symbol "/" encoding. 2017-09-08 Roman (stable) - !!:DB.LibsDB.vcaBase: doc.docGasNodeMgn fixed for the table title. - !!!!:DB: A new module LDAP was added. 2017-08-25 Roman (stable) - !!!!:SYS.Transports,Transports.*,DAQ.{AMRDevs,DCON,MMS,OPC_UA,SMH2Gi,Siemens,ICP_DAS,FT3},Protocol.{ModBus,HTTP,SelfSystem,UserProtocol}: The generic accessing lock of the outgoing transport was moved to mutex and the argument "noRes" was removed from the function messIO() to prevent from unexpected outcomes from the critical section of requests. - DB.LibsDB.OscadaLibs: The template base.gasPoint was expanded for connection to a real diaphragm. - !!:DB.LibsDB.vcaBase: doc.{docGasNodeDayA,docGasNodeMgn,docGasNodeDayOrder} was adapted to generic nodes link as a template and the translations were fixed. All documents of the library "Documents" were some updated and their procedures were set to not translated. - FIX:DB.Model.AGLKS.{St,vca}: Generic flow-account node was linked to diphragm PP1 of the model of the technological process AGLKS both for the DAQ object and its documents. - SYS.TFunction: Expanded by a field language for functions lang(), setLang(). OpenSCADA control items from "/tr/langs" of the tab "Translation" of the main page were moved to permition RWRW__. - DAQ.JavaLikeCalc: Expanded in translation command tr() for set and use force language. - !:Protocol.HTTP: Expanded by a list of users allowed for auth. - !!!!:Transport.{SSL,Sockets}.out: Transport's functional lock of resources was merged with reqRes(). - Transport.Serial.out: Input buffer clear set to double one and moved closer before same writing. - !!:UI.VCAEngine: Next level of improving of dynamic messages translation for requesting user and language: into primitive "Document" and its procedure, session attributes. !: Added control for user action by its last action time. Appended by user functions of the session space: reqTm(), reqUser(), reqLang(), userActTm(). FIX: Restored for values and configurations translation of user's attributes. - !!: UI.Vision: Added control for the runtime user by a visualizer specific attribute "userSetVis" of the main page and by expanding of the user's status widget and the selection dialog. 2017-08-18 Roman (stable) - FIX:DB.Model.AGLKS.vca: Signal objects KM101 name translation was also fixed. - !!!!:SYS,DB.*,DAQ.{BFN,BlockCalc,JavaLikeCalc,LogicLev,ModBus},Protocol.{ModBus,OPC_UA,UserProtocol},UI.VCAEngine: The flag TCfg::TransltText was moved to TFld::TransltText and used instead TFld::NoStrTransl also which removed. - !!!!:FIX:SYS,*: The dynamic messages translation mostly finished and expanded after gettext adaption to the dynamic messages translation: !!: Gettext translation was expanded by language selection different from system one into functions TMess::I18N(), TMess::I18Ns() and their moving to not static ones, TModule::I18N(). !!:*,UI.VCAEngine: Functions set of the dynamic translation was expanded for complex translation by pointed language and user next; by functions: trLU(), TMess::translGetLU(), trSetLU(), TMess::translSetLU(). !!: The OpenSCADA control interface was expanded by generic attribute "lang" additional to "user" one for the dynamic messages language checking firstly. FIX: The config file accessing functions were fixed and closely adaptred to the dynamic messages translation. !!:TModule,DAQ.JavaLikeCalc,Special.SystemTests,UI.{QTCfg,QTStarter,VCAEngine,Vision,WebCfg,WebCfgD,WebUser,WebVision}: modInfo(): expanded for name syntax "{NAME}[:{lng}]" and request for information translation in pointed language. TModule: Twice translation try was disabled for modules - first is self and second is from core. FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Dynamic messages translation saving was fixed for not base languages. !!!!:Protocol.HTTP,UI.{WebUser,WebVision}: Expanded for multi-languages interface by: URL parameter "lang", auth user's language, Web browser's language. Templates also set to support multilanguage. !!!!:UI.Vision: Mostly adapted to system menus and dialogs dynamic messages translation of the run-time interface. Left untranslated only Qt-internal messages which unalowed to dynamic translation and without all system locale changing! 2017-08-05 Roman (stable) - DB.LibsDB.vcaBase: Main.TextLab adapted for only color dynamic control. doc.{docGasNodeDayA,docGasNodeMonthA} significant expanded for new methods, to control archivator and the report hour. - DB.LibsDB.vcaElectroEls: Expanded by new widgets: Transformer (tr), Transformer (tr1), Switch (sw). - FIX:DB.Model.AGLKS.vca: Signal objects KM102, KM201, KM202, KM301, KM302 name translation was fixed. - FIX:UI.VCAEngine: Improper pages closing was fixed for multiple container pages. 2017-07-28 Roman (stable) - !!:DB.LibsDB.OscadaLibs: flb_doc.{getVal,sumVal,averVal} were significant cleaned, rewrote and expanded but with back compatibility saving. - !!:FIX:DB.LibsDB.vcaElectroEls: Significant clearing and full translation were finished. Procedure of the item "Key" was fixed. - Archives: Tabs "Messages archive" and "Value archives" of the control page were renamed to "Messages" and "Values" respectively. - !!!!:FIX:DAQ.JavaLikeCalc: The resource fRes() dead locking was prevented after the wrong optimization. - FIX:UI.QTCfg: Function ConfApp::pageDisplay() double call sometime was prevented. - UI.WebVision: The source code was some cleared. 2017-07-21 Roman (stable) - SYS: "langinfo.h" and "syscall.h" were set for conditional one, initially for Android original NDK. __ANDROID_API__ getting was added to deep control for conditions of Android, initially it is for pthread_condattr_setclock(). - !:UI.Vision: Working without printers by QT_NO_PRINTER was added, initially it is for Qt 5.8 on CrystaxNDKr10. 2017-07-14 Roman (stable) - !!:DB.LibsDB.vcaElectroEls: Significant cleared and expanded. Will be continued to finish the cleaning and translation. - UI.VCAEngine: Limit of the generic attributes "geomXsc" and "geomYsc" was expanded from [0.1:100] to [0.01:100]. - FIX:UI.Vision: ID of copying and moving widgets was set to encode for TSYS::oscdID to prevent errors here for wrong symbols. FIX:Included widgets resizing and moving in the developing mode by keyboard were fixed for mouse cursor position changing even to the widget's changes. !!!:FIX: Main window maximising and opening to full-screen were fixed to prevent the operations by the visualizer specific attribute "runWin" working only from the master page. The main window size was set to fit the master page size after return from maximising or the full-screen and opening in the original size. - FIX:UI.WebVision: Text of buttons into the custom mode was fixed for next line symbol "\n" and words breaking at overflow by CSS property "word-break". 2017-07-05 Roman (stable) - FIX:DB.LibsDB.vcaBase: doc.docMessRep was final fixed for filtering by level, for all languages. - FIX:DB.LibsDB.vcaElectroEls: Fixed for procedures of the last items: "stGen", "stGen1", "conBus". - SYS.acinclude.m4: Macro AX_PTHREAD was updated to last version. - SYS:Changelog: Significant cleaned in process of releasing 0.8.18 LTS. - SYS,DAQ.OPC_UA.libOPC_UA: ieee754.h included to adapt for float point in IEEE754. - DAQ.{LogicLev,ModBus}: Values size of the stored attributes of the logical parameters expanded from 200 to 1000000. - FIX:DAQ.LogicLev: Fixed for uninitiated access to "err(f_err)" attribute into the debug mode. - FIX:{DAQ,Protocol}.ModBus: The extended type "String" was fixed to ModBus register's natural order in "BigEndian", seen on Sycon Instruments STM-3. FIX:Syntax highlighting was fixed for four digits-registers for extended types "_u4", "_d". - UI.QTCfg: Binary data representation changed to view "B[{ByteStream}]". - FIX:UI.{Vision,WebVision}: Some original messages were fixed. - UI.Vision: Items visibility were restored for editing widget and for: "VisItClear", "VisItChDown", "VisItProp". 2017-06-30 Roman (stable) - SYS:data/{debian,debian_mod}/control: Build with MariaDB as a variant of MySQL was added. - SYS:Changelog: Significant cleaned in process of releasing 0.8.18 LTS. - FIX:DAQ.DAQGate: Was finally fixed and tested for hierarchical parameters processing for levels more at 2. - SYS.Transport.SSL: The method "SSLv2" was finally removed but it is not secured and fully removed from OpenSSL 1.1. - UI.QTStarter: A first module starting at empty list of started modules was disabled. - FIX:UI.VCAEngine: The translations were some fixed. - FIX:UI.Vision: Images of primitive "Media" clean at an empty string set was added. - FIX:UI.WebCfgD: Table of the table items wrong indent was fixed. - FIX:UI.WebVision: Scale dimension was increased to 3 digits after dot for correct scaling to big screen. 2017-06-23 Roman (stable) - DB.LibsDB.vcaBase: doc.docMessRep was fixed for filtering by level. - DB.LibsDB.vcaTest: test.gen was decreased to fit the cadre into project AGLKS. - FIX:DB.Model.AGLKS.vca: The project was fixed for "frame" removing from pasport's widget. - SYS: An command-line option "lang" was added, initially for Android. Generic integration to call from Android JNI finished. - SYS.SSL,Transport.SSL: Symbol for checking SSL library changed to "SSL_free" but SSL_library_init missed on OpenSSL 1.1. The method "SSLv2" was removed (commented) but it is not secured and fully removed from OpenSSL 1.1. - SYS: Values' (attributes of parameters of DAQ) info were appended by state "Read only". - FIX:DAQ.DAQGate: Was fixed for hierarchical parameters processing for levels more at 2. Expanded for allow write to configure's attributes "NAME" and "DESCR". - UI.{VCAEngine,Vision,WebVision}: An attribute "mult" was added to view "List" of the primitive "FormEl" to able multiple lines selection. 2017-06-21 Roman (test) - DB.LibsDB.vcaBase: Main_io.cntrPaspExt was expanded for: full-frame mode of "View" at other modes hide, hidden attributes list support into "hideAttrs", removing "frame". - FIX:SYS: Qt checking macro was fixed for Qt4 checking before. - SYS: TMess::getUTF8() function was added and used for UTF-8 symbols detect into XMLNode::encode(). - FIX:Transport.out: User API function messIO() was expanded for return string type everywhere. - !!!:XMLNode: User API function text() was expanded by argument "full" for all child's texts combine. Functions save() and saveNode() set to constant ones. !!!: The serializer was expanded to true check for UTF-8 symbols and " " processing in function encode(). !!: The parser was expanded for entity " " processing on UTF-8. - DAQ.DAQGate: Size of the configuration field STATIONS was decreased to two rows. - !!!:UI.QTCfg: Scalable vertically items were finished to implement their true fitting for: texts, tables and lists. 2017-06-16 Roman (stable) - DB.LibsDB.vcaBase: Icons of views of the main page were restored to opaque but not in full size, for buttons' background seeing. - DB.LibsDB.vcaElectroEls: Was appended by some new items. - FIX:SYS,DAQ.JavaLikeCalc,Protocol.{ModBus,UserProtocol}: Some original massages were fixed. - Protocol.{ModBus,UserProtocol},UI.WebUser: Expanded for tracing and notification for program's changing. - UI.QTCfg: Text items size was fixed. - UI.QTStarter: Splash ensuring was disabled for Qt starting not into main thread. - FIX:UI.Vision: Separator "\n" was set for encoding by TSYS::base64 to storages. FIX:Opening to developing windows fitting was set conditional for an active and maximised window miss but there has a problem in Qt. - UI.WebCfgD: Acknowledgement buttons of text items moved to left, for big screens. - UI.WebVision: Switched to use filters for display inactive images into buttons. 2017-06-09 Roman (stable) - !!!:FIX:SYS: A new configure option --with-qt5 was added for Qt5 forcely checking and using. A new configuration option --enable-QtMainThrd was added to switch the module UI.QTStarter for working in main thread of the program. A new configuration option --disable-CoreLibVersion was added to disable version of the core library. Android messages support was added. Modules separator of option "ModDir" of OpenSCADA was changed to ';'. FIX: The function TSYS::sysTm() was set adaptive one for the task "SYS_HighPriority" execution. - DAQ.JavaLikeCalc: Entry to procedures of the module set more optimal by direct locking the critical section. - FIX:DAQ.LogicLev: The parameter's debug mode was disabled for passive modes (f_err is EVAL) of the parameters but the debug message accumulates into the attribute "err". - !!!:Protocol.HTTP,UI.{WebUser,WebVision}: ACL support was added to control access and visibility of items of indexes of Web resources. - FIX:UI.QTCfg: sizeHint() and minimumSizeHint() processing was fixed. - !!!!:FIX:UI.QTStarter: Two modes of execution Qt were added, first is old one into different thread (by default) and second is new one into main thread (by the configure option -enable-QtMainThrd). FIX: Splash set to passive one for second mode. - UI.WebVision: Font of title of the child's windows was set to 12pt. 2017-06-02 Roman (stable) - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by implementing of electricity counters Mercury 200 and 230 from Arsen Zakojan . - FIX:DB.Model.AGLKS.vca: Fixed for a spare horizontal line. - !!!:FIX:SYS.ModSchedule: Modules closing at exit was set to all the modules closing firstly and next all the module's libraries unlinking. For fix like to WebKit crashes at exit. !!!: Modules scanning procedure was expanded by the module's name template into the end of the path, mostly for Android where all libraries place into one folder. Function ScanDir() and CheckFile() were renamed to dirScan() and fileCheck() respectively. - !!!!:FIX:SYS: Some original messages were fixed. !!!!: The system core in generic expanded for support main thread monopoly modules, like Qt GUI main thread into QtStarter. Generic service calls moved to a different thread "SYS_Service". The main function main() appended to OpenSCADA core library for builds for Android. - FIX:DAQ.ModBus: Managing of duplicate attributes of the standard parameter was fixed. - FIX:Special.FLibComplex1: The translation was some fixed. - !!!!: UI.QTStarter: Moved to Qt execution into the main thread by main thread monopoly modules mechanism of OpenSCADA core. - UI.VCAEngine: Links checking for activity was added to the dynamic linking mechanism. - FIX:UI.Vision: Icons setting of internal windows moved before the window show, for the development mode. - FIX:UI.WebVision: The property "wordWrap" of primitive "Text" support was added. 2017-05-26 Roman (stable) - DB.LibsDB.vcaBase: A new cadre "Main.alarmsAct" of table of active alarms is added and used into main page of the project AGLKS. A new cadre "doc.docMessRep" of unified protocol of messages is added and used into the project "archBrowser". The generic page implementing expanded by buttons of views hide at pages miss here. The project "archBrowser" moved to an unmodified main page, graphics group "grpGraph10" using and a new cadre "doc.docMessRep" appending to generic messages observe. Translation some updated. - FIX:Archive.FSArch: Fix for translation. - FIX:UI.Vision: Fixed for opened to edition widgets size on big screens. 2017-05-19 Roman (stable) - DB.LibsDB.vcaBase: Main.objProps adapted to the first column hide. - Archive.{DBArch,FSArch},DAQ.LogicLev: Some original messages were fixed. - !!!:Archive.FSArch: Expanded for INFO files store into a standalone DB file of SQLite into the archivator's folder. - FIX:UI.WebVision: Borders and transparent backgrounds processing was fixed. Spaces processing for primitive "Text" was set to "white-space: pre-wrap". 2017-05-12 Roman (stable) - !!:FIX:DB.LibsDB.vcaBase: Main.RootPgSo some fixed for the combobox with the allowed for directly select pages. FIX: Main page of the project "archBrowser" expanded for the combobox with the allowed for directly select pages. !!:Projects "tmplSO" and "archBrowser" were switched to the extended pasport of the standard parameters. The external pasport (Main.cntrPaspExt) adapted some to display by UI.WebVision. - !!:DB.ModelsDB.{AGLKS.vca.db,Boiler.St.db}: The Project was switched to the extended pasport of the standard parameters. - FIX:DAQ.DAQGate: Requests were fixed after moving to different station. - FIX:DAQ.System: Some warnings from Valgrind were fixed. - !!!!:FIX:Transport.SSL: Fixed into client's part for correct free which caused for crashes and blockings. !!!!: Wide tested on browsers Chrome, FireFox; for file handlers free and into Valgrind. - FIX:UI.VCAEngine: Some original messages were fixed. - UI.Vision: The view "Table" of the primitive "FormEl" was expanded for field "width" equal to 0 processing to hide the column. - UI.WebCfgD: The navigation tree and dialogs forming were some improved. - !!!!:FIX:UI.WebVision: View "Tree" of the primitive "FormEl" implemented. FIX: Dialogs, small built-in windows, forming was some fixed and improved. FIX: System context menu oppressed for active widgets. FIX: View "Table" expanded for columns hide by field "width" equal to 0 and the selection loss was prevented. 2017-05-05 Roman (stable) - DB.LibsDB.vcaBase: Main.RootPgSo expanded by yet one pages navigation element that is combobox with the allowed for directly select pages. - SYS: The generic node was expanded by a user API function "messSys". - !!:FIX:Transport.SSL: Fixed for SSL_free() missing and variables "ctx", "ssl", "conn" clean at second start, into the output part. - !!:FIX:UI.WebCfgD: The "Table" element processing for big content was some improved and fixed for key items edition. 2017-04-21 Roman (stable) - UI.WebVision: Items edition implemented for the view "Table" of the primitive "FormEl". 2017-04-14 Roman (stable) - DAQ.ModBus: Set for using ID at empty Name part of DAQ. - UI.WebVision: Active mode for selection for the view "Table" of the primitive "FormEl" implemented, Next task are edition of content of the cells of the table... 2017-04-07 Roman (stable) - SYS:configure.ac: Checking for "libintl" was changed for function "libintl_bindtextdomain" and checking for libiconv was moved before. - FIX:DB.LibsDB.vcaBase: Main.objProps fixed for checking to the write mode. - UI.Vision: X scaling used into result column width of the view "Table" of the primitive "FormEl". - UI.WebVision: Context display for view "Table" of the primitive "FormEl" mostly implemented. Next tasks are selection processing of items (cell, column, row)... 2017-04-02 Roman (stable) - SYS:configure.ac: Checking for LibGD was set combined with and next without PKG_CHECK_MODULES(pkg-config). - SYS:configure.ac: Fix for Fedora 12 - SYS:configure.ac: Checking for LibGD was moved to PKG_CHECK_MODULES(pkg-config) for proper static linking. - SYS: The environment variable HAVE_GD_CORE was renamed to HAVE_GD_FORCE. Checking for HAVE_CONFIG_H was added for "config.h". - DAQ.ICP_DAS,UI.{QTStarter,QTCfg,Vision,WebCfgD,WebVision}:Makefile.am: *_LIBADD was replaced to *_LDFLAGS. - FIX:UI.WebCfgD: Checking for "gd.h" was fixed. - FIX:UI.Vision: The primitive "FormEl" in view "Table" was fixed for properties of columns. 2017-04-01 Roman (stable) - DB.LibsDB.vcaTest.db: Tests collection cadre of primitive "FormEl" expanded for view "List" and "Table". - SYS:configure.ac: Checking for "linux/can.h" moved to same the module Transport.Sockets. Checking for "inux/serial.h" was added for the module Transport.Serial. Checking for LibGD was removed from the module UI.WebCfgD. The order of modules of the subsystem "Special" was set to the priority one. - SYS:acinclude.m4: LibGD checking macro was expanded for dependencies "-lpng -ljpeg -lfontconfig -lexpat -lfreetype" to allow the libraries linking statically. - FIX:SYS,DAQ.System: Some original messages were fixed. - Transport.SSL: Adpated to tmpnam() wrong placing into "/tmp/??" on Android. - FIX:Transport.Serial: Checking for "linux/serial.h" was added and for "linux/i2c-dev.h" was fixed. - FIX:UI.Vision: The primitive "FormEl" in view "Table" was fixed for properties of columns. - !!!:FIX:UI.WebVision: Expanded for view "Table" of the primitive "FormEl" initial implementation. Internal functions nodeText() and setNodeText() were replaced to "textContent". FIX: The view "Button" of the primitive "FormEl" was fixed for words wrap on Chrome browser. Views of "Combo box" and "List" of the primitive "FormEl" were made simplified. 2017-03-25 Roman (stable) - SYS:configure.ac: Test AX_LIB_OpenSSL() call fix for DAQ.OPC_UA. - SYS:configure.ac: String [0.9] of the replacing version of the OpenSCADA building fix. 2017-03-24 Roman (stable) - FIX:DB.LibsDB.vcaBase: wlb_Main.graphSelPrm fixed for linking "/DAQGate/..." and for current item's address correct display into the "prm_" prefix. - SYS:configure.ac,acinclude.m4: The source texts were mostly cleaned for the formation style and messages. - SYS:acinclude.m4,Special.FLibSYS: OpenSSL checking macro was expanded by the optional test "AX_LIB_OpenSSL_opt" and the tests were appended by the libcrypto checking. - SYS:configure.ac: Checking for spare header's files was removed. Checking macros of the modules OpenSCADA was placed into the importance order. - SYS: Some spare headers were removed from the source code. - SYS:TModSchedul: Adapted for optional pointing the core library name and path by the configure environment "CoreLibNmToDlOpen", on LibC variant Bionic of Android. - SYS:TSecurity: Support of the hashed passwords was expanded to use the locked function crypt() on crypt_r() miss. - FIX:DAQ.DCON: Include/builtin to the OpenSCADA core fixed. - FIX:DAQ.{LogicLev,Siemens,System}: Some originale messages were fixed. - DAQ.OPC_UA: Adapted to include/builtin into the OpenSCADA core. libOPC_UA: Needed parts of ieee754.h were moved to the file directly. - Special.FLibSYS: Description of the function dbReqSQL() was expanded. - Transport.SSL: The function getservbyname_r() was switched to getservbyname(), for Android. SSLv3_server_method() and SSLv3_client_method() functions were set to disabled by OPENSSL_NO_SSL3 definition. - !!!:FIX:UI.WebVision: Width of the popupmenu was fixed for context menus. FIX: Behavior of the primitive "Media" for not "Fit" mode was fixed to prevent the scale problems in way of full removing the tag . Vertical alignment was added to images of the primitive. !!!: The views "Spin bar" and "Scroll bar" were implemented. The view "Scroll bar" is equal to "Spin bar" now. 2017-03-19 Roman (stable) - SYS:build: Into configure.ac the AC_CHECK_LIB was replaced by AC_SEARCH_LIBS mostly and the library "librt" checking was added. 2017-03-18 Roman (stable) - SYS:data/{debian,debian_mod}/rules: dh_compress was prevented from files of documentation in ODT compression also. - SYS: Some pre-adapting to Android by: build: The macro AX_PTHREAD was appended and used. AM_INIT_AUTOMAKE call was set shorter. Libraries were moved from their direct pointing into src/Makefile.am to checking, for: -lpthread, -lm, -ldl, -lcrypt, -lz, -lpcre Some messages into configure.ac were fixed. ResAlloc: Check and define "__GLIBC_PREREQ" to 1. pthread_condattr_setclock() disabled for Android as it missed. Needed parts of ieee754.h were moved to the file. Multi CPU management and pthread_attr_setinheritsched() were disabled for Android. Mess: Messages encoding was disabled for a charset "US-ASCII", it's default one on Android. Security: libcrypt checking was expanded for crypt.h. Transport.Sockets: The function getservbyname_r() switched to getservbyname() for Android. - DAQ.Siemens: "INCLUDES" was replaced by "daq_Siemens_la_CFLAGS" and "daq_Siemens_la_CXXFLAGS". - Special.FLibSYS: The user API function dbReqSQL() was moved to the features of the function SYS.BD["TypeDB"]["DB"].SQLReq(). - !!!:UI.WebVision: View "Line" of the primitive "FormEl" was expanded by the calendar dialog for date variants. Generic CSS properties moved to *.html file. Processing event of the wide combobox (list) was changed from "onchange" to "onclick" to the processing guaranty. Generic improvement. 2017-03-13 Roman (stable) - SYS:data/{debian,debian_mod}/rules: dh_compress prevented from files of documentation in PDF compression, to allow its using from UI.QTCfg mostly. - FIX:UI: docGet() is fixed at online documentation processing after the local one unsuccessful processing. 2017-03-12 Roman (stable) - FIX:UI.QTCfg: InputDlg wrong initialization on the previous commit fixed. 2017-03-11 Roman (stable) - UI.QTCfg: Fields "ID" and "NAME" of the node control dialog were set to the unlimited size for next these changing from inforamtion of the control interface. - !!:UI.WebVision: The visualizer specific attributes support was added through its activation. !!:Main page scaling to fit to the window of the browser allowed space was added, only to grow and with the aspect ratio control. !: Background of the primitives processing was moved to common and after the ones processing and the background transparency-opaque support was added by a separated block (div) creation with the opaque level. 2017-03-05 Roman (stable) - DB.LibsDB.OscadaLibs.db: DevLib.1602A expanded to connect by I2C (PCF8574). - DB.LibsDB.vcaBase: Main.ElViewGraph expanded to the name "" blink prevent and spare saving prevent once after the successful loading at start. - FIX:UI.WebVision: WebVisionVCA.html fix for its presence into EXTRA_DIST. 2017-03-04 Roman (stable) - FIX:UI.WebVision: Miss file WebVisionVCA.html placed to the source tree. 2017-03-03 Roman (stable) - SYS: The user API functions are appended by function utime() and mtime(). - !!:FIX:Archive: Fixed for checking for a proper archivator by its periodicity, which allow for correct selection archivators in periodicity more then one minute in graphics building. - !!:FIX:Archive.FSArch: Fixed for too long messages back reading and wrong messages reading was prevented at all. Function of archivators checking is fixed for correct processing of the capacity limit of the values archiving by the archives sorting to remove its files at maximum quantity. - !!!:UI.WebCfgD: Fitted to allowed space for scalable by vertical elements: texts, tables, lists. Border color of the input elements was changed to "gray". The structural class "SSess" was moved to strucure type. - !!:UI.WebVision: The XHTML part of page was moved to an separated file like the JavaScript one. All generic CSS rules were moved to the XHTML file. Moving to using pgCreator() was finished. pgCreator() was expanded for simple requests processing in local. The structural class "SSess" was moved to strucure type. 2017-02-26 Roman (stable) - SYS: data/openscada_start.in: workarounded for bug into "zenity", for sending selection items as "{item}|{item}" (observed on Ubuntu 14.04). - Archive.Value: User API functions were appended by setVal(). Direct writing to archives was expanded for all buffer's which aren't the buffer of archive. - FIX:DB.{.,SQLite,MySQL}: Some control items of OpenSCADA control interface were fixed for their permition. - DAQ: Some fields of the diagnostic request dialog are merged to single line, for controller object. - FIX:UI.{docGet(),QTCfg,QTStarter,Vision}: Force documents in background execution for online ones. Checking for online documents is disabled by it's can be long and wrong, then there use only links to default language pages (EN). Function rewrote for options as flags. - !!!:UI.WebCfgD: GD library was replaced by the CSS filters and set optional by --enable-LibGD. FIX: List items processing was fixed for ones without ID. Internal dialogs were expanded by drop shadow and a transparent background for disable access to the main area. Date fields were moved to a type "datetime-local" of the tag "input". Online documentation call was added. FIX: Elements merging into single line was fixed by CSS rule "white-space: nowrap;" but the constant was set to "white-space: normal;". Elements indent was set to "padding-left: 10px; text-indent: -10px;". Length of the number elements was set to the fixed one by 10 symbols. Item copy was expanded by it copy to its root through self. 2017-02-16 Roman (stable) - The ChangeLog significant cleared next. - FIX:Protocol.OPC_UA{*.libOPC_UA}: The resource "mtxData" added to object Server and used for the security channels container management. - Special.FLibSYS: The static function str2int() expanded for 64 bits. - Transport.Serial: Checking to present the header file linux/i2c-dev.h added to build on Linux distributives like SuSE. - FIX:UI.WebCfgD: List items were expanded for commands to empty list. Self dialogs were expanded for the main space locking and for a box shadow appendeding to them. 2017-02-11 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib.{1W_DS9097,W_DS9097U}: Expanded by configuration property "tryEVAL" to manage spuriously connections loss. - The ChangeLog significant cleared. - SYS.TFunction: Spare attribute "mDimens" removed. - FIX:Archive.DBArch: The requested values area set to fill by EVAL before the real data reading to set holes by EVAL. Direct requesting for values criterion set for the period of requesting data to archive's one bigger at 10 times. - DB.=Tmpl=: The functions getVal() and setVal() set to the unified view. - DB.{FireBird,SQLite}: The function setVal() set to the unified view. - DAQ.AMRDevs: The configuration's file size limit for Kontar source set to USER_FILE_LIMIT(1048576 byte). - DAQ.JavaLikeCalc: The translation is appended some. - FIX:Protocol.=Tmpl=: Adapted to actual semantic of the function TProtIn::mess(). 2017-01-31 Roman (stable) - SYS: MtxString expanded by the object's constructor. - !!:FIX:DAQ.ModBus: ResString in whole replaced to MtxString. FIX:Attribute "addr" and "real" of the logic mode were placed to MtxString for prevent crashes on its modification at run. - UI.WebCfgD: New standard design some expanded and improved. - UI.WebVision: Primitive's "Text" and "FormEl.Button" set for "white-space: pre-line". 2017-01-27 Roman (stable) - DB.PostgreSQL: Statistic of control the activity and lags expanded by the maximum time request. - UI.QTCfg: The window title forming some changed. - !!!!:UI.WebCfgD: A new design created. Adapting to new HTTP call functions HTTP_GET, HTTP_POST and there is moving whole to the generic pages creator HTTP::pgCreator(). 2017-01-19 Roman (stable) - FIX:SYS: The message "Some tags on path '%s' are missed!" was fixed for the argument and rewrote to "Entry %d of the path '%s' is missed!" - SYS: The function TVarObj::AHDDisConnect() rewrote to prevent a messages into the lock section. - !!:DB.PostgreSQL: DB object expanded by a statistic to control the activity and lags. - DAQ.JavaLikeCalc: Controller's object status was expanded by the maximum time of execution. - Protocol.HTTP: Source codes were appended by the user API function pgCreator() description. - FIX:Special.FLibSYS: Translation was fixed something. - !!!:FIX:UI.VCAEngine: FuncM resources lock set for a recursive to prevent dead locks. - FIX:UI.WebUser: Source code cleaned and the translation corrected. 2017-01-17 Roman (stable) - SYS.DB: Errors placing to result's Array attribute "err" from exceptions are added for user API function SQLReq(). - SYS.Module: modFunc() of declared functions pointer getting was expanded by no exceptional calls and a result. - !!!!:Protocol.HTTP: Significant unified into service pages creation by the single function pgCreator(). The function pgCreator() primarily implemented as an user API function of HTTP module's object for allow its using into WEB-submodules for self but single-style service pages. The main page's template splited from the generic template for allow absolutely custom main pages. !!!: External calls to the WEB submodules expanded by functions HTTP_GET(), HTTP_POST() with an argument TProtocolIn *iprt, but the old calls HttpGet(), HttpPost() also continued to check and support. Current folder force added to the template's resources checking. - !!!!:UI.{WebUser,WebVision}: Expanded for using the unified service interface from Protocol.HTTP by pgCreator(). - !:UI.WebUser: Semantics of the page's function expanded by two objects' arguments "This object" and "Protocol's object". - !!:UI.WebVision: Font's behaviour was expanded to support for text decorations "underline" and "line-through". The primitive "Text" representing for rotated texts moved to use CSS property "transform: rotate({X}deg)". 2017-01-12 Roman (stable) - FIX:Protocol.HTTP: Navigation by FS for the templalate file was fixed. External template using expanded for main page without the Web-modules index and to allow for redirect to other page there, for Login/Logout using the internal templete continued in that case. - Special.FLibMath: The source code cleaned. - Special.FLibSYS: Appended by function floatExtract() for extract exponent and mantissa from that float value. 2017-01-09 Roman (stable) - !!!!:Protocol.OPC_UA{*.libOPC_UA}: Hello/Acknowledge properties set configurable and client's ones also storing. New OPCAlloc object is added for mutex handle and its automatic free for exception. Some locks loss fix. A copy constructor was added for object NodeId and the strange problem here closed. !!!!: Chunks support was added to server's part. Tested on chunks into input requests for insecure and secure connections. !!:FIX: Publish requests, and messages in general, queuing and next its processing fixed for secure connections and for Acknowledges for insecure ones after in direct processing. - !!:FIX:UI.QTCfg: Crashes into ConfApp::selectItem() prevented after "selectPage()" call by the possibility of the items selection changing. Dangerous missed page refreshing prevented into applying changes on widgets of the replacing page, "Apply dialog for changes missing prevent". - FIX:UI.VCAEngine: Something prefixes ":" replecing to ": " fixed yet. 2016-12-29 Roman (stable) - data/icons: Images Protocol.HTTP.png and Protocol.SelfSystem.png updated. - SYS: Disabled nodes are prevented in processing into TCntrNode::isModify(). - Protocol.OPC_UA.libOPC_UA: Maximim notifications per publish limit processing some improved. - UI.{WebCfg,WebCfgD,WebUser,WebVision}: Module's icon obtain machanism is changed. - UI.WebVision: Icons to project's and session's items are added. 2016-12-26 Roman (stable) - DAQ.{LogicLev,ModBus}: User API function attrAdd() expanded to apply flags "text" and "ro" for present attributes. - FIX:Protocol.HTTP: Check for module's icon and other images into folder "icons/" moved after the template's resources checking. 2016-12-25 Roman (stable) - FIX:DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10} Trend's control panel open at the cadr open changed for work on UI.WebVision. - data/icons: Protocol.UserProtocol.png changed and UI.WebUser.png added. - UI.TUIS: Expanded by function mimeGet() to detect mime type by the original info, file extension and tis content. - !:Protocol.HTTP: Expanded for the main selection dialog with images and context help for allowing WWW-modules. - !:UI.VCAEngine: Adapted to TUIS::mimeGet() using. - UI.Vision: Unloaded mimes' extension sets to stored with the resource before taken from the mime type. - !!!!:FIX:UI.WebVision: adapted to asynchronous calls for all regular updatings by servGet() and makeEl() adapting to it. For primitive "Text" set "line-height" for prevent upper font's padding. View "Button" of primitive "FormEl": fixed for next line processing, fixed for true text and image represent. Generic views of primitive FormEl set for padding to "0". SVG images show fixed by correct mime processing into UI.VCAEngine and TUIS::mimeGet() using. 2016-12-19 Roman (stable) - Protocol.OPC_UA.libOPC_UA: Subscription cycle's counter restore. - DB.LibsDB.OscadaLibs: User protocol "DCON" in the input part was fixed for commands detect "#" and "@". - Protocol.OPC_UA.libOPC_UA: Expanded to early publish requests processing after requests of subscription and monitored items creation, for the init publish requests. 2016-12-16 Roman (stable) - TArchive: EVAL_RFlt and EVAL_RDbl detection for values fix. - TConfig: EVAL forms conversion is added to TCfg::set{S,R,I,B}(). Integer conversion fix to 64bit. - !!!!:DB.{SQLite,MySQL,PostgreSQL,FireBird} : Expanded to NULL using for generic EVAL store/represent. getVal() some expanded and unified. - !!:Archive.DBArch: Cleared and simplifyed for subtypes and its EVAL variants support. - DAQ.JavaLikeCalc: User API string's function toInt() is expanded to int64. 2016-12-13 Roman (stable) - SYS: Debian packages building was appended by translation for module BCM2835. - FIX:DAQ.*: Wrong word "Parameteres" fixed. 2016-12-11 Roman (stable) - DB.LibsDB.OscadaLibs: The template DevLib.UPS expanded by attribute "alDelay" for alarms delay control. - !:FIX:SYS: Function strNoSpace() expanded for processing symbols control and renamed to strTrim(). Default processing symbols set to " \n\t\r". For function strTrim() created a short call sTrm() and its used everywhere. FIX:XMLNode's flag LD_NoTxtSpcRemEnBeg fixed for spaces in begin. - FIX:DAQ.BCM2835: Fixed for the static function place into the control interface. - DAQ.JavaLikeCalc: String functions list expanded by a function trim(). - !!!:Protocol.SelfSystem: XML loading expanded by option LD_NoTxtSpcRemEnBeg using to allow for spaces at begin and end of the text items. 2016-12-09 Roman (stable) - DB.LibsDB.OscadaLibs: The template DevLib.UPS expanded by alarms' borders. Templates base.{anUnif,anUnifSt} expanded by attribute "var" into the input processing procedure for allow stored counters implement and so on. - DB.{AGLKS,Boiler}.St: Main archivators' limits some changed and set all archives's size limit. - !!!!:DAQ.OneWire: Removed by replacing proper user protocol templates. - DAQ.BCM2835 is appended by translations. - UI.WebVision: Some changed in ElFigure implementing code for crashes in Post. 2016-12-07 Roman (stable) - DB.LibsDB.OscadaLibs: DevLib is appended by GPIO devices' templates: Humidity Sensors DHT11, DHT12, AM2302, AM2320 and LCD Display Module 1602A. DevLib.SCU750 changed to IO fix for type "int8". - DB.AGLKS.St: Modbus controller objects fixed for logical type's storing table. - DB.{SQLite,MySQL,PostgreSQL,FireBird}: Message about rows missing at get some appended. - FIX:DAQ.ModBus: Fixed and adapted to user attributes processing pass. - FIX:Special.FLibSYS: IO is fixed for types "int8" and "char" split processing, mostly in its read. - UI.QTCfg: Allow page update after warnings at items loading. 2016-12-06 Roman (JavaLikeCalc_testing) - DB.LibsDB.OscadaLibs: Templates base.{anUnif,anUnifSt} expanded by attribute "alDelay" for split it from "Tf" for alarms delay and propogate it for all alarm types. Notifications dispatcher is pevented from early starting at "f_start". - DAQ: Program translation sign of templates set to disabled by default. - !!!!:DAQ.JavaLikeCalc: Support of the dynamic linking to external functions added in way: function {nm} = "{addr}"; {nm}();. External functions link and call optimized at all. - FIX:DAQ.LogicLev: User attributes removing prevented at the parameter's object enable, for passive ones. 2016-12-02 Roman (core_testing) - !!!!:FIX:SYS: TCfg was fixed to use TVariant string as a constant for STL string. TVariant expanded for STL string using always except fields marked as "stdStringOmit", mostly for TCfg as string constants (DB table's keys). - !!!!:DAQ.JavaLikeCalc: Object's functions call was optimized for the name direct pass into the calling command. 2016-11-27 Roman - !!!!:DB.LibsDB.OscadaLibs: DevLib is appended by RTC chip on I2C DS3231 implementing. DevLib.UPS: expanded for values in EVAL process. DevLib.{1W_DS9097,W_DS9097U}: Expanded by support 1Wire chips: DS2408, DS2450, DS2438. UserProtocol is appended by a memory chip AT24CXX access procedure. - !!:DAQ.DAQGate: Adapted to store parameters' assignment for stations to allow its for early restoring without need to sync. - FIX:DAQ.JavaLikeCalc: workRegControl() moved under function resource's locking. 2016-11-16 Roman - FIX:SYS: Main config property "ClockRT" fixed for load only from the config-file and in its description. TValue::chldAdd() fixed for the Archive subsystem mark as setToUpdate() only for successful appending. - FIX.Archive.{FSArch,DBArch}: checkArchivator() prevented from exceptions at a wrong archive starting else to pass it. - FIX:UI.Vision: Events notify objects removing at the master window minimizing fix. 2016-11-15 Roman - !!:DAQ.DAQGate: Control for automatic removing parameters and attributes added by an option. Spent time expanded by the maximum value. - FIX:UI.VCAEngine: Widgets list into the widget's parent field expanded and fixed for list all items of project tree to any depth. - UI.Vision: Expanded for authentication message error detailing. 2016-11-13 Roman - DB.LibsDB.OscadaLibs: DAQ.JavaLikeCalc service procedures, controllers and regulators libraries were cleaned and unified. Devices template library was appended by template of the pressure I2C sensor BMP180. - Function,UI.VCAEngine: pthread_mutex_t replaced by ResMtx. 2016-11-09 Roman - SYS: sysSleep() moved to clock_nanosleep(), CLOCK_MONOTONIC and clock_gettime() for short times lesser to 300us. - FIX:DAQ.BCM2835: Librarie's function bcm2835_delayMicroseconds() moved to clock_gettime() for prevent crashes into the not privileged mode. - FIX:UI.VCAEngine: Static functions' name and description of the primitives are fixed. 2016-11-08 Roman - Transport.Serial: "No stop on proceed" option is added to output transports. 2016-11-07 Roman - TSecurity: User API function User::groups() and Group::user() added. - DAQ.JavaLikeCalc: "Program translation allow" disabled by default. String's user API function parseLine() is added. 2016-11-03 Roman - FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher adapted to object's attributes deletion by the operator "delete". - FIX:DB.LibsDB.vcaBase: Main.ElViewGraph: Adapted to store static parameters in the selection mode. - SYS: TVariant::propClear() expanded to single property clean. - !!!!:DAQ.JavaLikeCalc: Expanded by operator "delete" for objects or its properties free. 2016-11-02 Roman - FIX:SYS: Discard for attributes of object clear at EVAL assign. - !!:FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher expanded by the notify messages criteria of its category and level. - SYS: data/openscada_start.in: expanded by first argument --ProjName={PNm} project's selection. - !!:DAQ.System: Expanded by "FS" data source. Automatic creation of sources expanded to modes of the sources "Fast" and "Slow". - UI.QTStarter: X Session manager disabled from restart the closed at exit programms. 2016-10-30 Roman - !!:FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher unified, stabilized and status is added for SMS and EMail sent by direct OpenSCADA functions. !!:Self SMS send implementing unified and expanded for: disable ECHO, check/set PIN, TEST and PDU SMS mode. FIX:Self SMTP implementing fixed for localized field "Date" by use an external call for utility "date". - FIX:UI.Vision: Cursor wrong setting sometime for current time position fix for primitive "Diagram". 2016-10-29 Roman - FIX:Transport.SSL: TLSv1.1, TLSv1.2, DTLSv1 set to build for SSL version >= 0x1000114fL. - Transport.Serial: Char limit value expanded to 10000 ms, for output. - FIX:UI.QTStarter: Build for Qt5 fixed. 2016-10-28 Roman - !!:FIX:DB.LibsDB.OscadaLibs: DevLib.IEC60870: Fix for the new behavior of attributes of Object free by EVAL set. !!:Self implementing for EMail sent by SMTP is added as an user protocol's function, implemented: pure, SSL/TLS, AUTH. !!:Notifications dispatcher Controllers.ntfDispatch expanded by using self SMTP implementing for EMail send. - !!!!:SYS: More functions set to constant after some objects appending by a copy constructor. !!!!:More errors and warnings fix from PVS-Studio report, thanks to Maksim Kochetkov: TCntrNode: Possible wrong into copy node function by unsigned group's index. TCntrNode,TConfig,TRegExp,Archive,DB.{MySQL,PostgreSQL},DAQ.{AMRDevs,JavaLikeCalc},Special.FLibSYS,UI.{Vision,WebVision}: Possible collision into function arguments or an internal variable name and the class method. TVariant: Middle strings reallocation is set to the result check. XMLNodeObj,DAQ.{*,AMRDevs,Siemens},Archive.{*,FSArch},UI.QTCfg: Some logic made simply. !!: Adapted and some fixed to build by GCC v6 with C++11 by default. - DAQ.{Templates,JavaLikeCalc},Protocol.ModBus,UI.VCAEngine: Items deletion procedure termination at DB error added. - FIX:Special.FLibSYS: FFT buffers "free" using fix, instead "delete". - !:Transport.SSL: Expanded by the direct methods TLSv1.1, TLSv1.2, DTLSv1. - UI.QTStarter: Adapted to Qt5 specific method QTranslator::translate(). - FIX:UI.VCAEngine: Virtual function PrWidget::setEnable() fixed for the second argument. 2016-10-25 Roman - FIX:DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10,ElViewGraph} fixed to per-user saving selected graphics. - !!:FIX:DAQ.Templates,Archive.FSArch,DAQ.{JavaLikeCalc,ModBus}: Data fields removing at the preloaded SEEK fixed. 2016-10-24 Roman - DB.LibsDB.vcaBase: Attributes Main.{grpGraph,grpGraph10}.grpName were removed at last. Main.{grpGraph,grpGraph10,ElViewGraph} adapted to per-user saving selected graphics. - UI.VCAEngine: Programs translation by default set to false. - FIX:UI.Vision: Events MouseButtonPress, MouseButtonDblClick fixed for put to next level widget into this container. 2016-10-23 Roman - FIX:DB.LibsDB.OscadaLibs: Notifications dispatcher Controllers.ntfDispatch as a JavaLikeCalc function is added for send EMail (by sendemail) and SMS. UserProtocol.SMS: fixed, expanded and adapted for stated work. - SYS: TSecurity::access() function expanded for allow groups list as a separated by ',' one. Base64 encoding/decoding method some expanded for line separator point as an argument. TVarObj: pthread_mutexattr_t next replaced to ResMtx. Properties clear at EVAL set is added. - FIX:DAQ.JavaLikeCalc: Internal function's space splited for temporary registers. - UI.{QTCfg,Vision,WebCfg,WebCfgD}: Primary commands expanded by "copy". - !:UI.Vision: Widget's tooltip and statustip show some fixed and included to put the events to next level widget into this container. 2016-10-18 Roman - FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.SSCP: Loading of big LIST files performance some rised, by OpenSCADA core fix also. - !!!:SYS: TVariant for string type expanded for store too big data, more for STR_BUF_LEN(10000), as the standard string, and then significant increase the performance. - !!!!:DAQ: Template's configure's field variant "Constant" renamed to "Variable" and "Public constant" to "Constant" respectively. - UI.Vision: Widget's tooltip and statustip set to show at not full transparent widget's parts. 2016-10-11 Roman - DB.LibsDB.OscadaLibs: DevLib.IEC60870: Expanded for single items description. - !!:FIX:SYS: LibZ functions were rewrote for some unification and the used memory optimization. - FIX:DAQ.{BlockCalc,LogicLev}: Input links processing moved out of the attributes modifications detection into calc(). 2016-09-28 Roman - FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.SSCP: Fix for bool type represent. Load big LIST files performance some rised. - FIX:SYS: The functional templates fmin() and fmax() added. FIX:TRegExp fix in function split(), for hang and crash prevent. - Archive: Into getMess() used fmin() for previous problem. Attribute "tm" of the Array result of user API function "getMess" changed to type "int". - FIX:Archive.DBArch: Messages archivation part fixed for "needMeta" and to deny an access to the archivator before the successful meta get. - FIX:DAQ.JavaLikeCalc: The syntax highlight some fixed for strings and backslash '\' in variant "\\". - Special.FLibSYS: Function strParse() expanded for multisymbols separation. 2016-09-23 fido_max - DAQ.FT3: KA DAQ refactored and fully implemented (BTU, BVT, BVTC, GZD, GNS). Params save/load, set/refresh implemented. 2016-09-22 Roman - FIX:Arhives: getMess() fix for double call modules' function get(). Some fields of the messages request dialogs are merged to single line. Some debug messages are added to getMess(). - UI.Vision: Source code of primitive ElFigure some addition cleaned. 2016-09-21 Roman - !!:Archive.DBArch: Lost DB managing and its early connection restoring is added and some tested. - !!:FIX:DB.*: EVAL writing fix. Detected and tested on PostgreSQL. Messages and errors forming moved to new API. - DB.PostgreSQL: Some tracing debug information is added. Error transactions commit is added. 2016-09-20 Roman - DB.LibsDB.vcaBase: Main.{grpGraph,grpGraph10}: Set to the trend's control panel open on it start. - FIX:DAQ,Archive: The redundant request procedure fix for prevent the object stop at scaning requests, by previous host. - FIX:Archive: getVal() fix for request to the current value but the buffer end() some lesser to it. - FIX:Archive.{*,FSArch,DBArch}: Exceptions into archivatorAttach() at the archivator's object stopping are prevented for allow the archive early start. Archive.{FSArch,DBArch}: The modules adapted for early archivators init and archive's meta set from the physical archives. - !!!!:FIX:Archive.DBArch: Reading of the value archives set optimal for the request time, up to ten times, through using the "MARK" key and the seek request. FIX: The end of pushing accumulated values set to minimum from the data block's end and the group end. Adapted to direct writing beyond the main accumulation process with limits and meta update. Adapted to redundancy. Values archivation period limited to the resolution in seconds. 2016-09-16 Roman - !!:FIX:Archive.{*,FSArch}: Spare writings direct to the archivators prevented for TVArchive::setVals(). !!:FIX:Last read buffer information is added and the property using fix. - DAQ: The value archive's part set firstly readed for redundancy processing. - FIX:Archive.DBArch: Set values processing mostly fixed to return the correct last time. 2016-09-12 Roman - DB: LibsDB.OscadaLibs.db: DAQ template of the protocol "Temperature measurement IT-3 (IT3)" were expanded to detect the external connection loss. Template PCF8574 is added to the library DevLib. PCF8574 is I2C 8DIO. - FIX:SYS: data/oscada_gentoo.init is some fixed by IrmIngeneer. - !!:FIX:Archive: Value archivator is expanded for the accumulation mode support, mostly for Archive.DBArch. FIX:TValBuf: Fix for the object copy by the copy constructor appending and some fields lack. - FIX:TConfig: Fix for the object copy by the copy constructor appending and its reserved for implementing of copying the items to single ones. - FIX:TElem: Fix for the object copy by the copy constructor appending and its reserved for full implementing further. - FIX:Archive.FSArch: Adapted to values accumulation API. Values archivator fixed for the function stop() prototype. - !!!!:Archive.DBArch: The value archivation part expanded by the archives grouping into one group table, mostly for the archivation performance rise. Checking of the module meta table is added for creation the lack value archives, like into Archive.FSArch. Value archives limit is rose to days. Extended types int16_t, int32_t, int64_t, float and double archivation support is added. - FIX:UI.WebVision: The prototype "Media" processing some fix for "fit" toggle and container's scale changing. 2016-08-31 Roman - DB.LibsDB.vcaBase: tmplSO.graphSelPrm some improved. - FIX:SYS: Long locking at the redundancy state request is prevented by the resources reorder. - UI.VCAEngine: Sessions were expanded for diagnostic and profiling per pages/widgets and subtrees. 2016-08-30 Roman - !!:DB.LibsDB.OscadaLibs: DAQ template DevLib.IT3 and the user protocol part expanded by a passive mode, by list a different session. JavaLikeCalc function lowLevDevs.DHT expanded for AM2320, DHT22 (AM2302) support. - !!:DB.LibsDB.vcaBase: tmplSO.graphSelPrm significant expanded for selection from list and fast search. Main.{grph_panel,grpGraph,grpGraph10} adapted to store scaling context by mouse's window. - DAQ.LogicLev: Expanded to allow writing from external to the RO attributes "err" and all other for the "f_err" EVAL. - !!:FIX:UI.VCAEngine: Session calculation time expanded by its maximum value. Attribute addition expanded and used at manual creation by the attribute "allInher" for its creation inheritance. New created attribute's ID ("newAttr") and NAME set for indexing. - !:UI.Vision: The view "List" of primitive "FormEl" expanded by appending the pointed but missed values to the list. - FIX:UI.{Vision,WebVision}: Current values tracing of primitive "Diagram" for big periodics, in days, is fixed. 2016-08-26 Roman - !!:DB.LibsDB.OscadaLibs: DAQ template DevLib.1W_DS9097U finished and final working. - !!:DB.LibsDB.vcaBase: Main.grpGraph adapted for show self scale of a selected parameter. Main.grph_panel fixed for restore after scale by window only for allowed data. Main.ElViewGraph expanded for select by focus in also. - Transport.Serial: User API function sendbreak() is added to output transport. 2016-08-25 Roman - !!!!:FIX:DB.LibsDB.OscadaLibs: DAQ template DevLib.oneWire renamed to DevLib.1W_DS9097 and some simplified. New DAQ template DevLib.1W_DS9097U is added for allow OneWire support by an adapter DS9097U, based on the chip DS2480. DAQ template DevLib.SSCP expanded for types "dt" and "time" support and the allowed to selection variables list moving to RO text attribute. Groups of graphics and the control panel expanded to visualizer UI.Vision specific feature of selection/scaling by window drawn by mouse. The attribute "enForce" naming of ElViewGraph fix. - FIX:UI.VCAEngine: setEnable() of widget and its succession was expanded by the argument "force" like to pages. FIX: Primitives force activation for not loaded active attributes is added after the widgets loading try, into the widgets libraries. FIX: Units removing after the preloaded seek is fixed. FIX: Session's pages force enabling, at a request, prevented after its manual disable. FIX: User attribute ID prevented to set for empty. Visualizer specific attributes activation expanded for only present attributes activation, no creation. - !!:UI.Vision: Visualizer specific attributes are alowed for the primitives and an attribute "sclWin" added and used for primitive "Diagram" for trends view in scale by window drawn by mouse. 2016-08-25 fido_max - DAQ.FT3: General cleanup and refactoring of source code. KA DAQ implemented (BTU, BVT, BVTC, GZD, GNS). KA TANK object added. Translation fixed. Major erros fixed. 2016-08-16 Roman - UI.Vision: For primitive "Diagram" of the mode "Trend" the sliding by mouse is added in the time axis. 2016-08-15 Roman - !!!!:SYS: Function mess_sys() is added to the object TCntrNode to create system messages with the node path into the category and the node's location into the message begin, by the new function nodeNameSYSM(). Function err_sys() is added to object TCntrNode to create error objects with the node path and the node's location. The new TCntrNode object's functions have used everywhere into the OpenSCADA core. Some of the system messages moved to the debug category. - Archive.FSArch, UI.VCAEngine: The module moved to use the functions TCntrNode::{mess_sys,err_sys}(). 2016-08-11 Roman - FIX:DB.LibsDB.OscadaLibs: DevLib.SSCP some fixed for type "real" process and messages. - !!:FIX:Special.FLibSYS: IO object was fixed for byte orders of type "real" using as the integer bytes, but not native. 2016-08-07 Roman - !!!!:DB.LibsDB.OscadaLibs: To the templates library "DevLib" new template "SSCP" is added for implement Shark Slave Communication Protocol. !!!:DAQ template DevLib.oneWire: fix to the search algorithm and it's tested for 13 sensors on the bus; appended by the devices support: DS2413 (tested), DS1822, DS1820/DS18S20/DS1920. DAQ template DevLib.PCF8591 some fixed for set values to EVAL on errors and stability. - FIX:SYS.XML: Crashes on empty string encoding try to fix. - !!:FIX:DAQ.JavaLikeCalc: Freeing of the function's test execution context is added on this function stop, for some crashes on exit prevent. !:FIX:Return of the included functions fix for the string constant "" override. - !!:FIX:Special.FLibSYS: The system functions were appended by the Message Digest 5 (MD5) calculation function by OpenSSL. FIX: IO object was fixed for type "char" (1 byte) counted reading. 2016-08-02 Roman - !!!!:DB.LibsDB.OscadaLibs: To the templates library "DevLib" new template "oneWire" is added for implement OneWire bus by DS9097 and for DS1820. Template DevLib.PCF8591 expanded by the AI set to EVAL on errors. - SYS: For user API TVal::set() there prevented writing to no writable values of the configurations. New user API function TVal::isCfg() added. - DAQ.ICP_DAS: SDK was updated to the last version of "ICP DAS". - DAQ.JavaLikeCalc: Syntax highlight expanded to the command "~". - Transport.Serial: The timeout "symbol" was expanded by "the next request's multiplicator to the {symbol} time, 4 by default". 2016-07-27 Roman - SYS: taskUtilizTm() expanded by the argument "max" to obtain the maximum value and the value changed to seconds. The function taskDescr() added to get a link to the current task description structure. - DAQ.{BlockCalc,LogicLev,ModBus,Siemens}: The task's execution status was expanded by the maximum consumption value. - !!!:DAQ.LogicLev: Moved for set the attribute "f_frq" to the real (instantaneous) frequency, taken from the task description structure. The parameters task's consumption measurement is added, into attribute "err", into the Debug mode of the controller object. 2016-07-24 Roman - !!!!:SYS: The RW resources allocation object "Res" renamed to "ResRW". Conditional variable management object "CondVar" is added. FIX: ResRW::{resRequestW,resRequestR}() in wait timeout are forced to CLOCK_REALTIME but the pthread_rwlock unallowed to use any other. The object ResString moved from the direct mutex managing for the ResMtx. - !!:UI.QTCfg: Moved from QMutex and QWaitCondition to ResMtx and CondVar, mostly to prevent here hangs on the system time changing. 2016-07-23 Roman - !!!!:SYS: The system option "clockRT" is added for select the tasks planning clock as CLOCK_REALTIME but else it's CLOCK_MONOTONIC (default now). time2str() and tm2s() of the astronomic time were renamed to atime2str() and atm2s(). time2str() and tm2s() of the relative time were moved from microseconds to seconds origin. taskSleep() in the "cron" argument is moved to pure (string) representing for the origin point hold for the astronomic clock changing detect and cron's target correction then and also for the consumption meassuring by the taskUtilizTm(). - DAQ.{BlockCalc,DCON,LogicLev,Siemens}: The deprecated property "PERIOD" processing fix to allow it's replace next by the propery "SCHEDULE" forcing to rewrite and "PERIOD" to clean. - DAQ: The unfinished module "EPICS" was removed but the project "YAPU" forbidden. - FIX:UI.QTCfg: Crash prevents for system's time change. 2016-07-21 Roman - !!:Transport.Sockets: Output transport's reading for reply in check to SO_ERROR moved to step 2 to take some time for delayed reading but same SO_ERROR reading sometime long. 2016-07-19 Roman - DB.LibsDB.OscadaLibs: Template PCF8591 is added to the library DevLib. PCF8591 is I2C 8-bit A/D and D/A converter. - !!:Transport: User API function messIO() expanded by the input buffer size. The input buffer size was also added to the manual request dialog of the output transports. - Transport.Serial: Checking for the allowed I2C_SLAVE definition is added, and to build for Nokia N800. - UI.QTCfg: Checking for integer input field's range is added. 2016-07-18 Roman - !!!:FIX:DB: DBs loading interruption is prevented after loading with the ready configuration and an error here. - !!:FIX:DAQ.BlockCalc: For IO presenting check there was used an uninterrupted ioId() of the function object. - !!:Transport.Serial: Output transport expanded to check and use I2C. - !!:Transport.Sockets: Reading reply of the output transport after FD_ISSET is false expanded by reading socket's SO_ERROR and waiting interruption on any socket error. Early broken pipe detection and like ones for sockets allowed. 2016-07-17 Roman - Transport.Serial: Some cleaned about the RTS toggle (true/false) flow control and echo filtering and the translations update. - UI.Vision: Direct access checking for root is restored at "userIsRoot" miss. 2016-07-15 fido_max - Transport.Serial: Appended by RTS toggle (true/false) flow control and echo filtering. 2016-07-13 Roman - UI.{VCAEngine,Vision}: To the "connect" service there is added the checking of user for root by attribute "userIsRoot" and using it for menu visible. - DB.LibsDB.{OscadaLibs,vcaTest}.db: CREATE TABLE cleaned from default values like '''''''''. - !!!!:SYS: Node's function load() and load_() expanded by argument TConfig *cfg for allow direct loading after the seeking request. All parts adapted to the new argument "cfg" of loading functions, preloaded dataSeek() and the direct loading after the seeking request. Overall loading time decresed from 36% (Core) to 15% (VCAEngine) and some parts down to 80%. Argument "force" of node's function load() was removed and replaced by modifG() pre-call. Modules version of the subsystem "DB", "DAQ", "Archive", "Protocol", "UI" rose to 12. Modules version of the subsystem "Transport" rose to 13. Primary commands transmission by "rdStRequest()" prevented from exceptions. - FIX:DB.{FireBird,MySQL,PostgreSQL,SQLite}: Fix to original translated message set into value "One" of the extended value and value "Two" clean up. - DAQ.BlockCalc: IO of blocks loading was moved to using the seek request. - DAQ.LogicLev: IO of parameters loading was moved to using the seek request. - FIX:UI.VCAEngine: User attribute's value translation on load of the user attributes fixed. 2016-07-10 Roman - !:DAQ: DAQ redundancy mode OnlyAlarms is added. - FIX:DB.{FireBird,MySQL,PostgreSQL,SQLite}: Field seek is fixed for full request force on "row" = 0. - !!!!:FIX:DAQ.JavaLikeCalc: Second argument's type changing at compile is fixed but it is dynamic now mostly, detected on problems with some string operations. Doubled string constants detection is fixed. - UI.QTStarter: Expanded by a command line argument "--noX11" to allow the Qt disabling. 2016-07-06 Roman - Archive: The option's "Overtime of the reserve history reload" description is fixed. - !!:FIX:UI.Vision: Setting and updating of configuration of the status line fixed only for the master-page and its items immediately removing. Session restoring moved to the prior pages pre-removing but that is some faster, safer and cleaner then updating. Some debug counters are added. 2016-07-05 Roman - DB.LibsDB.OscadaLibs.db: ParamTemplLibs.{anUnif,anUnifSt}: Expand to alarms modes: 0-force NORMA, 1-suppress, 2-save on change. - SYS: To prepare the translations table used the preloaded seek. - UI.VCAEngine: To user's attributes loading used the preloaded seek. 2016-07-04 Roman - !!!:DB.{*,FireBird,MySQL,PostgreSQL,SQLite}: Preloading scanning mode added for functions fieldSeek() and dataSeek() for significant performance rise here. - Archive.DBArch: Messages get switched to use the preloading scanning mode. - Special.SystemTests: A test of the preloading scanning mode added to the DB tests pool. - FIX:UI.Vision: Pages including into page's container fix for adjust at its scale change. 2016-07-01 Roman - Archive: First start replay of the local archive for redundancy active messages is added, into depth "rdRestDtOverTm". - SYS: A prefix with the station name is added to most significant system's messages. - FIX:UI.VCAEngine: Visualiser specific attributes forced to modify at its activation. - UI.Vision: Lock for the main window changing in run mode at the session update-reconnect. 2016-06-29 Roman - Archive: messPut() expanded for alarms set and processing in first order and allow ignore new but equal ones in redundancy. - DAQ.{BFN,DAQGate,MMS,ModBus,OPC_UA,Siemens}: Name of parameter of alarm messages expanded by the module name. - FIX:DAQ.DAQGate: No removing archives at the parameter removing is fixed for first-level parameters. - DAQ.LogicLev: The system IO "f_err" allowed for redundancy. - DAQ.OPC_UA.libOPC_UA: Noncrashed NaN publish interval processing added. - DAQ.SNMP: Local "dataRes" removed. - Protocol.SelfSystem: Local "sesRes" removed. - !!:UI.VCAEngine: Session local dataMtx() is replaced by generic dataRes() of the node. Connections management added for its connection ID, mostly to detect remoted VCAServer changes and to re-iniate need then. - !!:UI.Vision: "Developers" help field removed by merging it to the field "Author". Using of the connection ID is added. Force to widgets update and restoring opened pages at a reconnection is added. 2016-06-23 Roman - !!!:Archive,*: To messages get functions added a time result of the finished processing. Mostly for allow fast continue from the point after long terminated by the timeout requests. The limit rdRestDtOverTm rise to days and up to 356. - Archive.DBArch: The property "maxSize" is expanded from hours to days. The used table closing after any put request is disabled. - Archive.{DBArch,FSArch}: Get messages request for equal begin and end time is allowed. - Archive.FSArch: Get from XML set some optimal. Get from plain allowed for the messages time equal to end. - Special.SystemTests: The DB tests are expanded by a seek test. 2016-06-21 Roman - !!!!:SYS: For some productivity rise the exceptions catch moved from the object copy to it's reference, thanks Max Kochetkov (fido_max) for the hint. - SYS:data/openscada_start.in adapted to gettext by use the aliase "GETTEXT". - !!!!:FIX:DB.{FireBird,MySQL,ODBC,PostgreSQL}: Fix and checked the moving to open table without exceptions into the table object constructor. - FIX:TUIS::docGet(): Force documents to background is added. 2016-06-20 Roman - !!!!:FIX:SYS.TCntrNode: Free of locked nodes and attach to disabled ones are prevented by proper resource locking to mUse. - SYS:data/openscada_start.in is adapted to working without "gettext", mostly for N800. data/{debian,debian_mod}/changelog: Author set to OpenSCADA , mostly for allow the sign after build by that key. - DB: Resource's of the DB allocation TBD::resTbls is added. For now that is experimental and used in generic functions of the tables open(), close(). - !!:Archive.DBArch: Get messages algorithm is rewrote to request by minutes in reason of requesting by hours is some too long for PostgreSQL, with the limit about 1500 records. - !!!!:DB.*: All DB modules rewrote to open table without exceptions into the table object constructor. 2016-06-16 Roman - !!!!:TDAQS,DAQ.{LogicLev,ModBus}: Redundancy of the dynamic attributes is added. - FIX:TDAQS,DAQ.LogicLev: Hierarchical DAQ parameters processing procedure is fixed. Special and translated IO from config are prevented from the redundancy. 2016-06-15 Roman - Archive.FSArch: The resources allocation including one to one are prevented. It was caused sometime to hungs before. 2016-06-14 Roman - TSYS,TArchiveS,TDAQS: Description of arguments of the configuration file is fixed. - TArchiveS: New redundancy option "Overtime of the redundant history reload at start in hours" is added. - !!:TDAQS,DAQ.LogicLev: Redundancy procedure of DAQ parameters is adapted to it's hierarchy. - DB.MySQL: Executions into BD::postDisable() are prevented. 2016-06-10 Roman - TDAQS: API functions tplE(), tplIOE(), errE() renamed to elTmpl(), elTmplIO(), elErr(). - FIX:UI.QTCfg: External host's status processing mostly improved and fixed. Timeouts of external host are set configurable by the option "TmConChk". The options StartUser and StartPath are moved under a resource allocation by the type MtxString. 2016-06-03 Roman - !!!!:SYS,*: MtxAlloc and MtxString moved to the mutex wrapper object ResMtx. All module's subsystems' version rose to one point. CoreLib version rise to 3.5. - !:UI.Vision: Timeout of tries of restoring connection to a remote station set to progressive up to the pointed one and the error message display after the timeout value in 3 seconds. - !:UI.VCAEngine: To project objects were added a property "EnableByNeed" to control the projects ready after start and prevent long connection by the deferred enabling. 2016-06-02 Roman - Transport: Listed external host's mode merging from two entries is fixed. - FIX:DAQ.Value: Write access to DAQ attributes closed for all into the service request "set". - !:Protocol.SelfSystem: Moved to some faster errors placing method. The reforwarding requests' processing set optimal. - FIX:UI.QTCfg: Into TextEdit widget added a signals blocking at setPlainText() for prevent the cursor events, status bar update and crash in some cases here. - !!!!:FIX:UI.Vision: Too important fixes made in way of adapting to stable work with remote VCA servers: The module's attributes VCAStation, UserStart, UserPass and UserStBar::{user,pass,VCAStation} were moved under resources locking by the MtxString value type using. To both runtime and development parts were added an initial connection with the restore connection timeout, for allow to load the VCA-server resources. In way of authentication as a default user the name takes from the attribute "user" of the session. Processing of the information dialog about a connection loss was moved to a single request (and thread) from updatePage(), for multithread access prevent and crashes (mostly from the notification tasks). 2016-05-30 fido_max - FIX:DAQ.FT3 flData sensivity deadband processing for event forming fixed. B_BTR:setTU count_nu fixed. TMdContr::ProcessMessage data length for cmdGet answer fixed. - FIX:DAQ.Fastwel: TMdPrm::enable module config init fixed. 2016-05-29 Roman - SYS:data/debian: the service's script openscada.init moved to separated package openscada-server. - !!!!:SYS,Transport,DAQ.DAQGate,UI.{QTCfg,Vision,WebCfgD}: External host upraise is implemented by the function extHostList() extension; the requests reforwarding by function cntrIfCmd() and the input part of the self-system protocol. - Transport: Module's subsystems' version set to 11. Starting-connection time is added to the output transports. Modify property is added to the external host's object for reconnect on it modification. - !!:DAQ.BlockCalc: Configuration fields of block unified and moved to TConfig::cntrCmdMake(). User API functions cntr(), cfg(), cfgSet() are added. - FIX:DAQ.Siemens.LibnoDave: gethostbyname() replaced to it's reentrant variant. - !!!!:Protocol.SelfSystem: Force authentication update by attribute "rqAuthForce" is added. Authentication error processing for direct requests is added. Authentication errors moved from the connection kind to the request, into the tag attribute "rez" and text. Reforwarding of host's requests attribute "reforwardHost" into input part is added. - FIX:Transport.{Serial,Sockets}: Errors on writing in the output part is fixed. - FIX:Transport.Sockets: Debug message about connect by timeout in the time is fixed. - !!!!:UI.Vision: Requests to an external host moved to using cntrIfCmd(). Remote authentication moved to allow use the host authentication by default and the same connection for check it. 2016-05-23 Roman - DB.LibsDB.OscadaLibs.db: Templates base.{digAlarm}: expanded into the input data preprocessing procedure for fix the procedure to reusing (more faster), stored context object into "ctx", "f_frq" actual value pass. - !!:DAQ: User API function funcCall() significant expanded to fix the result function for reusing and then significant performance rise. - TFunction: Virtual function prog() and setProg() is added for allow it's control through an abstract object. - DAQ.BlockCalc: Special attribute "this" of the object access set to processing into blocks. Some the source code cleaned. 2016-05-21 Roman - DB.LibsDB.OscadaLibs.db: IEC-60870-104: M_ME_NB_1 processing fix for signed value. "DHT (AOSONG)": Offset to 20 set for humidity of DHT11. - !!!:Archive: Values archivation a global option is added for time of taken values force to current and override it's source from. To values archive object an option is added for pass values fill to last value. - !:Archive:FSArch: Expanded for early limits check and it's check at unpack errors and then prevent storages overfull at close limits and small storages. the feature is not tested yet! - Transport.Sockets: Wait timeout at read() function's zero set to the next time but that case possible after disconection by peer also. - UI.{VCAEngine,Vision}: Deep header's processing of the notification's rules fix by hasFlags set. 2016-05-17 Roman - FIX:DAQ.JavaLikeCalc: Return from included function fixed. - DB.LibsDB.OscadaLibs.db: Low level device's function "DHT (AOSONG)" (for Raspberry Pi) is added, for reading temperature and humidity module DHT11. - !!:SYS: All key warnings next resolved. Include some controversial ones: DAQ.MMS: Mixed "||" and "&&" logic into the items cash access. DAQ.OPC_UA.libOPC_UA: Encoding mask processing in mix of operations '&' and '|'. 2016-05-16 Roman - DB.Model.AGLKS.St.db: All stored attributes of the VCA originals are cleaned. - !!:SYS: To data/debian_mod the package openscada-daq-bcm2835 building (commented-disabled by default) is added. Building of openscada-daq-ICP_DAS into data/debian_mod by default also set to disabled. {DAQ,Transport}.*: Tasks priorities range expanded up to 199 where 100-199 used for SCHED_FIFO tasks planing policy. Build and check the build environment scripts some improved for the crossbuild, by - appending pkg-config using for DB.PostgreSQL check before; - same pkg-config used from PKG_CONFIG enviroment which points to the cross variant; - check to Qt expanded by test taken from Qt_MOC and Qt_RCC ones. - DAQ.BCM2835: Static function mode() is added for GPIO pins Input/Output modes free control, from needs to DHT11. - FIX:DAQ.OPC_UA.libOPC_UA: TimeStamps into the "Write" client request's are disabled but some servers tell 0x80730000 (OpcUa_BadWriteNotSupported). - !!:Transport.{Sockets,Serial}: Possible wrong readings after the select() wrong termination, with marking as a data present (some caused), is unified and better adjusted for different modes of the requesting and the not requesting mode of output transport. - Transport.Sockets: Input transport's error messages some improved and set more informative. 2016-05-09 Roman - DB.LibsDB.OscadaLibs.db: Function "Low level devices"."Display 1602A" set to stopped by default, with the new option. - !!:DAQ.JavaLikeCalc: To function object is added "To start" parameter for allow disabled by default ones. Checking for IO moved before constants for it's override. Constant "EVAL" as a synonym to EVAL_REAL is added. - !!!!:FIX:DAQ.OPC_UA.libOPC_UA: Initial filters support is added into requests CreateMonitoredItemsRequest and ModifyMonitoredItemsRequest only for OpcUa_EventFilter at AId_EventNotifier parse. Input Variants function iVariant() is added as a separated part of function iDataValue(). !!!!:FIX: Packages sequence number managing for server part is fixed by separating from the value of input packages. FIX: Packages sequence number managing for the client part also unified and fixed to prevent the value repeats. Services CreateMonitoredItems and ModifyMonitoredItems processing merged to a singe one. !!: Early Acknowledgements processing in request "Publish" is added. Successful adapting to work with UAExpert 1.4. 2016-05-04 Roman - DB.LibsDB.OscadaLibs.db: "Low level devices" library of DAQ.JavaLikeCalc functions and function "Display 1602A" (for Raspberry Pi) into is added. base.digAlarm DAQ template expanded by an input processing procedure like into base.anIn. - !!!!:DAQ.JavaLikeCalc: Support of internal functions definition and it's call is added. 2016-04-29 Roman - !!:FIX:Archives: Locking for access to the alarms table is expanded to sort into the messages get request. 2016-04-28 Roman - !!!:SYS,UI.{QTCfg,Vision,WebCfg,WebCfgD}: Transfer local primary commands to redundant host is added, by an option of redundancy. As primary commands, which transfered, mean: "set", "add", "ins", "del", "move", "load", "save". - !!!!:Protocol.OPC_UA: Works into the poll mode of input transport are allowed and enabled by default. - UI.WebCfg: Source code significant cleaned. 2016-04-26 Roman - !!:SYS: Messages about redundant stations up and down are added. TSYS::rdStRequest() expanded by scan mode for stations. Main redundancy properties of the system level forced for store to the configuration file. - !!:FIX:Archives: Locking for access to the alarms table is restored. Access to messages in redundancy unified. - FIX:UI.Vision: For view "Table" of primitive "FormEl" header's item option "sort" fixed. 2016-04-25 Roman - SYS: Early redundancy task starting set. - DAQ,Archive: In redundancy, guaranty first initial sync request support is added, mostly for master. - Archive: In redundancy, alarms initial obtain is added. - DAQ: Initialization of redundancy of TController object some changed to enabled by default. That will next checked into a complex environment. - DAQ.BCM2835: Expanded for access to GPIO by static functions which significant faster ones. - FIX:DAQ.JavaLikeCalc: setNoTransl() at the attributes value (DB field "DEF") loading disabled by some problematic and no a sense. - Special.FLibSYS: The time functions are appended by tmSleep() for faster access to the short sleeping provides. - Transport.{SSL,Sockets}: Buffer's size of getservbyname() some decreased. - FIX:UI.QTCfg: Read only of selected items are fixed in alignment with other items in single row. Changed user apply is fixed. 2016-04-20 Roman - DB.LibsDB.OscadaLibs.db: Templates base.{digAlarm,anUnif,anUnifSign} expanded by prevent main execution into cycles of the starting (f_start) and stoping (f_stop). Template base.anUnifSign also expanded for EVAL detection lag into parameter "Tf". - DB.Model.AGLKS.St.db: Mostly parameters of LogLevPrm.experiment object of controller set into attribute "Tf" to value 2. - !!!!:SYS: Resources locking in RW object "Res" expanded by the functions (synonyms) lock(), tryLock() and unlock(). All module's subsystems' version set (started) to 10 for the Work version and prevent in casual the modules connect from LTS and vice versa. !!!!:The redundancy significant expanded to moving redundancy hosts management to the system level, from exclusively DAQ subsystem. Additional managing time macro FTM2 is added. User API function SYS.sleep() expanded to accept first argument of time in seconds as float and allow to set here up to nanoseconds. User API function SYS.sleep() limited to maximum wait time it is standard interface's timeout (5 seconds) and targeted mostly for low level device's short time lags. - !!!!:Archives: Redundancy for message archives added. TArchiveS::messPut() expanded to write messages independent to the alarms table. - !!:FIX:Transport.{SSL,Sockets}: gethostbyname() and getservbyname() replaced to it's reentrant variants. - !:FIX:Transport.{Serial,Sockets}: For result's reading, into output transport, added waiting for data at zero or/and EAGAIN error. 2016-04-13 Roman - !!!!:DAQ: Module DAQ.BCM2835 is added, mostly for access to BCM2835 like chip's GPIO and some other. The BCM2835 chips mostly known used into the Raspberry Pi boards. For now the module do not work properly yet and it is under developing! - DAQ.=Tmpl=: Some cleaned and expanded. - !:UI.VCAEngine: Force inheritance of links types is added, independent from the attribute local modification. Mostly for prevent the link's type changing loss, as significant one, into the modified attributes. 2016-04-10 Roman - DB.LibsDB.OscadaLibs.db: DAQ template's "base.anUnif" attribute "Connection loss detect delay, s" moved to "Tf, s" in the role. - Archive.FSArch: Used FTM() for left the messages time. Checking to duplicated messages into get() adapted for the option "prevDblTmCatLev". - UI.{VCAEngine,Vision}: For view "Table" of the primitive "FormEl" header's item option "sort" is added for point to initiate sorting column. 2016-04-08 fido_max - !!:DAQ.FT3: ui32Data, flData sensivity deadband processing for event forming added. B_ODOR implemented. - DAQ.FT3: KA_GNS SetNewState, SetNewFunction implemented, version rise to 0.2.1. - Protocol.FT3: Version rise to 0.2.1. 2016-04-07 Roman - DB.LibsDB.OscadaLibs.db: DAQ template "base.anUnif" expanded by attribute "Connection loss detect delay, s" for prevent blinks into hosts in redundancy or so one. - Archives: pthread_mutex_t resources allocation moved to ResMtx and it's space decreased exclusively to local buffers access and prevent some racecondition at the archivators access. - DAQ.ModBus: "Value" field of the templates set to use as a default link, on first enable. 2016-04-06 Roman - DB.LibsDB.vcaBase.db: Left graphics group fix to "name" attribute. - !!:Archives: messPut() and messGet() expanded to archivators list allow instead single one. User API function messGet() expanded by argument "upTo", for the timeout direct control allow. - FIX:DB.PostgreSQL: Fix cycling after unsuccessful a table's structure correction. - UI.VCAEngine: To messages reading by the repeating tags of primitive "Document" added attribute "docAMessArchs" to allow read only pointed archivators. 2016-04-04 Roman - SYS: TSYS::strEncode() in variant SQL expanded by the doubling method of the pointed symbols. - DB.{PostgreSQL,SQLite}: TSYS::strEncode() in doubling method is used. - UI.VCAEngine: Manual creation mark for pages is added. Mostly for modification of the children clean up and it's inheritance storing prevent by it is spare and sometime problematic on the parent update, like messages about impossible to enable a widget. - FIX:DB.PostgreSQL: Fixed for symbols "'" '"' encoding by it replace to the doubling method. 2016-04-03 Roman - UI.{Vision,WebVision}: For primitive "Diagram" to data block "data:
" option "Approximation (aprox)" is added. - !!:DAQ.DCON: Some cleaned. Adapted and enabled hierarchical parameters. Pass of real requests at the first and last iterations. enRes and reqRes resources lockators moved from Res to ResMtx. - !:DAQ.{ModBus,Siemens}: Pass of real requests at the first and last iterations, only the procedures execution. 2016-04-01 Roman - FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Previous scaned value getting prevented on the original value setting to clear all extended structure of translated value. Detected on UI.VCAEngine users attributes seek. - Protocol.SelfSystem: Attribute "remoteSrcAddr" of the root node set/reserve to the remoted host's address. - FIX:UI.VCAEngine: Mostly information messages from the information level moved to the debug one. User API functions mess{Debug,Info,Note,Warning,Err,Crit,Alert,Emerg}() appended to the run-time widget and included the widget path as the category. FIX: setNoTransl() at the attributes loading disabled by some problematic and no a sense. The note messages are added: "User is changed to ...", "User is connected ...", "User is disconnected ...". - UI.{VCAEngine,Vision}: To view "Table" of the primitive FormEl into root tag "tbl" added attribute "sortEn" to direct sorting by columns. - FIX:UI.Vision: For the attribute inspector labels of the attributes the ToolTip is added to long names (>20). FIX: The palette restoring to visibleCheck function is added for prevent FormEl's artifacts at last. The view "Table" of the primitive FormEl mostly adapted to sorting by the columns. 2016-03-23 Roman - FIX:Archive: Group messages archives request timeout, for common, fix into get(). - Archive.DBArch: Quick messages obtain by separated field "DT" set compatible but the field "TM" left to store full time. - FIX:UI.Vision: Mouse events at all enabled for "FormEl" primitive and some artifications like ticks loss into Slider but mostly into Table detected and fixed. 2016-03-21 Roman - DB.LibsDB.vcaBase.db: Main.ElCadr: Field of description checking to EVAL is added for empty value place. - !!:FIX:SYS: TCntrNode::nodeDis() fixed to prevent attach to the node at it disabling and result crash. - TConfig: Moved to ResMtx from direct pthread_mutex_t. - FIX:Archive: m_start, run_st, m_db were renamed to mStart, runSt, mDB. Time limit for get() messages fix. - !!!!:FIX:Archive.DBArch: New options of the messages archiver are added: "Store time as pure integer", "Scan by days threshold in seconds". "Archive size (hours)" for both values and messages adapted for set to zero (<0.1) and disable the limit at all. Table structure's for value and messages set adaptive and moved to the objects TMArchivator and ModVArchEl. By the option "Scan by days threshold in seconds" enabled separation the "datatime" row to "date" and "time" with allow significant rise the performance of reading message's big parts by day's blocks scan/seek and decrease the scan/seek by seconds. - UI.{VCAEngine,Vision}: Logical groups separator of Widget's attributes is changed from ":" to ": " everywhere, mostly for allow the user attribute value's items separation and description it with the symbol ":". Some like user attributes will not now grouped before fix! 2016-03-16 Roman - !!:FIX:DB.{MySQL,}: Prevented the "BEGIN;" and "COMMIT;" request's sequence breakage on high concurrency access activity. "connRes" moved from pthread_mutex direct to ResMtx wrapper. 2016-03-12 Roman - DAQ.OPC_UA: Some spare error messages removed. - UI.Vision: Primitive "Diagram" updated period limited to one second in the development mode. - FIX:Special.FLibSYS: IO.pos for string fixed. Single integer and real reading fixed on the position seek. - FIX:UI.Vision: Context menu problem for views List, Tree and Table is fixed, for allow the right mouse button's event come to the system functions. 2016-03-03 Roman - Archive: TArchives::messPut() expanded by the argument "arch" to allow direct to the archiver writing. Same expanded the user API function messPut(). - !!!:FIX:Archive.FSArch: Check for duplicate as equal time, category, level and it prevent is added. Check for duplicated at all fixed. Time into cache changed from time_t to int64_t (in microseconds). - UI.{VCAEngine,Vision}: Primitive's "Diagram" attribute "trcPer" type changed from "Integer" to "Real". UI.Vision also adapted for update the "Diagram" down to 0.01 ms. - !!!!:UI.Vision: View "Table" of the primitive "FormEl" significant expanded by: global table's attributes: "hHdrVis", "vHdrVis"; row attributes "colorText", "font"; column attributes "color", "colorText", "font". Context menu support enabled for views: List, Tree and Table. - FIX:UI.{Vision,WebVision}: Mode "XY" of the primitive "Diagram" fixed for build by sorting by 'X' disable, only the hierarchical order. 2016-02-29 fido_max - DAQ.FT3: B_BIP updated, logic side implemented (tmHandler, cmdGet, cmdSet), version rise to 0.2.0. - Protocol.FT3: Version rise to 0.2.0. 2016-02-28 Roman - DB.Model.{AGLKS.vca.db,Boiler.St.db}: Visualizer's UI.Vision specific attributes moved to the project's root-page. - FIX:SYS: User's space flags to generic nodes (TCntrNode) processing fixed, mostly for "RM_Full" flag and DAQ paramter's archives proper removing. - UI.Vision: Global modification mark processing moved to different function modifyGlbStUpdate() and some changed. - FIX:UI.Vision: Included to container's pages align processing rewrote to trace on the widget's geometry update and to the misaligned scroll-bars appearing sometime prevent. 2016-02-17 Roman - FIX:UI.VCAEngine: Notifications by queue and direct pointed resource is fixed. - SYS: CoreLib version rise to 3.5. Security: Adapted to prevent passwords storing in open view as hash instead, for: OpenSCADA host (Transports), Protocol.SelfSystem, UI.Vision. Security: crypt_r() using enabled only for "__USE_GNU" and the open passwords store instead. 2016-02-15 Roman - UI.{VCAEngine,Vision}: Projects flags moved to as the visualizator specific attributes "runWin" and "keepAspectRatio". Vision global properties "stBarNoShow", "winPosCntrSave" moved to the visualizator specific attributes. - UI.VCAEngine: Control request "activate" expanded by "aVls" and "aNms" determine. - SYS: Function realRound() some simply set. System configuration fields "workdir", "moddir", "icodir" and "docdir" set to readonly from the configuration interface, mostly for wrong changes prevent and the changes allow only by the configuration file edit. - *.=Tmpl=.configure.ac: Some spare code parts removed, mostly for old i18n manage. - FIX:DAQ.OPC_UA.libOPC_UA: Variable's statuses added, mostly for the "Publish" service. Initial "Publish" responses are added: first after the CreateSubscrition service and second after the CreateMonitoredItems service. - UI.{VCAEngine,Vision}: pthread_mutex_t moved to ResMtx. Notifications expanded to unregister and stacked registering ones from other pages. - FIX:UI.Vision: conErr pointer loses for not zero set at the master page free/replace is fixed. That sometime causes to crashes! 2016-01-31 Roman - DAQ.OPC_UA.libOPC_UA: New client/server services implemented: RegisterNodesRequest, RegisterNodesResponse, UnregisterNodesRequest, UnregisterNodesResponse. Only formal and no a real doings! - FIX:DAQ.Siemens: A crash problem at high and frequent interaction is fixed. The problem into DB block's fragments changing (by assign) at it parallel reading. The DB block's fragments set to replace instead assign everywhere. - FIX:UI.VCAEngine: pthread_mutex_t replaced to ResMtx for the function's resources locking. The function's resources locking is added for SesPage::setEnable(). Try to enable for disabled pages, at an alarm set action, is prevented by some strange crash here observed, only into LTS. 2016-01-25 Roman - SYS.{configure.ac,ChangeLog}: Some messages fix. - DAQ.JavaLikeCalc: Operation "||" and "&&" formal set to equal priority. - DAQ.OPC_UA: Module for client renamed to "Client OPC-UA" and for server to "Server OPC-UA". Protocol: reqData() fixed for "NodeClass" processing of the "Browse" request, mostly for forward request to the data model. 2016-01-08 Roman - FIX:DB.LibsDB.OscadaLibs.db: regEl.pidUnifD: Pulse regulation by the back position fixed and tested into real environment. - FIX:DAQ.MMS.libMMS: oN() function fix for auto size adjust. Tail wait fix into the messIO() request. - FIX:DAQ.ModBus: Some original messages fix. Some resources lock appended and moved from pthread_mutex_t to ResMtx. - !!!!:DAQ.Siemens: Self implementing for ISO-TCP is added and tested, mostly by Proviron Holding NV request. Restoring timeout is added. Significant refactoring for the resources lock, error messages and other. 2015-12-17 Roman - DB.LibsDB.OscadaLibs.db: Some descriptions expanded and fixed. - DB.LibsDB.vcaBase.db: Main.TextLab: Context command's description into the operator's protocol fix. - !:FIX:DAQ.ICP_DAS: Possible crash fix into the OpenSCADA serial transport mode using and CRC enable on short (not full) messages receive and process. - Special.FLibComplex1: Some the source code cleaned. - !!:FIX:UI.VCAEngine: Queued notification's quietance for all and partial fix. 2015-12-12 Roman - !!!!:DB.LibsDB.OscadaLibs.db: User protocol for IEC-60870-104 is added, by the template only. - !!:DAQ.SMH2Gi: Version 1.0.0 released. 2015-12-11 Roman - !!:FIX:DAQ.OPC_UA.libOPC_UA: Specific value types OpcUa_IntAuto and OpcUa_UIntAuto added for adaptive integer type selection, mostly for provide integer into not fixed int64. Error OpcUa_BadNoSubscription added to PublishRequest. Server folder "ServerCapabilities" added and some items here. FIX: Conditional session's clear for selected endpoint is added, mostly for prevent this loss at no "None" policies. Virtual function connect() into client is added for the connection control, used into service "CloseSecureChannel" for close connection. "Nonce" of the Server part disabled into CreateSessionResponse and ActivateSessionRespons for policy "None". 2015-12-08 Roman - FIX:DAQ.OPC_UA.libOPC_UA: Using the client certificate into a renewal secure channel request set only for no "None" policies. Full session clear at errors into a renewal secure channel request is added. Some lack information resolved like to "transportProfileUri" and "securityLevel". libOPC_UA independent version control is added. - FIX:DAQ.OPC_UA.Client: Status codes display fix for the controller's attributes. 2015-12-07 Roman - !!!!:FIX:SYS.TVarObj: Object's twice free possibility prevented. TVarObj::propGet() EVAL result fix. 2015-12-03 Roman - DB.LibsDB.OscadaLibs.db: UserProtocol.OWEN some tested and fixed. - DAQ.{LogicLev,ModBus}: User API function attrAdd() expanded by option "ro", for read-only. - Protocol.UserProtocol: For input requests expanded to try enable, mostly for allow to use static functons into the procedures. - UI.QTStarter: WinControl's timer stopping moved to it destructor for ensure the timer create/start and stop into one thread. 2015-11-28 Roman - !!!:FIX:DAQ.OPC_UA: Library: Expanded to new error codes. Auth processing for client fixed to storing current endpoint description for next actual "policyId" obtain and using to the auth service. Wrong NodeId::Opaque type set fix. Next empty arrays number fix for set to 0 instead -1. Fix something "EndPoint" lack. To server part new default name spaces added: 2-"http://opcfoundation.org/UA/DI/, 3-"http://PLCopen.org/OpcUa/IEC61131-3/" Client: Appending information by: applicationUri(), productUri(), applicationName(). For empty "browseName" browsed nodes using "displayName" set. Server: OpenSCADA DAQ name space set to index 4. - UI.Vision: Adapted for build with libphonon4qt5 and Qt5. Deprecated functions using is resolved for Phonon. - UI.{QTCfg,Vision}: Early timers stopping added to the close event processing. - UI.VCAEngine: Media files selection appended by URL's extensions: avi, mov, mpg4. 2015-11-26 Roman - FIX:DAQ.OPC_UA: Empty Read service list cicling fix. - !!!!:SYS: Object ResMtx is added for gather all platform specific mutex implementation. Later it will be used instead the direct POSIX API everywhere. - !!:Transports.*: messIO() return to the previous prototype and for the no request mode set used