-
Notifications
You must be signed in to change notification settings - Fork 248
MSI Roadmap
Eugene Shakhsuvarov edited this page Aug 8, 2019
·
203 revisions
Backlog which describes the deliverable state of Multi-Source Inventory project.
See current status on the Project Board
As Magento Inventory considered as a community-driven project - all the work implemented along the project will belong to Magento Open Source edition (former Magento CE).
There are 3 Milestones where we started investigation/design/coding:
- Milestone 1, Minimal Viable Product
- Milestone 2, Preparation for 2.3.0 Magento Release
- Milestone 3, New Inventory Configuration, B2B, Elasticsearch
- Milestone 4, Rest of Product Backlog
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | 1 | Introduce new API for Source Management | 28 | |
✅ | 1 | Provide Web API for Source Management | 26 | |
✅ | 3 | Manage multiple sources admin UI | 28, 37, 32 | |
✅ | 3 | Introduce APIs for products assignment to sources. SourceItem interface and its Repository. Cover source item management scenarios with Web API tests | 38, 36 | |
✅ | 1 | Read API. Stock interface and its management | 35 | |
✅ | 3 | Source assignment per each product Admin UI | ||
✅ | 1 | Sources to Stock assignment API | 39 | |
✅ | 1 | Admin UI for Sources to Stock assignment | 39 | |
✅ | 1 | Cover with WEB API all existing scenarios for SourceItem and Source to Stock linkage | 53 | |
✅ | 3 | New indexing of Inventory and creating Virtual Aggregated Stock Items based on linkage rules | 49 | |
✅ | 10 | Introduce Reservation API. Append only reservations | 64 | |
✅ | 3 | Implement runtime calculation of Stock Quantity taking into account the reservations happened | 94 | |
✅ | 3 | Implement Reservation Clean-Up | 94 | |
✅ | 3 | Default Source and Stock. Creation of Default Source and Stock for it. Including admin UI | 113, 121, 118, 122, 126 | |
✅ | 10 | Import/Export of Sources (new functionality + admin UI) | 147, 116 | |
✅ | 3 | Add Drop Shipping support | ||
✅ | 3 | Make Stock calculation and check availability services to support Backorders functionality | 156 | |
✅ | 3 | Multi Dimensional Index for Stock Inventory. Add support to invalidate all dimensions/some dimensions/partial update | 141 | |
✅ | 1 | Stock to Website mapping (with possibility of mapping to custom Sales Channels) | ||
✅ | 3 | Add Stock/Website mapping UI | 168, 173 | |
✅ | 1 | Stock Removal. Throw an exception and allow to delete just unassigned stocks | 171 | |
✅ | 1 | Website creation. We should assign Default stock to newly created website. | 165 | |
✅ | 3 | Add new index on Reservation which will update both OLD StockItem::Qty and StockStatus::Qty | 170 | |
✅ | 3 | Migration M1.X, M2.1.X -> MSI | 198 | |
✅ | 1 | Import/Export of products aware of Sources | 211 | |
✅ | 3 | Adapt OLD Cataloginventory StockItem to work through new Inventory interfaces | 198 | |
✅ | 3 | Adapt OLD Cataloginventory StockStatus to work through new Inventory interfaces | 198 | |
✅ | 3 | Checkout adaptation. Adapt CatalogInventory\StockItem configuration for Multi-Source purposes | ||
✅ | 3 | Substitute stock deduction on current checkout flow with Reservation placement. Async stock deduction | 295 | |
✅ | 3 | Admin part (order in admin panel). Substitute stock deduction in admin panel with Reservation placement | ||
✅ | 3 | Introduce Source Selection Algorithm extension point | ||
✅ | 3 | Add Source Code attribute, to provide an ability not to depend on internal Magento surrogate identity (SourceId). Fix Product and SourceItem import/export functionality, which currently use SourceId (Added to MVP backlog by request of Mark) | 307, 298 | |
✅ | 3 | Add Source Delivery awareness to Order page | 315 | Tickets |
✅ | 1 | Run Source Selection Algo by request on Order page | Tickets | |
✅ | 3 | Adapt Returns (SalesInventory). All returns should happen on Default Source | Tickets | |
✅ | 3 | Low Stock Notifications to Merchant on the level of source. | 321 | Tickets |
✅ | 1 | Product Alert for Customers on the level of stock Product Alert). | Tickets | |
✅ | 1 | Update Low Stock Report | ||
✅ | 5 | Adapt OLD CatalogInventory all other APIs | 269, 304 | Tickets |
✅ | 5 | Inventory Catalog Search | Tickets | |
✅ | 5 | Shopping Cart Update | Tickets | |
✅ | 3 | Simplest “By Priority” Algorithm implementation | Tickets | |
✅ | 1 | Processing of different order statuses. Reorder (close Reservation, create new Reservation) | ||
✅ | 1 | Processing of different order statuses. Cancel Order, Partial cancel | Tickets | |
✅ | 1 | Change qty on Invoice step of Order page | Tickets | |
✅ | 1 | Adapt All cache invalidation taking into account new extension points (new Inventory APIs) | ||
✅ | 3 | Make Source Selection Algorithm to be compatible with: Configurable product | ||
✅ | 3 | Update/Change source assignment in the existing orders | ||
✅ | 10 | Add MSI content to Merchant documentation | ||
✅ | 10 | Basic MFTF Test Coverage |
Milestone 2: Preparation for 2.3.0 Magento release, Group product type support, Mass Inventory re-assignment. Stabilization. 13th of July, 2018 - 16th of November, 2018.
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | L | Add Support of Multi-Sourcing for Grouped product | ||
✅ | L | Mass Inventory action (re-assign Source Items from/to different sources) | ||
✅ | S | Support Negative Threshold for Backorder functionality | ||
✅ | L | Prepare MSI for 2.3 Magento Release |
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
✅ | M | Full support of Multi-Sourcing in B2B edition | ||
✅ | M | Full support of Multi-Sourcing for Elasticsearch adapter | ||
XL | Add Support of Multi-Sourcing for Bundle product | |||
✅ | L | “Minimal delivery cost” Algorithm (Geo Positioning Based source selection) (Using ZIP addresses open database) | 1866 | |
XL | MFTF Test Coverage of S0/S1 scenarious | |||
XL | Store pickup support for Multi-Source Inventory | |||
✅ | L | Performance Improvements | 1937 | |
✅ | L | CLI tools for fixing corrupted reservations which affect Salable Quantity calculation | ||
✅ | S | MSI + Product GraphQL API integration | ||
✅ | M | Export aggregated stock data (Salable quantities and Stock status) |
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets |
---|---|---|---|---|
S | Add ability to specify that Source has some type (aka Dropshipper) to apply it for source selection | |||
L | Source Item Configuration API | 1553 | ||
XL | Stock Item Configuration API | 1553 | ||
M | Add an ability to assign additional sources to Default Stock (has dependencies on Bundle and Grouped product support) | |||
M | Make Default Source/Stock switchable (has dependencies on Bundle and Grouped product support) | |||
M | Reservation on the level of Source | |||
M | Stock Reservation by time (Shopping Cart reservation by time) | |||
M | Performance improvements, cover MSI with PAT scenarious | |||
M | Drop existing CatalogInventory index and fully substitute it with new one provided by MSI (has dependencies on Bundle and Grouped product support) |
- Eliminate EE functionality of ScalableInventory (S) (moved from MLS1)
- Configuration of the Shipping Options per source (M) (moved from MLS1)
- Product assignment per each source Admin UI (M) (Postponed)
- Improve modularity of Inventory. Make it agnostic to Sales, Checkout, Quote. (M)
- Integrate Source Selection Algorithm to Checkout process (XL)
Multi-Source Inventory developed by Magento 2 Community
- Technical Vision. Catalog Inventory
- Installation Guide
- List of Inventory APIs and their legacy analogs
- MSI Roadmap
- Known Issues in Order Lifecycle
- MSI User Guide
- 2.3 LIVE User Guide
- MSI Release Notes and Installation
- Overview
- Get Started with MSI
- MSI features and processes
- Global and Product Settings
- Configure Source Selection Algorithm
- Create Sources
- Create Stock
- Assign Inventory and Product Notifications
- Configure MSI backorders
- MSI Import and Export Product Data
- Mass Action Tool
- Shipment and Order Management
- CLI reference
- Reports and MSI
- MSI FAQs
- DevDocs Documentation
- Manage Inventory Management Modules (install/upgrade info)
- Inventory Management
- Reservations
- Inventory CLI reference
- Inventory API reference
- Inventory In-Store Pickup API reference
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
- Manage Low-Quantity Notifications
- Check salable quantities
- Manage source selection algorithms
- User Stories
- Support of Store Pickup for MSI
- Product list assignment per Source
- Source assignment per Product
- Stocks to Sales Channel Mapping
- Adapt Product Import/Export to support multi Sourcing
- Introduce SourceCode attribute for Source and SourceItem entities
- Assign Source Selector for Processing of Returns Credit Memo
- User Scenarios:
- Technical Designs:
- Module Structure in MSI
- When should an interface go into the Model directory and when should it go in the Api directory?
- Source and Stock Item configuration Design and DB structure
- Stock and Source Configuration design
- Open Technical Questions
- Inconsistent saving of Stock Data
- Source API
- Source WebAPI
- Sources to Sales Channels mapping
- Service Contracts MSI
- Salable Quantity Calculation and Mechanism of Reservations
- StockItem indexation
- Web API and How To cover them with Functional Testing
- Source Selection Algorithms
- Validation of Domain Entities
- PHP 7 Syntax usage for Magento contribution
- The first step towards pre generated IDs. And how this will improve your Integration tests
- The Concept of Default Source and Domain Driven Design
- Extension Point of Product Import/Export
- Source Selection Algorithm
- SourceItem Entity Extension
- Design Document for changing SerializerInterface
- Stock Management for Order Cancelation
- Admin UI
- MFTF Extension Tests
- Weekly MSI Demos
- Tutorials