OpenSCADAWiki: Home Page En/Works/ To Do ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 (2 Кб) This page is frozen, actual one here.

To do and tasks' pool of the project OpenSCADA

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.


1. Documentation

2. Project's site

  • New OpenSCADA Wiki engine select from WackoWiki 5.4 or MediaWiki. In the main criterions:
    • 10*[10,?] compatibility or simplicity for the original Wiki content migration;
    • 9*[0,5] multilanguage from box;
    • 8*[0,10] UTF-8;
    • 9*[8,?] big page's content;
    • 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:
  • 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.

3. 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:
- Copy buffer clearing after copy selected items, impossible for copy repeat.
- Fix selecting upper figures point instead early selected any lower on the point moving try.
- Flaws between adjacent inundations, often for not orthogonal angles.
- The edit mode broken at any project execution in runtime.
- Mirroring lack and problems here to append its by the code's original style bad.

4. System generic

  • OpenSCADA project's developing, using, to solution integration, support concepts moments work out:
    • Expand the community targeting to tasks implement control: tasks pool, fund and fundraising; developers register, ranks for participate into the tasks.
    • 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%.
  • Prepare and form achievements into firmwares and builds for "ICP DAS" LinPac (LP) to product.
  • Direct adapting OpenSCADA parts to IPv6.
  • Adapting to Android:

+ purchase a modern internet tablet with Android;
+ read a book about Android NDK, using of Android NDK and Crystalx-NDK;
+ compiling for tests, education and execution;
+ initially (minimum) build and execute OpenSCADA for console (without GUI): PCRE, OpenSCADA Core, builtin modules: Transport.Sockets, Protocol.SelfSystem, DAQ.JavaLikeCalc, Special.FLibMath;
+ make the performance tests for Soft and Hard float;
+ compile for all OpenSCADA key modules to include/builtin them into the core;
+ compile for needed external libraries: OpenSSL, SQLite, GD [expat,libpng,jpeg,fontconfig,freetype], intl, iconv;
+ rebuild all already built parts into the original Ndk (outward the standalone one);
+ build Qt5: in the default configuration, with the early built libraries;
+ initial build OpenSCADA with Qt5;
+ build and observe an example of Qt5 as a Java package (APK);
+ adapt OpenSCADA to Qt5 on Android and build as a Java package (APK); get the program's locale from Java environment and set it to environment LANG;
+ the Java package (APK) resolve for different data files placing and fill in by: OpenSCADA icon and main images, configuration files, files of translation of the interface, files of DB and other of the libraries and models;
+ OpenSCADA main functions related to Qt restore and fix: Qt5 builds with soft-float but hard-float causes the mostly problems; two branches were created, based on CrystaX NDK r10 (from ABI 19) and Original Ndk r13 (from ABI 21); default interface style was set to "fusion";
- Some Android specific expandings of the project OpenSCADA:
  • update Asus Nexux7 to Android 5 or more and check for the build on original NDKr13 and for ABI 21 and more.
  • work out for possibility of deploy in separated packages: "core" (with all binaries, data and means for user's projects creation); "pre-installed" projects and models (with the project or model data and using all libraries and data from the "core" package);
  • make some redesign for main page of UI.QTStarter but the tittle image is too small for big resolutions of screens;
  • expand the module UI.QTStarter for the OpenSCADA projects management function;
  • add for using QtWebView for last Qt5 and at QtWebKit miss.
  • expand for the module DAQ.System by the Android sensors.

  • Adapting to MS Windows:
+ 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.

5. Subsystem DB

  • Expand description for access to DB by user API, firstly by extValue().
  • Module ODBC implementation:
+ Main functions implement for generic SQL requests, testing for: SQLite, MySQL, PostgreSQL, FireBird.
- Specific DBMS properties: quoters for names and values, ...
- OpenSCADA internal DB's layer function fieldStruct() implement to generic SQL dialects and DBMS specific.
- OpenSCADA internal DB's layer functions fieldSeek(), fieldGet(), fieldDel() implement to generic SQL dialects and DBMS specific.
- OpenSCADA internal DB's layer functions fieldDel() implement to generic SQL dialects and DBMS specific.
- Generic tests pass for: SQLite, MySQL, PostgreSQL, FireBird.
- Test for DBMS Oracle ODBC connector.
  • Create DB module for OpenLDAP.
  • Create a gate module to other OpenSCADA station's DBs.

6. Subsystem "Transports"

  • Implement for an agent of the SNMP protocol. Examples are into: NUT.
  • Create a transport for MQ .
  • Create a gate module to other OpenSCADA station's transports.

7. Subsystem "Protocols of transports"

7.1. HTTP

  • Adapting for include and built-in to TYPO3, WackoWiki and other pages for allow build control interfaces by OpenSCADA further.

8. 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 values for scale to maximum and minimum into sources by FIFO mostly, and provide values into archive by engineer measure units.

8.1. ICP DAS

  • Asynchronous and group writing support, mostly for I87x.

8.2. Comedi

  • Append for working with FIFO, by board Diamond Systems DMM-32X-AT.

8.3. Siemens

  • Review for protocols MPI and SPI, check for possibility direct using its through pure RS-232/485.

8.4. 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.

8.5. System

  • Append by the system memory consumption per process.
  • Append by the Android sensors.

9. Subsystem "Archives"

  • Move resource locking from the object TValBuf to its heir to allow the global lock for group operations.
  • Create a gate module for archives of other OpenSCADA stations.

10. Subsystem "Special"

11. Subsystem "User interfaces"

11.1. 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.

11.2. 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.

11.3. VCAEngine

  • 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 Special.FLibSYS?).

11.4. VCAEngine, Vision

  • 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.
  • Implement for view "Table" of the primitive "FormEl".
+ Implement for the generic display mode.
+ Implement for the edition mode of content of the cells.
- Run-time management for rows and columns.
  • Make for pages list into a project to ordered for hand-fix for allow controlled order switch.
  • Background execution of the edited pages into the development mode further for visual diagram forming jointly BlockCalc and DAQ-sources at all.

11.5. VCAEngine, Vision, 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 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.

11.6. 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
  • (+) 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.

11.7. QtCfg

  • Append to the tree part the tabs and the tab "Chosen" for procedures, like import, or other fast access.

Referring pages: HomePageEn/Server

There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]