Skip to content
This repository was archived by the owner on May 20, 2019. It is now read-only.

Grammar & Spelling Doctoring #34

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
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
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
# Bulk API Project

Magento uses Web API to cover the persistence operations of the business entities from the external clients. Some integrations require massive invocation of the Web API while persisting entities from the external systems. Usually it causes perfoemance and scalability issues both on the Magento system and on the external clients. This project is intended to provide a way for persisting big amounts of data in the Magento in efficient scalable way for the external system.
Magento uses Web API to cover the persistence operations of the business entities from the external clients. Some integrations require massive invocation of the Web API while persisting entities from the external systems. Usually, it causes performance and scalability issues both on the Magento system and on the external clients. This project is intended to provide a way for persisting big amounts of data within Magento in an efficient, scalable way for the external system.

Documentation https://github.com/magento/bulk-api-ce/wiki

## Goals

1. Implement support of asynchronous invocation of the magento Web API endpoints: requested operation should not be performed imediatedly, but rather saved to the queue for the later processing.
1. Implement support of asynchronous invocation of the Magento Web API endpoints: requested operation should not be performed immediately, but rather saved to the queue for the later processing.
2. Support invocation of the CRUD APIs with the multiple entities in one request
3. Support of the status tracking API for asyncronous operations
4. Improve performance of persistence operations for the key entities like catalog in the Magento business logic. Resolve deadlocks.
3. Support of the status tracking API for asynchronous operations
4. Improve performance of persistence operations for the key entities like the catalog in the Magento business logic. Resolve deadlocks.

## Design
Technical vision for the Bulk API: https://github.com/magento-engcom/bulk-api/wiki
High Level design for asynchronous operations: https://github.com/magento-engcom/bulk-api/wiki/Asynchronous-Web-API
High-Level design for asynchronous operations: https://github.com/magento-engcom/bulk-api/wiki/Asynchronous-Web-API

## Tasks Board

We are using [ZenHub](https://www.zenhub.com/) board to manage stories and tasks and build burndown chart for them. Please install browser pluin to get all teh features of this application.
We are using [ZenHub](https://www.zenhub.com/) board to manage stories and tasks and build burndown chart for them. Please install the browser plugin to get all the features of this application.

The Kanban board: https://app.zenhub.com/workspace/o/magento-engcom/bulk-api

## Contributing

Currently, all the functionality of the Message Queue and RabbitMQ integration is part of the Magento EE edition. Most stories as a part of the Bulk API track relies on the Message Queue interfaces. There is already a product decision made of moving the interfaces from the EE to CE edition of Magento.

All the [Solution Partners](https://magento.com/find-a-partner) of Magento and developers affiliated with them should have access to the EE repositories for this project. If you don't have it yet, please write us at engcom@magento.com
All the [Solution Partners](https://magento.com/find-a-partner) of Magento and developers affiliated with them should have access to the EE repositories for this project. If you don't have it yet, please write to us at engcom@magento.com

If you are not the Solution Partner but still want to contribute, completion of moving of the Message Queue interfaces to CE should be a prerequisite for this task.

Expand All @@ -39,11 +39,11 @@ cd bulk-api-ce
git clone https://github.com/magento/bulk-api-ee.git
php -f bulk-api-ee/dev/tools/build-ee.php -- --ce-source=. --ee-source=bulk-api-ee --command=link
```
This will clone the repositories and create symlinks from the EE to CE. PLease note that EE is cloned to the subdirectory of CE. This is needed to resolve the templates files references.
This will clone the repositories and create symlinks from the EE to CE. Please note that EE is cloned to the subdirectory of CE. This is needed to resolve the templates files references.

### Running RabbitMQ

1. Start Docker container for RabbitMQ 3 with the management plugin and expose AMQP port and Admin UI port:
1. Start Docker container for RabbitMQ 3 with the management plugin and expose the AMQP port and Admin UI port:
```
docker run --hostname localhost -p 5672:5672 -p 15672:15672 rabbitmq:3-management
```
Expand Down Expand Up @@ -118,4 +118,3 @@ http://magento.loc/rest/V1/products POST
4. add `/async` prefix to the Web API endpoint `rest/V1/products` => `rest/async/V1/products`
5. Send request. Navigate to RabbitMQ and see message in the Queue
6. Navigate to the System => Bulk Actions to see the UI of bulk operations and new operation there