From OpenSCADAWiki
Jump to: navigation, search
Line 12: Line 12:
 
|
 
|
 
=== Documentation === <!--T:12-->
 
=== Documentation === <!--T:12-->
 +
* Append the offline documentation generation for the navigation tree as a different page in the frame of each page.
 
* Wiki pages that need the translation creation or updating:
 
* Wiki pages that need the translation creation or updating:
 
** [[Special:MyLanguage/Sub-projects/Logical_level|Logical level of parameters of OpenSCADA]];
 
** [[Special:MyLanguage/Sub-projects/Logical_level|Logical level of parameters of OpenSCADA]];
Line 23: Line 24:
 
** [[Special:MyLanguage/Sub-projects/Values_archivation|Values archiving]].
 
** [[Special:MyLanguage/Sub-projects/Values_archivation|Values archiving]].
 
* New documents:
 
* New documents:
** Create a separate WIKI-page of the "Smart Home" project on [[Special:MyLanguage/Sub-projects/Server|the OpenSCADA server]]. Move the project to the multilingual mode.
+
** Create a separate WIKI-page of the "Smart Home" project on [[Special:MyLanguage/Sub-projects/Server|the OpenSCADA server]].
 +
*** (+) Move the project to the multilingual mode.
 
** Create the How to "Create the multilanguage OpenSCADA project";
 
** Create the How to "Create the multilanguage OpenSCADA project";
 
** [[Special:MyLanguage/Modules/MMS|DAQ.MMS]];
 
** [[Special:MyLanguage/Modules/MMS|DAQ.MMS]];

Revision as of 08:51, 21 June 2021

Other languages:
English

On this page you can get a "To Do" list and a tasks pool of the project. The "To Do" list is not connected to the time ranks, but it is 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.

4 Testing, optimization and fixing

  • At.png [TESTING] Implement the asynchronous writing with a function of preventing the data loss on the time of the connection missing for the key DAQ-modules of the OpenSCADA internal procedures: DAQGate, ICP_DAS, DCON. The function is currently tested on the module ModBus.
  • UI.{Vision,WebVision}: Complete revision of 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

  • Develop the text highlighting rules building in the comments of the custom text rules.
  • Develop the possibility of copy OpenSCADA configuration parts together their translation on all available languages, useful for copy the multilanguage parts in own multilanguage libraries or projects.
  • Develop the pure demo and the TP-mode on the certificates base in the keys of the subscription on a TP-package: prevent writing and form the notification dialogues.
  • Work out for developing, using, integration to solutions, concept of the support of the OpenSCADA project. Expand the community targeting for 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%.
  • Prepare some solutions as OpenSCADA products:
    • Common packages of 0.9 LTS as a product — developing the service updates of the 0.9 LTS in the pure demo mode before applying a key of the TP support;
    • Android packages;
    • Firmwares and builds for "ICP DAS" LinPac (LP).
  • 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.
  • Adapt to the software platform QNX:
+ get 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";
- start the adaption sub-project 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 the adaption sub-project;
- 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 into: NUT.
  • Create a gate module to the transports of other OpenSCADA stations.
  • Serial interfaces
- test the modem mode and append to it for the PIN entering field.

8 Subsystem "Protocols of the transports"

9 Subsystem "Data acquisition" (DAQ)

+ test the library libiec60850;
+ write an own MMS implementation, mostly for the mode without sessions on ABB-800, complete replacing libiec60850;
- add for sessions support, optionally;
- implement IEC-60850 and test with "libiec60850".
- 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.


-
-

10 Subsystem "Archives"

  • Move the critical section lock from the object TValBuf to its heir, to allow the global lock into the group operations.
  • 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.