GSoC/2018/StatusReports/AndreyCygankov: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2018‎ | StatusReports
(Created page with "== LabPlot: support for import data from web-service == Currently, LabPlot has support for data sources, such as files, SQL databases, serial ports, etc. This project aims to...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 11: Line 11:
== Work report ==
== Work report ==
=== Community Bonding Period ===
=== Community Bonding Period ===
To be done.
During the period I analyzed the code of already designed features - [https://github.com/KDE/labplot/blob/master/src/backend/datasources/filters/AsciiFilter.cpp AsciiFilter], [https://github.com/KDE/labplot/blob/master/src/backend/datasources/filters/BinaryFilter.cpp BinaryFilter], [https://github.com/KDE/labplot/blob/master/src/backend/datasources/LiveDataSource.cpp LiveDataSource] and etc.
=== Coding Period - Phase one (May 14th to June 12th) ===
=== Coding Period - May 14th to June 11th ===
To be done.
During these weeks I've been working on one of the main feature - importing files in the JSON format.
What was developed:
*Initial JsonFilter code for importing JSON data into LabPlot spreadsheets.
*Tests for this filter features.
*GUI for working with this filter, which was added to the current file import dialog.
=== Coding Period -  June 12th to July 13th ===
Over this time the import of JSON files has been significantly improved.
Was implemented the feature to overview the structure of JSON file and pick data for import by selecting an item in the file structure.
How it is implemented: a QTreeView has been added to the ImportFileWidget and to fill ithas been used QJsonModel.
QJsonModel has several differences from the [https://github.com/dridk/QJsonModel original]: display of icons for objects, arrays, root element of the document and more.
=== Coding Period -  July 14th to August 14th ===
During this period, the code was added for the initial implementation of the features:
* JsonFilter live data support.
* A new live data source: a WebService (GET request).
There were some issues to fix: the AsciiFilter incorrect work with WebService, POST and PUT request type in WebService source, bugs in JsonFilter with live data reading types, and some else.
== Branch where I am working ==
[https://cgit.kde.org/labplot.git/log/?h=gsoc2018_json Project branch]
 
[https://cgit.kde.org/labplot.git/log/?qt=author&q=Cygankov My commits on LabPlot's master branch]
== Important Links ==
== Important Links ==
=== Blog Posts ===
[http://andreycyg.blogspot.com/2018/05/google-summer-of-code-with-kde.html Google Summer of Code with KDE]
=== Proposal Link ===
=== Proposal Link ===
[https://drive.google.com/file/d/1sVZubo14OD4Ee8JbAYO_BLuxxUJxJhxU/view?usp=sharing Project proposal]
[https://drive.google.com/file/d/1sVZubo14OD4Ee8JbAYO_BLuxxUJxJhxU/view?usp=sharing Project proposal]

Latest revision as of 15:24, 14 August 2018

LabPlot: support for import data from web-service

Currently, LabPlot has support for data sources, such as files, SQL databases, serial ports, etc. This project aims to expand this list with the feature to use JSON documents and web-services as data sources.

Mentors: Alexander Semke

Project goals

  • Support of import JSON documents.
  • Support of using web-services as a data source.
  • Support of using web-services as a live data source.
  • Creating and using settings for specific web-services.

Work report

Community Bonding Period

During the period I analyzed the code of already designed features - AsciiFilter, BinaryFilter, LiveDataSource and etc.

Coding Period - May 14th to June 11th

During these weeks I've been working on one of the main feature - importing files in the JSON format. What was developed:

  • Initial JsonFilter code for importing JSON data into LabPlot spreadsheets.
  • Tests for this filter features.
  • GUI for working with this filter, which was added to the current file import dialog.

Coding Period - June 12th to July 13th

Over this time the import of JSON files has been significantly improved. Was implemented the feature to overview the structure of JSON file and pick data for import by selecting an item in the file structure. How it is implemented: a QTreeView has been added to the ImportFileWidget and to fill ithas been used QJsonModel. QJsonModel has several differences from the original: display of icons for objects, arrays, root element of the document and more.

Coding Period - July 14th to August 14th

During this period, the code was added for the initial implementation of the features:

  • JsonFilter live data support.
  • A new live data source: a WebService (GET request).

There were some issues to fix: the AsciiFilter incorrect work with WebService, POST and PUT request type in WebService source, bugs in JsonFilter with live data reading types, and some else.

Branch where I am working

Project branch

My commits on LabPlot's master branch

Important Links

Blog Posts

Google Summer of Code with KDE

Proposal Link

Project proposal

Contacts

E-mail: [email protected]

IRC: andreyc

Telegram: @acygankov

Github: acygankov