Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asynchronous Import #330

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

43 changes: 43 additions & 0 deletions design-documents/asynchronous-import/asycnhronous-import.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Asynchronous Import as separate service

Main idea of extension is to replace current Import module with new implementation that will allow to users import objects in Magento by using Asynchronous approach.

## Workflow

- Upload source data to instance storage (optional step);
- Retrieve source data from Source (partial reading);
- Parse source data;
- Apply data converting rule;
- Exchange data with Magento instance via Bulk API Service contracts / Bulk API REST (partial processing);
- Later an user can request balk status of import and resubmit objects which were failed during the import;

## REST API

- [REST API](rest-api.md)

## Modularity (API / Extension points)
Copy link
Contributor

@tariqjawed83 tariqjawed83 Nov 8, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1- It will be helpful to add a diagram to show the flow of interaction between the modules!
2- A simple class / interface UML diagram will make it really easy to grasp the concepts


- [Start Import based on CSV data (main entry point)](modularity/import-csv.md)
- [Source data retrieving](modularity/source-data-retrieving.md)
- [Data converting before import](modularity/data-converting.md)
- [Data exchanging with Magento instance](modularity/data-exchanging.md)
- [Import advanced pricing](modularity/advanced-pricing.md)

## MVP

[MVP Board](https://app.zenhub.com/workspaces/async-import-5b5f349bd6768d6255917727/reports/burndown?milestoneId=4625823)

- Sources data retrieving: *HTTP, HTTPS, base64*;
- CSV reader;
- Data Converting Rules;
- Import Data Exchanging;
- Import configuration;
- Product import;
- Stock status import;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit confused with stock status. You mean Stock QTY and not only enabled/disabled?
Also how about differentiate Single Stock and MSI source/stock?

- Advanced pricing import;
- Documentation;

## TODO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets change a Priorities here

  • Design of Import configuration;
  • Design of Get Import status;
  • Design of Import processing - Sync / Async
  • Design of Restart failed operations;

- Design of `Import configuration`;
- Design of `Restart failed operations`;
- Design of `Get Import status`;
Loading