From OpenSCADAWiki
Jump to: navigation, search
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

- to combine the 1W templates in one complex and append 1W to work through GPIO directly.
- 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 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 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:
- append all external windows of the runtime mode of the module Vision for items of their closing and for centring;
- resolve the problem of the dock panels width of the module Vision;
- build packages for Android as a pure demo with switching to the full-featured mode by a key of the technical support;
- release packages for Android as a product.
  • 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.
+ main functions implementation for generic SQL requests, testing for: SQLite, MySQL, PostgreSQL, FireBird;
- 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".
- adapt to UAExpert 1.5;
- append the authentication support for the input protocol part;
- append the automatic creation for input transports and their pre-configuration from the EndPoint object properties;
- implement the request-service "Publish" and chunks into the client part;
- 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;
- implement the transport HTTP/SOAP.
- append measuring of the system memory consumption per process or group of the processes.

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 a manager of sub-projects of their starting into different processes but with the ones storing and managing into the single configuration file of the project, for high reliable configurations;
- implement for a manager of the background-daemon processes.
- expand the view "Table" of the primitive "FormEl" for user sorting by the selected column;
* expand the status-bar, with the functions:
- export and print;
- call of the project documents;
- alarming-notification by sound and speech.
- 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;
+ implement the variant "Full video" of the primitive "Media".
- append the image files edition user API for raster (PNG, JPEG, GIF), by LibGD2, and vector (SVG):
+ append the images loading and saving their changes into the session table from the user procedures, allows to edit SVG (XML);
- 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.
- set up the context of the table fields to limit very big data.
- append for tabs and the tab "Chosen" with: procedures, favourite import or other fast accessing user functions.