Works/To do - OpenSCADAWiki

# Works/To do

This page contains changes which are not marked for translation.

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 Wiki pages those need to the translation creation or updating: API OpenSCADA Logical level of parameters of OpenSCADA; Data acquisition and visualization system of the boiler #1 of workshop of CHP Plant; DAQ.AMRDevs; http://wiki.oscada.org/Doc/OperatorManual. Wiki pages that need updating or revision: Revise the project 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: BlockCalc, DCON, ICP_DAS, DiamondBoards, Comedi, SMH2Gi; Values archiving. New documents: Create a separate WIKI-page of the "Smart Home" project on the OpenSCADA server. DAQ.MMS; DB.ODBC.
### 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 Low level sensors and chips library - Implement templates for accessing different BLE and WiFi low-level devices like to Smart Bulbs, Plug, Switch, ... . Regulation elements library - move to the DAQ-templates after their conception expanding for the internal links (+) and the DAQ.BlockCalc expanding for using the DAQ-templates. Prescriptions - move the graphical part items to all work through the prescription manager, for the possibility to distribute the parts remotely. Reports' and documents' library - 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. Automation Linux distributive of the project OpenSCADA - creation own branding of the automation kind for: the Grub loader screen, the default wallpaper of the Desktop, the boot splash, ... Graphical PLC Programming in OpenSCADA - 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 Open Phone — PinePhone - 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 NETGEAR R6220 - 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 DB gate - implementation the local cache for the function fieldSeek() by the deep seeking to the XML-context on the remote part. DB by ODBC - 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. Directory by LDAP - 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. Serial interfaces - 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) (*) Adapt for the low level electronic parts. OPC-UA - 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. MMS - 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" QTStarter - 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. WebVision * 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. VCAEngine - 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. WebCfgD - implement non locking access to the external stations.

Works/To_do/en - GFDL | July 2026 | OpenSCADA 1+r3070