-
Notifications
You must be signed in to change notification settings - Fork 248
MSI Roadmap
Igor Miniailo edited this page Jan 22, 2019
·
203 revisions
MSI Backlog which describes the deliverable state of Multi-Source Inventory project.
See current status on the Project Board for Milestone 2 on ZenHub
As MSI 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
See MLS1 Burndown report on ZenHub (COMPLETE)
Status | Estimate | Story | PR(s) | Open Tickets | Zenhub Epic |
---|---|---|---|---|---|
✅ | 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 | Epic |
✅ | 1 | Run Source Selection Algo by request on Order page | Tickets | Epic | |
✅ | 3 | Adapt Returns (SalesInventory). All returns should happen on Default Source | Tickets | Epic | |
✅ | 3 | Low Stock Notifications to Merchant on the level of source. | 321 | Tickets | Epic |
✅ | 1 | Product Alert for Customers on the level of stock Product Alert). | Tickets | Epic | |
✅ | 1 | Update Low Stock Report | Epic | ||
✅ | 5 | Adapt OLD CatalogInventory all other APIs | 269, 304 | Tickets | Epic |
✅ | 5 | Inventory Catalog Search | Tickets | Epic | |
✅ | 5 | Shopping Cart Update | Tickets | Epic | |
✅ | 3 | Simplest “By Priority” Algorithm implementation | Tickets | Epic | |
✅ | 1 | Processing of different order statuses. Reorder (close Reservation, create new Reservation) | Epic | ||
✅ | 1 | Processing of different order statuses. Cancel Order, Partial cancel | Tickets | Epic | |
✅ | 1 | Change qty on Invoice step of Order page | Tickets | Epic | |
✅ | 1 | Adapt All cache invalidation taking into account new extension points (new Inventory APIs) | Epic | ||
✅ | 3 | Make Source Selection Algorithm to be compatible with: Configurable product | Epic | ||
✅ | 3 | Update/Change source assignment in the existing orders | Epic | ||
✅ | 10 | Add MSI content to Merchant documentation | Epic | ||
✅ | 10 | Basic MFTF Test Coverage | Epic |
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
See MLS2 Burndown report on ZenHub (COMPLETE)
Status | Estimate | Story | PR(s) | Open Tickets | Zenhub Epic |
---|---|---|---|---|---|
✅ | L | Add Support of Multi-Sourcing for Grouped product | Epic | ||
✅ | L | Mass Inventory action (re-assign Source Items from/to different sources) | Epic | ||
✅ | S | Support Negative Threshold for Backorder functionality | Epic | ||
✅ | L | Prepare MSI for 2.3 Magento Release | Epic |
Milestone 3: New Inventory Configuration, Full B2B support, Elasticsearch support, Distance Based Algorithm
Status | Estimate | Story | PR(s) | Open Tickets | Zenhub Epic |
---|---|---|---|---|---|
L | Source Item Configuration API | 1553 | Epic | ||
XL | Stock Item Configuration API | 1553 | Epic | ||
M | Full support of Multi-Sourcing in B2B edition | ||||
M | Full support of Multi-Sourcing for Elasticsearch adapter | Epic | |||
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 | Epic | ||
XL | MFTF Test Coverage of S0/S1 scenarious | ||||
XL | Store pickup support for Multi-Source Inventory | ||||
L | Performance Improvements | 1937 |
Story Size Estimation: S=1, M=3, L=10, XL=20
Status | Estimate | Story | PR(s) | Open Tickets | Zenhub Epic |
---|---|---|---|---|---|
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 | ||||
S | Add ability to specify that Source has some type (aka Dropshipper) to apply it for source selection | ||||
S | MSI + Product GraphQL API integration | ||||
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 Epic (S) (moved from MLS1)
- Configuration of the Shipping Options per source (M) (moved from MLS1)
- Product assignment per each source Admin UI (M) (Postponed)
-
Delivery Time Information(REMOVED FROM SCOPE) (M) - 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