From OpenSCADAWiki
Jump to: navigation, search
(Created page with "On this page you can get the "To Do" list and pool tasks of the project. "To Do" list is no connected to the time ranks, but it is structured by subsystems. "To Do" list and p...")
 
(Subsystem "User interfaces")
 
(160 intermediate revisions by the same user not shown)
Line 1: Line 1:
On this page you can get the "To Do" list and pool tasks of the project. "To Do" list is no connected to the time ranks, but it is structured by subsystems. "To Do" list and pool are provided to present general development picture, and to post notes for the developers' examination. The developers can append, apply and note tasks for themselves.
+
<languages/>
 
+
<translate>
 +
<!--T:11-->
 +
On this page you can get the "To Do" list and a tasks pool of the project. The "To Do" list is not connected to the time ranks, but it's structured by subsystems. The "To Do" list and pool are provided to represent the general development picture, and to post notes for the developers' examination. The developers can append, apply and note the tasks for themselves.
 +
</translate>
 
__TOC__
 
__TOC__
  
 +
 +
<translate>
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
|
 
|
=== Documentation ===
+
=== Documentation === <!--T:12-->
 +
* Wiki pages those need to the translation creation or updating:
 +
** [[Special:MyLanguage/Documents/API|API OpenSCADA]]
 +
** [[Special:MyLanguage/Sub-projects/Logical_level|Logical level of parameters of OpenSCADA]];
 +
** [[Special:MyLanguage/Using/Kamjanske_Bagley_Boiler1|Data acquisition and visualization system of the boiler #1 of workshop of CHP Plant]];
 +
** [[Special:MyLanguage/Modules/AMRDevs|DAQ.AMRDevs]];
 +
** http://wiki.oscada.org/Doc/OperatorManual.
 +
* Wiki pages that need updating or revision:
 +
** Revise the project [[Special:MyLanguage/Using/HouseSpirit|Apartment house automation — "Smart House"]] and use it for creation a DAQ-template of the unified conception of building WEB-interfaces in the traditional way of XHTML-templates with the builtin server-side procedures on JavaLikeCalc.
 +
** DAQ: [[Special:MyLanguage/Modules/BlockCalc|BlockCalc]], [[Special:MyLanguage/Modules/DCON|DCON]], [[Special:MyLanguage/Modules/ICP_DAS|ICP_DAS]], [[Special:MyLanguage/Modules/DiamondBoards|DiamondBoards]], [[Special:MyLanguage/Modules/Comedi|Comedi]], [[Special:MyLanguage/Modules/SMH2Gi|SMH2Gi]];
 +
** [[Special:MyLanguage/Sub-projects/Values_archivation|Values archiving]].
 
* New documents:
 
* New documents:
** Standard DAQ template's libraries describe into http://wiki.oscada.org/Using/APIFunctionLibs.
+
** Create a separate WIKI-page of the "Smart Home" project on [[Special:MyLanguage/Sub-projects/Server|the OpenSCADA server]].
** New module "MMS" document page.
+
** [[Special:MyLanguage/Modules/MMS|DAQ.MMS]];
* Wiki-pages need to update:
+
** [[Special:MyLanguage/Modules/ODBC|DB.ODBC]].
** [http://wiki.oscada.org/HomePageEn/Doc/ModuleBuild#h1126-10 Manual for creation of modules for OpenSCADA] expand in part 2.4 for DAQ modules variants, data gathering methods and links to its examples.
+
** http://wiki.oscada.org/Doc/ArxZnach
+
* Wiki-pages/media create/update for translation:
+
** http://wiki.oscada.org/Using/BagleyBoiler1
+
** http://wiki.oscada.org/HomePageEn/Doc/ValArch
+
** http://wiki.oscada.org/Doc/AMRDevs
+
** http://wiki.oscada.org/Doc/OperatorManual
+
** [http://wiki.oscada.org/Doc/QuickStart Video-addition for the sound track of QuickStart translation]
+
 
|-
 
|-
 
|
 
|
=== Project's site ===
+
 
* New OpenSCADA Wiki engine select from [http://wackowiki.org WackoWiki 5.4] or [https://www.mediawiki.org MediaWiki]. In the main criterions:
+
=== Site of the project === <!--T:27-->
** 10*[10,?] compatibility or simplicity for the original Wiki content migration;
+
* Using of the OpenSCADA Web-functions for complex and management pages at the main site: fund and tasks control, works and solutions pool for implement by the participants.
** 9*[0,5] multilanguage from box;
+
* Redraw the project logotype and splash.
** 8*[0,10] UTF-8;
+
* Expand of the funding, donating and payment.
** 9*[8,?] big page's content;
+
* Update, refresh the project gallery and link it to the Wiki images.
** 9*[10,3] subpages including;
+
** 5*[3,10] correct searching;
+
** 4*[2,?] correct the syntax highlight for source texts;
+
** 4*[?,?] allow template/skeleton pages for include as IFRAME into TYPO3, test on FAQ and also for OpenSCADA.
+
** 4*[3,10] easy for print-ready documentation generation from Wiki, see to different tools: export through LaTEX, asciidoc, pandoc, DocBook;
+
* Wiki-resource:
+
** make Wiki-structure clean to use for the online documentation call from OpenSCADA and the offline documentation generation;
+
** migrate current OpenSCADA Wiki materials to the selected new WikiEngine, move languages to /en, /uk, /ru and etc.;
+
** prepare scripts to OpenSCADA source tree for current documentation automatic generation/obtaining from the Wiki-source.
+
** merge user accounts on main-site (TYPO3) and Wiki (WackoWiki).
+
* Logotype redraw.
+
* Funding button on main page prepare for link to: http://oscada.org/en/development/tasks/topics/tasks_forming_formirovanie_zadach/
+
* Donate button prepare, mostly PayPal but it isn't available for Ukraine yet.
+
* Create an independent funding and donates account for control.
+
* Gallery update and refresh.
+
* Use for complex and management pages at main site the same OpenSCADA Web-functions: fund and tasks control, works and solutions pool for implement by the participants.
+
 
|-
 
|-
 
|
 
|
=== Testing/optimization and fixing ===
+
 
* ''UI.{Vision,WebVision}'': The primitive "ElFigure" full revision. Check for coordinates aligns needs. Performance optimization. Events processing revise. Known bugs fix:
+
=== OpenSCADA libraries and projects === <!--T:28-->
:- Copy buffer clearing after copy selected items, impossible for copy repeat.
+
* [[Special:MyLanguage/Libs/LowLevelDevices|Low level sensors and chips library]]
:- Fix selecting upper figures point instead early selected any lower on the point moving try.
+
{{#lst:Libs/LowLevelDevices/en|ToDo}}
:- Flaws between adjacent inundations, often for not orthogonal angles.
+
* [[Special:MyLanguage/Libs/Regulation_elements|Regulation elements library]]
:- The edit mode broken at any project execution in runtime.
+
{{#lst:Libs/Regulation_elements/en|ToDo}}
:- Mirroring lack and problems here to append its by the code's original style bad.
+
* [[Special:MyLanguage/Libs/Prescriptions|Prescriptions]]
 +
{{#lst:Libs/Prescriptions/en|ToDo}}
 +
* [[Special:MyLanguage/Libs/Documents|Reports' and documents' library]]
 +
{{#lst:Libs/Documents/en|ToDo}}
 +
* [[Special:MyLanguage/Sub-projects/Automation_Linux_distributive|Automation Linux distributive of the project OpenSCADA]]
 +
{{#lst:Sub-projects/Automation_Linux_distributive/en|prog}}
 +
* [[Special:MyLanguage/Sub-projects/Graphical_PLC_Programming|Graphical PLC Programming in OpenSCADA]]
 +
{{#lst:Sub-projects/Graphical_PLC_Programming|prog}}
 +
* [[Special:MyLanguage/Using/PinePhone|Open Phone — PinePhone]]
 +
{{#lst:Using/PinePhone|prog}}
 +
* [[Special:MyLanguage/Using/NetGear_R6220|NETGEAR R6220]]
 +
{{#lst:Using/NetGear_R6220|prog}}
 
|-
 
|-
 
|
 
|
=== System generic ===
+
 
* OpenSCADA project's developing, using, to solution integration, support concepts moments work out:
+
=== {{Anch|TestOptFix|Testing, optimization and fixing}} === <!--T:25-->
** Expand the community targeting to tasks implement control: tasks pool, fund and fundraising; developers register, ranks for participate into the tasks.
+
* ''UI.{Vision,WebVision}'': Complete revision the primitive "ElFigure" implementation, what needs:
** Expand the community targeting to solutions implement control: register solution implement task (by consumer), set demands to the task and performer, set the price limit; each performer propose self price; consumer select performer. Commission from the order price to the project is 10%.
+
:- BUG: selecting multiple figures at hold the key "Ctrl";
* Prepare and form achievements into firmwares and builds for "ICP DAS" LinPac (LP) to product.
+
:- BUG: clearing the copy buffer after selected items copy — impossible for the copy repeat;
* Direct adapting OpenSCADA parts to IPv6.
+
:- BUG: selecting upper figure's point in the moving operations;
* Adapting to Android:
+
:- checking for alignment of the coordinates;
<pre>Move page AdaptAndroid and include here its progress.</pre>
+
:- performance optimisation;
* Adapting to MS Windows®:
+
:- revision for events processing.
:+ adapting to direct link modules with OpenSCADA core library for DLL restrictions;
+
:- initial build OpenSCADA for the environment.
+
* Dynamic text values translation and the static unification:
+
:+ conception create;
+
:+ translations manager creation;
+
:+ dynamic messages translation implement;
+
:+ procedures translation make controlled by an option;
+
:- allow the table "Tr" appending by the function tr() calls for not multi-language mode;
+
:- check for changing the translations to original and write empty values;
+
:- copy translations at the object copy;
+
:- document current text values translation into OpenSCADA.
+
* Develop a mechanism for object's data removing from previous DB after the data copy to some other DB.
+
* XMLNode: append by symbols validation check, for UTF-8 mostly, but there are possible problems into text fields of UI.WebCfgD and other for near to binary bytes of stream.
+
 
|-
 
|-
 
|
 
|
=== Subsystem DB ===
+
 
* Expand description for access to DB by user API, firstly by extValue().
+
=== Program/System generic === <!--T:13-->
* Module ODBC implementation:
+
* Add user properties to the Control Node object by a pointer with their activation at use:
:+ Main functions implement for generic SQL requests, testing for: SQLite, MySQL, PostgreSQL, FireBird.
+
:- add registration of connection-blocking node at ''AutoHD()'' and use this information in the blocking message, in debug mode;
:- Specific DBMS properties: quoters for names and values, ...
+
:- [[Special:MyLanguage/Modules/JavaLikeCalc|DAQ.JavaLikeCalc]]: add definition and call of user functions in object properties.
:- OpenSCADA internal DB's layer function fieldStruct() implement to generic SQL dialects and DBMS specific.
+
* Move all user creating objects under ACL.
:- OpenSCADA internal DB's layer functions fieldSeek(), fieldGet(), fieldDel() implement to generic SQL dialects and DBMS specific.
+
* Expand dimension of the internal time from microseconds and up to nanoseconds. Previously append support for PicoScope 2000.
:- OpenSCADA internal DB's layer functions fieldDel() implement to generic SQL dialects and DBMS specific.
+
* Work out for developing, using, integration to solutions, concept of the OpenSCADA project support. Expand the community by targeting on the implementation control of:
:- Generic tests pass for: SQLite, MySQL, PostgreSQL, FireBird.
+
** tasks: tasks pool, fund and fundraising; developers register, ranks for participate into the tasks.
:- Test for DBMS Oracle ODBC connector.
+
** solutions: register a task of the solution implementation (by consumer), set demands to the task and performer, set the price limit; each performer propose self price; consumer select a performer. Commission from the order price to the project is 10%.
* (+) Create DB module for OpenLDAP.
+
* [[Sub-projects/Adaption_to_Android|Adapt to the software platform Android]]:
* Create a gate module to other OpenSCADA station's DBs.
+
{{#lst:Sub-projects/Adaption_to_Android|prog}}
 +
* Move completely from GD2 to SVG on Web, that is: the Diagram primitive, the ElFig primitive with complete refactoring.
 +
* Adapt to the software platform QNX:
 +
:+ get for some QNX platform representation => due to the deep closing, but yet using OpenSource, this OS is not allowed in free and there was bought a used hardware based on BlackBerry, that is "BB PlayBook", that is not actual already due to the main supporting resources are <span style="color: red">DEAD</span>;
 +
:- start an adaption subproject and place here [http://oscada.org/ua/forum/posts/raznoe/popytka_adaptacii_openscada_k_qnx_65/ the preadaption achievements] from Sergey Doroshka;
 +
:- build the pure console program;
 +
:- build the full-featured Qt-GUI program on Photon.
 +
* Adapt to the software platform MS Windows®:
 +
:+ adapt for the modules linking with the OpenSCADA core library directly, for DLL restrictions;
 +
:- start an adaption subproject;
 +
:- describe [http://oscada.org/ru/forum/posts/proekt/zapusk_openscada_v_srede_windows_10_posredstvom_wsl/ the original start of OpenSCADA as a Linux program on MS Windows, using WSL];
 +
:- initiate the OpenSCADA building for the MS Windows environment.
 
|-
 
|-
 
|
 
|
=== Subsystem "Transports" ===
+
 
* Implement for an agent of the SNMP protocol. Examples are into: [http://www.networkupstools.org NUT].
+
=== Subsystem DB === <!--T:14-->
* Create a transport for [https://en.wikipedia.org/wiki/&#216;MQ &#216;MQ].
+
* [[Special:MyLanguage/Modules/DBGate|DB gate]]
* Create a gate module to other OpenSCADA station's transports.
+
{{#lst:Modules/DBGate|ToDo}}
 +
* [[Special:MyLanguage/Modules/ODBC|DB by ODBC]]
 +
{{#lst:Modules/ODBC|ToDo}}
 +
* [[Special:MyLanguage/Modules/LDAP|Directory by LDAP]]
 +
{{#lst:Modules/LDAP/en|ToDo}}
 
|-
 
|-
 
|
 
|
=== Subsystem "Protocols of transports" ===
+
 
==== [http://wiki.oscada.org/HomePageEn/DOC/HTTP HTTP] ====
+
=== Subsystem "Transports" === <!--T:15-->
* Adapting for include and built-in to TYPO3, WackoWiki and other pages for allow build control interfaces by OpenSCADA further.
+
* Implement an agent of the SNMP protocol, an examples are in [http://www.networkupstools.org NUT].
 +
* Create a gate module to the transports of other OpenSCADA stations.
 +
* [[Special:MyLanguage/Modules/Sockets|Sockets interfaces]]
 +
{{#lst:Modules/Sockets/en|ToDo}}
 +
* [[Special:MyLanguage/Modules/Serial|Serial interfaces]]
 +
{{#lst:Modules/Serial/en|ToDo}}
 
|-
 
|-
 
|
 
|
=== Subsystem "Data acquisition" (DAQ) ===
 
* Create DAQ and transport's protocol for MMS and IEC 60850.
 
:+ Library libiec60850 test included and linked.
 
:+ Write self MMS implementation, mostly for mode without session on ABB-800, full replace libiec60850.
 
:- Optional sessions support add.
 
:- IEC60850 implement and test with "libiec60850".
 
* Using attribute's [http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-10 values] for scale to maximum and minimum into sources by FIFO mostly, and provide values into archive by engineer measure units.
 
  
==== [http://wiki.oscada.org/HomePageEn/DOC/ICP_DAS ICP DAS] ====
+
=== Subsystem "Transport Protocols" === <!--T:26-->
* Asynchronous and group writing support, mostly for I87x.
+
* Create WebSockets support as the first wrapping protocol.
==== [http://wiki.oscada.org/HomePageEn/DOC/Comedi Comedi] ====
+
* Append for working with FIFO, by board Diamond Systems DMM-32X-AT.
+
==== [http://wiki.oscada.org/HomePageEn/DOC/Siemens Siemens] ====
+
* Review for protocols MPI and SPI, check for possibility direct using its through pure RS-232/485.
+
==== [http://wiki.oscada.org/HomePageEn/DOC/OPCUA OPC-UA] ====
+
* Separate the "EndPoint object of the input part to types "Discovery" and "Data".
+
* Append an input transport automatic creation and its pre-configuration from properties of the EndPoint object.
+
* Reread the OPC-UA specification and set implementing to it.
+
* Append the authentication support to input protocol part.
+
* (+) Chunks implementation for big requests.
+
* "Publish" request implementation and processing into the client part.
+
* History services support for the server part, see and test against UAExpert negotiation.
+
* History services support for the client part.
+
* Transport HTTP/SOAP addition.
+
==== [http://wiki.oscada.org/HomePageEn/DOC/System System] ====
+
* Append by the system memory consumption per process.
+
* Append by the Android sensors.
+
 
|-
 
|-
 
|
 
|
=== Subsystem "Archives" ===
+
 
* Move resource locking from the object TValBuf to its heir to allow the global lock for group operations.
+
=== Subsystem "Data acquisition" (DAQ) === <!--T:29-->
* Create a gate module for archives of other OpenSCADA stations.
+
* (*) Adapt for [[Fund/Electronic parts|the low level electronic parts]].
 +
* [[Special:MyLanguage/Modules/OPC_UA|OPC-UA]]
 +
{{#lst:Modules/OPC_UA/en|ToDo}}
 +
* [[Special:MyLanguage/Modules/MMS|MMS]]
 +
{{#lst:Modules/MMS|ToDo}}
 
|-
 
|-
 
|
 
|
=== Subsystem "Special" ===
+
 
 +
=== Subsystem "Archives-History" === <!--T:18-->
 +
* Create a gate module to archives-history of other OpenSCADA stations.
 
|-
 
|-
 
|
 
|
=== Subsystem "User interfaces" ===
 
==== [http://wiki.oscada.org/HomePageEn/DOC/QTStarter QTStarter] ====
 
* Expand to implement the project management functions, mostly to omit a "dialog" program lack and for Android.
 
* Projects list into the system (pre-installed) and the user's folder to the projects selection by a work folder changing to the one of the project. Then the project of pure starting/managing can provide only the module UI.QTStarter.
 
* Managing operations of project: add, remove, rename.
 
* Language selection for the selected project.
 
* Manager of sub-projects to their starting into different processes but with the ones storing and managing into the single configuration file of the project, for reliable configurations.
 
* Manager of the background, daemon processes.
 
 
==== [http://wiki.oscada.org/HomePageEn/DOC/WebVision WebVision] ====
 
* (+) Implement the oriented primitive "Text" by a CSS rule.
 
* (+) Move the XHTML part of a page to an separated file like the JavaScript one. All generic CSS rules move to the XHTML file.
 
* (+) Append the tool window "Calendar" to the primitive "FormEl" views "Date" and "DateTime".
 
* (+) Make an independent transparent box for the transparent widget's background.
 
* (+) Visualizer specific attributes support/request add. Add an attribute of the aspect ratio saving of the main page scale, that is "keepAspectRatio".
 
* (+) Scaling of the main page context to all Web-browsers space add.
 
* (+) Implement for views "Slider bar" and "Scroll bar" (just as Slider now) of the primitive "FormEl".
 
* (+) Implement for a view "Table" of the primitive "FormEl".
 
* (+) Implement for a view "Tree" of the primitive "FormEl".
 
* Expand the view "Button" of the primitive "FormEl" for extended modes.
 
* Expand the view "Table" of the primitive "FormEl" for user sorting by the selected column.
 
* Append the user-accessed general panel with functions: The project documents call, Export, Print, Alarm statuses, User control-change, Style control-change.
 
* ''ElFigure,Diagram'': enable or make the anti aliasing.
 
* Implement primitives "Diagram", "ElFigure" and some "FormEls" into the tag "canvas" and/or "SVG".
 
* Append checking for connection and its lost detection with a dialog to that indication and some doings.
 
* User's interface translation by a selected user language.
 
  
==== [http://wiki.oscada.org/HomePageEn/DOC/VCAEngine VCAEngine] ====
+
=== Subsystem "Special" === <!--T:30-->
* Append image files edition user API for raster (PNG, JPEG, GIF), by LibGD2, and vector (SVG).
+
|-
:+ Append an image loading and saving its changes into the session table from user procedure, allow to edit for SVG (XML).
+
|
:- Implement for main functions of the GD object (into [http://wiki.oscada.org/HomePageEn/DOC/FLibSYS Special.FLibSYS]).
+
=== Subsystem "User interfaces" ===
 
+
* [[Special:MyLanguage/Modules/QTStarter|QTStarter]]
==== [http://wiki.oscada.org/HomePageEn/DOC/VCAEngine VCAEngine],  [http://wiki.oscada.org/HomePageEn/DOC/Vision Vision] ====
+
{{#lst:Modules/QTStarter/en|ToDo}}
* Move requests to the VCA Engine for asynchronous for RunTime and Development modes. For RunTime use a dialog with "Retry now" and for Development one use a way like to UI.QtCfg.
+
* [[Special:MyLanguage/Modules/WebVision|WebVision]]
* Implement for view "Table" of the primitive "FormEl".
+
{{#lst:Modules/WebVision/en|ToDo}}
:+ Implement for the generic display mode.
+
* [[Special:MyLanguage/Modules/VCAEngine|VCAEngine]]
:+ Implement for the edition mode of content of the cells.
+
{{#lst:Modules/VCAEngine/en|ToDo}}
:- Run-time management for rows and columns.
+
* [[Special:MyLanguage/Modules/WebCfgD|WebCfgD]]
* Make for pages list into a project to ordered for hand-fix — for allow controlled order switch.
+
{{#lst:Modules/WebCfgD/en|ToDo}}
* Background execution of the edited pages into the development mode — further for visual diagram forming jointly [../Doc/BlockCalc BlockCalc] and DAQ-sources at all.
+
 
+
==== [http://wiki.oscada.org/HomePageEn/DOC/VCAEngine VCAEngine], [http://wiki.oscada.org/HomePageEn/DOC/Vision Vision], [http://wiki.oscada.org/HomePageEn/DOC/WebVision WebVision] ====
+
* User-space global menu append by the project-specific properties.
+
* Primitive "Diagram" and some other append forming into the primitive "Document" as an image on file system and allow its embedding to the document. For now you can manually use the SVG graphics to build like ones images.
+
* Append a messages history browsing to the project "Archive" of the VCA library.
+
* Develop the "Function" primitive.
+
* Develop the "Link" primitive.
+
* Implement for dynamic frames developing by placing the shapes of the [http://wiki.oscada.org/HomePageEn/Doc/BlockCalc BlockCalc] blocks and the DAQ-sources at all and the related objects creation into OpenSCADA objects model.
+
* Attribute "var" append to the element of the graphics group to allow for its control by a panel for pure parameters, which the signals set is mostly.
+
 
+
==== [http://wiki.oscada.org/HomePageEn/DOC/WebCfgD WebCfgD] ====
+
* (+) Shade main window on some dialog box open.
+
* (+) Fix expanding the internal area outward to frame. Append holder for changing the tree's block horizontal size.
+
* (+) Fix for no highlight of copy items to self, as the graphics template.
+
* (+) Fix for allow appending to an empty list element.
+
* (+) Clean and some expand the generic types of the fields.
+
* (+) Add support of call Documents-help (mostly for online documents from http://wiki.oscada.org).
+
* (+) Implement the vertical adjustment to fit for the allowed space for fields of text-area, list and table.
+
* Context of the table of the fields set limited for too big data.
+
 
+
==== [http://wiki.oscada.org/HomePageEn/DOC/QtCfg QtCfg] ====
+
* Append to the tree part the tabs and the tab "Chosen" for procedures, like import, or other fast access.
+
 
|}
 
|}
 +
</translate>

Latest revision as of 21:46, 26 February 2025

Other languages:
English

On this page you can get the "To Do" list and a tasks pool of the project. The "To Do" list is not connected to the time ranks, but it's structured by subsystems. The "To Do" list and pool are provided to represent the general development picture, and to post notes for the developers' examination. The developers can append, apply and note the tasks for themselves.


1 Documentation

2 Site of the project

  • Using of the OpenSCADA Web-functions for complex and management pages at the main site: fund and tasks control, works and solutions pool for implement by the participants.
  • Redraw the project logotype and splash.
  • Expand of the funding, donating and payment.
  • Update, refresh the project gallery and link it to the Wiki images.

3 OpenSCADA libraries and projects

- Implement templates for accessing different BLE and WiFi low-level devices like to Smart Bulbs, Plug, Switch, ... .
- move to the DAQ-templates after their conception expanding for the internal links (+) and the DAQ.BlockCalc expanding for using the DAQ-templates.
- move the graphical part items to all work through the prescription manager, for the possibility to distribute the parts remotely.
- expand the document "Year report of the month values" in processing the manual entered counters overrun;
- expand the document function "Diagram" in support the bar graphs.
- creation own branding of the automation kind for: the Grub loader screen, the default wallpaper of the Desktop, the boot splash, ...
- VCA: graphical links implementing:
- implementing without the linking specific and as the typical Widget for simple line;
- implementing the linking — graphical drawing at pressing the left mouse and finishing at release, store the standard mode;
- implementing the nodes and graphical linking to the nodes;
- extended decoration.
- implementing the service commands-functions for default — no container sources
- implementing the service commands-functions for DAQ.LogicLev and for the followed VCA implementations
- VCA: implementing of linking the VCA Widget Libraries to the DAQ control libraries: loading, saving
- VCA: implementing of the graphical and logical linking: sockets description and graphical representing, simple links, grouping links
- VCA: implementing of the procedures specifying and transmitting
- implementing the service commands-functions for DAQ.BlockCalc and DAQ.JavaLikeCalc
- implementing the service commands-functions for MTP
- creating libraries for some languages of IEC 61131-3
- connect the device sensors to OpenSCADA
- connect GPS and maps to OpenSCADA
- append audio and video writing in OpenSCADA
- adapt for the scanning-photo functions under OpenSCADA control with reading the barcodes
- OpenWrt > installing the OpenWrt firmware
- OpenWrt > testing the generic finctions
- OpenWrt > building, starting and testing OpenSCADA

4 Testing, optimization and fixing

  • UI.{Vision,WebVision}: Complete revision the primitive "ElFigure" implementation, what needs:
- BUG: selecting multiple figures at hold the key "Ctrl";
- BUG: clearing the copy buffer after selected items copy — impossible for the copy repeat;
- BUG: selecting upper figure's point in the moving operations;
- checking for alignment of the coordinates;
- performance optimisation;
- revision for events processing.

5 Program/System generic

  • Add user properties to the Control Node object by a pointer with their activation at use:
- add registration of connection-blocking node at AutoHD() and use this information in the blocking message, in debug mode;
- DAQ.JavaLikeCalc: add definition and call of user functions in object properties.
  • Move all user creating objects under ACL.
  • Expand dimension of the internal time from microseconds and up to nanoseconds. Previously append support for PicoScope 2000.
  • Work out for developing, using, integration to solutions, concept of the OpenSCADA project support. Expand the community by targeting on the implementation control of:
    • tasks: tasks pool, fund and fundraising; developers register, ranks for participate into the tasks.
    • solutions: register a task of the solution implementation (by consumer), set demands to the task and performer, set the price limit; each performer propose self price; consumer select a performer. Commission from the order price to the project is 10%.
  • Adapt to the software platform Android:
- update the building environment to Android 10, unify and archive the old environments (the first try in the chroot Android_5_TRY.txz), append the building procedures by targets of automatic building the Android packages;
- build Qt6 with WebEngine and Multimedia support;
- append all external windows of the runtime mode of the module Vision for items of their closing and for centring.
  • Move completely from GD2 to SVG on Web, that is: the Diagram primitive, the ElFig primitive with complete refactoring.
  • Adapt to the software platform QNX:
+ get for some QNX platform representation => due to the deep closing, but yet using OpenSource, this OS is not allowed in free and there was bought a used hardware based on BlackBerry, that is "BB PlayBook", that is not actual already due to the main supporting resources are DEAD;
- start an adaption subproject and place here the preadaption achievements from Sergey Doroshka;
- build the pure console program;
- build the full-featured Qt-GUI program on Photon.
  • Adapt to the software platform MS Windows®:
+ adapt for the modules linking with the OpenSCADA core library directly, for DLL restrictions;
- start an adaption subproject;
- describe the original start of OpenSCADA as a Linux program on MS Windows, using WSL;
- initiate the OpenSCADA building for the MS Windows environment.

6 Subsystem DB

- implementation the local cache for the function fieldSeek() by the deep seeking to the XML-context on the remote part.
- specific DBMS properties: quotes for names and values (there are generic and standard ones), ... ;
- OpenSCADA internal DB's layer function fieldStruct() implementation for generic SQL dialects and DBMS specific;
- OpenSCADA internal DB's layer functions fieldSeek(), fieldGet(), fieldDel() implementation for generic SQL dialects and DBMS specific;
- OpenSCADA internal DB's layer functions fieldDel() implementation for generic SQL dialects and DBMS specific;
- generic tests passing for: SQLite(there are some problems in allowed connectors), MySQL, PostgreSQL, FireBird;
- testing an ODBC connector for DBMS Oracle.
- expand the authentication mechanism by the storage functions (the DB object), that is virtual functions to TBD:
  • auth() — direct checking the user authentication, through "bind" or ldap_whoami();
  • passHash() — obtaining the password hash, to comparing, if auth() is missed, and changing the password by the function ldap_passwd() or see to the utility slappasswd.
- expand the "OSCADA-user" scheme:
  • set the password field "PASS" as a synonym of "userPassword";
  • make the own scheme dependent from "simpleSecurityObject";
  • check of working with the field-type "userPassword".

7 Subsystem "Transports"

  • Implement an agent of the SNMP protocol, an examples are in NUT.
  • Create a gate module to the transports of other OpenSCADA stations.
  • Sockets interfaces
- append of support AF_BLUETOOTH sockets for direct requesting BLE devices.
- test the modem mode and append to it for the PIN entering field.

8 Subsystem "Transport Protocols"

  • Create WebSockets support as the first wrapping protocol.

9 Subsystem "Data acquisition" (DAQ)

- append the automatic creation for input transports and their pre-configuration from the EndPoint object properties;
- observe deeply the Publish service for the packages loss and the Republish request sending;
- append for support of the history services of the server part, seeing and testing against UAExpert negotiation;
- append for support of the history services of the client part.
- add for sessions support, optionally;
- implement IEC-60850 and test with "libiec60850".

10 Subsystem "Archives-History"

  • Create a gate module to archives-history of other OpenSCADA stations.

11 Subsystem "Special"

12 Subsystem "User interfaces"

- implement for manager of subprojects of their starting in different processes but with the ones storing and managing into the single configuration file of the project, for high reliable configurations;
- implement for manager of the background-daemon processes.
* revise and unify the keyboard focus forcing on a first active element considering them specifity, to ensure the keyboard shortcuts;
- expand the primitive "Diagram" by the mouse scaling operations;
- implement own RTE-editor for the view Text of the primitive FormEl;
- ElFigure: fix some properties loss (line width at the least) at the actions processing, in the way of the primitive code common refactoring;
- expand the status-bar, with the functions:
- printing and exporting the Diagram primitive after it moving to "SVG".
- ElFigure,Diagram: enable or make the anti aliasing, for the library GD;
- implement the primitives "Diagram", "ElFigure" in the tag "SVG";
- expand the variant "Animation" of the primitive "Media" in using the raw image files, like to PNG.
- append the image files edition user API for raster (PNG, JPEG, GIF), by LibGD2, and vector (SVG):
- implement the main functions of the GD object (into Special.FLibSYS).
... for Vision also ...
- move the runtime requests to VCAEngine in the asynchronous mode;
 !> has a problem with processing recursive events into event(), in the case of the mouse release events loss in processing the pressing mouse event.
- implement the background execution of the edited pages in the development mode, for the visual diagram forming jointly BlockCalc and DAQ-sources at all.
... for Vision and WebVision also ...
- append for the user-space global menu by the project-specific properties;
- develop the block diagrams forming (dynamic frames) from the GUI;
* adapt the widget libraries and the VCA projects to the inter-host copy.
- implement non locking access to the external stations;
- implement the syntax highlighting for Text fields.