►
From YouTube: Magento MSI Open Demo. March 30, 2018
Description
Agenda:
1. Multi-Stock support of Virtual/Downloadable products
make operations both on Default as well as Non-Default Stocks
2. Support of Bundle and Grouped products on Default stock
3. Multi-Stock support of Configurable Product
4. Multi-Stock shipment handling
5. Not Manage Stock configuration option is aligned with our Reservation mechanism
A
So,
let's
see
on
our
our
MSI
board,
where
you
can
see
the
epics
we
are
currently
working
on
and
actually
on
today's
demo
we'll
make
a
presentation
for
most
of
the
epics
we
currently
have.
So,
let's
start
from
the
demonstration
of
multi-store
a
multi,
stop
support
of
virtual
and
downloadable
product
for
single
and
on
single
and
on
default
and
on
default
stops.
Actually,
as
you
know
before
that,
we
mostly
demonstrated
you
all
the
user
case
scenarios
we're
just
simple
product
being
involved.
A
B
B
B
B
B
B
B
Now,
let's
buy
the
rest
of
stock
of
quantity
of
our
product
in
stock.
First
of
all,
let's
try
to
add
to
our
cart.
Moving
currently
available
for
sale.
As
you
can
see,
we
cannot
add
10
pieces
of
product
because
we
have
already
bought
one
of
every
kind
of
product.
So
let's
try
to
both
buy
the
rest
of
the
product.
B
B
B
B
Yes,
and
as
you
can
see
now,
all
of
our
products
have
zero
zero
quantity
for
default
stock,
but
phone
fraud
and
it's
not
finished
yet
a
simple
product,
as
you
can
see,
is
gone
it's
out
of
stock,
but
downloadable
in
virtual,
not
yet
finished.
So
we
are
in
stock
now,
but
you
can't
add
it
to
your
car,
because
really
it's
out
of
stock
and
simple
is
out
of
stock.
B
B
B
B
B
A
My
side,
okay,
that
was
a
functionality,
visual
and
downloadable
product
and
support
for
different
stocks.
As
you
can
see,
like
main
of
the
functionality
implemented,
we
have
some
slight
bugs
regarding
the
reservation
placement
in
regarding
the
presentation
and
a
front-end,
a
virtual
downloadable
product,
because
currently
we
used
not
service
but
assailable
method
out
of
product
and
I
believe
it
will
be
fixed
pretty
shortly.
Maybe
there
are
any
question
about
the
demonstrated
functionality
from
mark
or
maybe
from
Anton
I
see,
he's
joined,
I.
A
A
This
is
epic
panel
group
product
support
on
a
default
stock.
Just
to
remind
you
that
we
agreed
that
in
Minimum,
Viable
Product
of
multi-source
inventory'
will
we
will
stock
bundle
and
group
product
to
the
default
stock.
So
they
would
be
so
will
preserve
support
of
this
complex
product
type
in
in
a
single
stock
implementation.
But
currently,
as
we
don't
have
enough
resources
to
build
indexes
for
bundle
for
both
bundle
and
group
product,
we
will
not
support
them
for
multi
stock
implementation
and
on
default
stock.
D
On
my
screen,
okay,
so
my
setup
is,
it
is
next,
it's
almost
like
clean
installation,
so
no
additional
stocks
or
sources
were
created.
I
have
three
products,
and
one
simple
one
group
with
this
simple
and
one
bundle:
I
have
two
websites
and
all
the
products.
Currently
every
single
stock
present
it
on
both
website.
So
we
can
see
they
assigned
to
the
same
category.
We
can
search
right.
D
D
D
D
D
D
D
D
So,
let's
check
on
our
default
website
our
products,
so
they
should
be
all
still
available
right,
all
three
of
them.
So
if
we
again
stir
them,
we
can
count
all
of
them.
If
we
check
our
additional
website,
we
see
only
simple
product
because
well
bundle
and
grouped
currently
not
supported,
and
if
we
check
in
in
the
source
we
can
find
only
simple
products
and
well
that's.
That's
all
for
my
side,
I
believe
I.
A
Just
want
to
add
my
two
two
cents
to
this
presentation,
so
actually
I
will
just
highlight
some
technical
details
regarding
how
the
support
of
of
the
complex
product
being
added
or
actually
how
we
preserve
support
of
complex
product
for
the
full
stock
so
actually,
like.
You
probably
know
that
we
create
create
indexes
on
a
flight
for
each
particular
stock
in
a
system,
and
actually
we
made
a
decision
that
we
no
need
to
create
to
create
and
we
started
to
reuse
already
exist,
an
index
for
which
we
helped
focus
our
can
battery.
A
So
this
is
Cadillac
inventory
stock
status.
Indeed,
we
were
opt
it
with
the
my
SQL
view
to
make
to
make
to
provide
the
same
actually
interface,
what
other
indexes?
What
other
MSI
indexes
provides,
and
now
we
eliminated
all
most
of
the
synchronization
between
the
the
full
force
and
the
stock
item.
We
have
another
guest
assistant
and
that
or
what
did
not
are
asked
to
us
and
ability
all
the
products
which
already
exist
until
like
inventory
stops.
Toulouse
ended
the
reusing
they
can
stop
status.
Indeed,
we
preserve
the
support
of
group
and
bundle
product.
A
A
Represented
on
a
different
stops,
so
actually
this
functionality
was
prepared
and
demonstrated
by
waiting,
useless
from
tech
division.
That
is
by
taking
into
account
that
he
could
not
attend
for
today's
meeting.
I
will
share
my
screen
and
I
will
run
there
port
in
which
what
in
prepares
for
us-
and
you
can
see.
E
E
E
E
E
E
E
E
E
E
E
E
A
You
can
pay
the
attention
that
Vadim
Steen
is
finished.
His
quizzing
patient
with
manic
his
battery
was
totally
out
of
charge.
So
this
is
a
demonstration
of
how
how
the
configurable
product
work
on
a
difference
table,
including
the
non-default
stock,
is
there
are
any
question
regarding
this
functionality,
both
from
technical
perspective
or
from
product.
We
can
be
added.
C
A
A
So
currently
we
have
small
a
stock
system,
but
we
assigned
to
default
stock.
It's
pretty
important
per
feet
of
the
work
and
upon
that
very
important
requirement
for
us,
that's
very
important
requirement
for
us
is
to
preserve
the
same
behavior
in
those
soft
merchants
had
before
can
I.
Please
ask
you
guys
to
meet
yourself,
because
I
lay
here.
A
A
A
A
So
currently
you
see
that
the
fault
stock
is
assigned
to
main
website.
So
currently
we
are
on
a
default.
Stop,
let's
find
a
product,
for
example,
test
simple
product
put
it
to
the
to
the
shopping.
Cart,
let's
put
test
simple
product
one,
either
to
the
shopping
cart.
Certainly
you
see
this
value
in
the
shopping
cart
just
to
demonstrate
that
we
have
have
pretty
big
quantity
on
the
phone
store,
so
let's
put
it
in
a
different
quantity.
A
A
So
now
the
order
is
placed
and,
as
you
can
see,
a
customer
did
not
have
any
difference.
Comparing
with
the
single
stock
system,
you
used
to
see
before,
like
a
magenta
to
that
one
or
two,
the
two,
so
it's
totally
similar
and
let's
proceed
to
completing
this
order
from
merchants
perspective.
So
here
we
have
a
merchant
session.
A
As
you
can
see
now
we
are
redirected
to
the
shipment
page,
which
you
used
to
see
before
on
magenta
to
that
one
and
to
the
to
installation.
So
actually
you
can
specify
as
a
number
of
quantity
to
shipped
you
can
make
a
partial
shipment
etc.
But
let's
not
bother
resistance
and
time.
Let's
submit
the
shipment
and
the
completed.
A
And
now
we
we
can
so
we
made
a
full
shipment.
Now
we
can
make
an
invoice
and
that
would
be
all
as
you
can
see.
There
are
no
difference
compared
to
what
you
used
to
see
before
and
comparing
to
what
magenta
to
the
two
proposed
for
order
processing.
Now,
let's
do
a
little
bit
another
scene
now,
let's
assign
non-default
stock
for
our
website
to
do
this,
let's
go
to
stores
and
the
manage
stocks
and,
let's
assign
Europe
stock
for
a
main
website.
A
When
we
are
find
Europe's
talk
to
default
to
the
main
website,
it
is
at
the
same
time
it
is
unassigned
from
default
from
the
fall
stock,
and
here
we
have
assigned
sources
as
and
as
you
remember
from
previous
demonstration.
As
long
as
currently,
we
have
source
selection
algorithm,
which
works
by
priority.
So
the
order
of
items
matters
here
so
that
Germany
stock
is
has
the
most
priority
and
the
Ukrainian
one
has
the
lowest
priority.
We
will
use
this
priority
at
the
time
when
the
algorithm
will
decide
from
which
sources
we
need
to
fulfill
the
order.
A
G
A
A
A
This
yet
simple
product:
let's
play
a
simple
product
to
Tahoe
shopping,
cart
and
actually,
let's
put
put
them
both.
So
let's
put
simple
product
either
to
the
shopping.
Cart,
let's
open
min
your
shopping,
cart
and
update
quantity
like
set
here
20,
let's
set
here
30
and
20
here-
update
quantity
by
the
way
altogether.
Here
we
have
less
than
300
items.
A
A
And
now
let's
proceed
to
shipment,
and
so
now
shipment
would
be
different
to
what
to
what
was
presented
for
the
fall
stop.
So
here
we
had
an
intermediate
page
and
this
intermediate
page
show
you
the
result
of
source
selection
algorithm
and
with
an
ability
for
merchants
to
affect
and
modify
this
the
proposed
result
of
source
selection
algorithm.
In
our
case,
that
was
elbrus,
which
provides
the
source
selection
based
by
predefined
priority.
So
taking
into
account
that
in
Germany
they
have
the
highest
priority.
A
Current
the
algorithm
proposed
to
make
the
source
deduction
from
German
stock,
but
we
can
make
we
can
change
this.
We
can
change
this
source
allocation
and,
for
example,
decide
that
we
will
make
delivery
from
German
in
just
10
items
and
other
10
items
of
a
test.
Simple
product
2
would
be
the
deliveries
from
Poland
and
also
we
will,
let's
make
Ukraine
just
to
use
different
sources.
A
Let's
use
Ukraine,
and
here
we
can
decide
to
ship
20
items
and
10
items
from
Poland.
Here's
another
pretty
important
stuff
to
talk
about,
because
taking
our
invariance
and
taking
our
business
projects
that
our
shipment
supposed
to
have
just
to
addresses
the
shipment
address
and
delivery
address.
We
need
to
create.
We
need
the
only
treatment
for
each
particular
particular
source,
so
we
can.
We
can
create
a
shipment
which
will
include
delivery
from
several
sources.
A
That's
why?
Actually
we
have
this
drop
down
here.
Actually,
that
UI
is
not
the
final
version
and
we
we
can
affect.
We
can
introduce
some
changes
here,
but
actually
just
to
given
trade,
how
to
support
to
work
with
multiple
sources.
So
here
merchant
decide
that
we
are
processing
the
shipment
for
German,
stop
and
the
we
choose.
Germany
Germany
is
the
source
code
of
one
of
the
sources
we
have
and
now
what
what
will
happen
when
we
will
click
the
Create
shipment
button.
A
Eventually,
we
will
create
the
shipment
just
through
delivery
from
Germany
from
from
Germany
warehouse,
and
we
will
create
a
signal
for
a
simple
product
to
in
quantity,
10
and
test
simple
product
in
quantity
20.
So,
let's
create
shipment.
This
is
that
we
we
use
this
volume
and
actually
we
you
come
here
and
20.
A
And
actually
now
we're
getting
back
to
to
the
same
functionality
which
we
have
before
in
magenta.
So
this
is
not
the
functionality
which
we
affect
somehow.
So
this
is
this
functionality
of
new
strip
kana,
for
example.
We
can
add
contraction
code
here,
like
DHL,
even
a
tracking
number,
and
we
can
submit
shipment.
A
So
we
created
one
particular
shipment,
but
we
still
have
so.
It
works
like
a
partial
shipment.
We
can
still
go
to
the
shipment
stage
and
we
still
this
whole
selection
algorithm
and
as
soon
as
we
have
the
Germany
as
a
primary
primary
source
with
the
highest
priority,
we
are
again
proposed
to
make
delivery
from
from
so
here,
for
example,
we
can
make
a
delivery
from
Poland
just
to
speed
up
the
process.
A
A
You
see
actually
here
we
use
the
correct
quantity,
but
we
did
not
did
not
validate
that
right.
So,
but
here
we
create
the
shipment
for
Polish
polish
stores,
and
now
we
so
by
the
way
before
I,
create
this
shipment.
I
want
to
show
you
pretty
interesting
stuff
because
we
are
not
just
create
the
shipment,
but
we
also
persist
the
shipment
and
what
we've
done.
We
introduced
the
extension
attribute
all
shipment
interface
and
we
persist
the
relationship
of
source
to
the
shipment
and
actually
we
store
it
and
persist
into
our
database.
So,
let's
open.
A
A
So
what
you've
done?
Actually
we
did
not
put
this
data
to
the
sales
shipment
able
to
introduce
this
extension
attribute.
We
introduced
own
table
and
entry
shipment
source.
Let's
see
what
it
contains
picture
is
pretty
pretty
straightforward.
It
contains
the
shipment
and
source
code.
So
currently
the
last
one
we
created
for
Germany
and
now
we
will
place
an
actually
now
we
will
create
a
shipment
of
poland
and,
we
suppose
to
add
one
more
item
here
with
shipment,
ID,
I,
suppose
8
and
the
source
code
Poland
and.
A
A
A
So
here
we
added
relationship
to
this
shipment
ad
shipment
ad
8
shipment
ad
aid
in
this
table
either,
and
we
have
the
source
code
column
so
that
that
functionality
of
persistent
persistent
source
code,
which
was
used
to
fulfill
the
order,
would
be
used
in
the
next
in
the
next
epoch,
which
we
will
need
to
finish
actually
returns.
I
will
just
show
you
I
will
just
show
you
yeah
here
is
a
gem
hub
board,
so
that
would
be
useful
adop
returns.
A
So
all
their
overtones
will
use
this
data
to
actually
make
make
a
return
to
the
source
which
was
used
to
fulfill
the
over,
because
before
that
we
use
source
selection
algorithm
just
dynamically.
We
never
store
the
result
of
source
selection
algorithm
and
for
order
for
place
order,
and
for
for
order
for
which
we
created
shipment.
We
just
lose
the
idea
what
sources
very
used
to
fulfill
support.
Now
we
fill
that
gap,
and
now
we
perceive
this
information.
A
Yes,
so
here
you
see
that
we
shipped
all
the
data
so
actually,
because
initially
we
created
kind
of
partial
shipment,
we
use
the
German
source.
Now
we
use
a
Polish
source
to
to
send
all
the
leftovers
in
the
scope
of
this
particular
order,
and
now
there
is
no
ship
shipment
anymore
and
we
can
proceed
to
invoice.
A
So
actually,
this
is
part
of
the
epic.
Let
me
show
the
epic.
This
was
part
of
the
epic
tune
during
during
the
dune.
Actually,
there
are
like
several
epics
here:
adapt
and
change
quantity
on
a
shipment
step
of
order,
page
and
also
yeah
change,
quantity
of
shipment
step
of
the
order
page,
and
actually
it
was
a
preparation
for
adopt
Erik
Jones
here.
Are
there
any
other
other
any
technical
product
question
regarding
this
functionality?
A
C
So
we
had
one
on
the
chat
from
Ben,
which
was
actually
interesting
so
on.
When
you
first
run
the
source
selection
algorithm,
then
you
assign
some
quantities
to
say
polish
and
then
selected
Poland,
but
the
quantities
you
type
in
or
not
persisted
on
to
the
next
page,
because
we
haven't
made
modifications
there
so
yeah.
The
question
was
around
what
why
you
know,
but
it
doesn't
make
sense
to
enter
them
if
we
don't
save
them
for
the
next
page.
A
To
do
so,
what
was
the
idea
so
we
can
adjust
this
behavior,
but
what
was
the
idea
so
when
merchants
initially
come
to
the
shipment
page
he's
proposed
he's
proposed
then
to
make
a
fulfillment
according
to
our
source
selection
algorithm,
and
they
actually
at
this
stage
he
will.
He
will
need
to
create
as
many
shipments
as
many
sources
will
take
part
in
the
in
the
order.
Fulfilment
may
be
in
the
scope
of
some
particular
some
particular
source.
He
will.
He
would
want
to
make
several
shipments.
A
A
If
merchants
totally
agree
with
the
proposed
option
by
source
section
of
the
reason
he
can
choose,
for
example,
Germany-
and
he
can
proceed,
he
can
proceed
for
a
shipment
creation
and
actually
that
will
work
for
him
properly.
But
if
you
would
like
to
apply
some
changes
as
they
assess
at
the
source
selection
screen,
we
we
lose
this
data,
because
how
we
thought
this
functionality
will
work
because,
for
example,
we
could
have
different
different
admins
responsible
for
each
particular
source
for
each
particular
allocation.
A
A
H
C
A
H
C
H
See
two
two
things
here:
if
I
submit
here
the
great
shipment
we
could
create,
we
here
have
one
two
now
in
this
case
we
are
only
Germany,
but
if
I
leave
the
editable
fields
in
the
other
countries
say
that
I
edit
also
the
Poland
and
the
Ukrainian
or
else
I
could
generate
three
shipment
documents
and
I
have
to
then
I
can
work
on
each
tree.
I,
don't
know
if
this
is
understandable
or
viable,
for
example,
from
an
API
a
point
of
view,
the
other.
H
The
other
idea
was
that
of
asking
for
selecting
the
sources
very
first
step
and
then
in
the
second
step,
only
letting
the
user
edit
this
first.
For
me,
the
counter
that
has
been
selected
country,
sorry,
the
source
that
has
been
selected
previous
step,
not
to
confuse
making
it
clear
that
it,
the
there
will
be
only
one
shipment
for
death
source
as
a
result
of
create
shipment
action.
A
So,
from
my
perspective,
I
totally
agree
like
this.
Ui
is
not
like
finished
and
we
need
probably
to
introduce
more
evident
ways
for
merchants
to
get
the
idea
how
how
it
works,
but
like
the
main
business
idea
which
we
try
to
implement
here.
So
we
reduce
this
intermediate
step
before
the
shipment
and
like
existing
magenta
shipment,
which
work
with
one
shipment
address
to
one
delivery
address,
and
currently
we
what
we
actually
do
here.
A
We
introduce
here
the
selection
of
source,
for
example
like
in
this
case
Germany,
and
after
that
we
are
just
redirected
to
our
already
existing
shipment,
which
is
already
implemented
and
for
which
we
already
able
to
generate
PDF
and
which
satisfy
our
business
requirement
that
there
should
be
like
two
addresses
only
and
we
are
not
adding
like
different
addresses,
for
example,
for
both
Germany
and
Polish
address
in
the
scope
of
own
shipment
and
the
yes.
Here.
A
We
can
rearrange
the
UI
on
this
step,
but
it
was
just
a
demonstration
of
how
this
how
we
are
like
on
the
high
level,
how
we
complete
the
multi
shipment
solution
with
introducing
additional
intermediate
step
to
our
shipment
and
these
steps
supposed
to
resolve
the
force
which
would
be
used
on
the
next
step
and
for
this
source.
We
will
create
our
typical,
typical
magenta
shipment.
A
Maybe
I
don't
know
so
probably
that's
equation,
2
to
you've
gained
bondage
and
we
need
to
make
to
get
a
feedback
from
usability
guys,
for
example
like
maybe
it
makes
sense
when
Germany
is
used
just
to
to
like
hide
Poland
and
Ukraine
here
or
make
other
stuff.
But
actually
it
was
just
an
idea
that
we
introduced
in
the
intermediate
step
for
shipment
and
we
are
placing
merchants
to
our
typical
shipment
with
already
resolved
source
in
advance
in
this
particular
stuff.
A
B
H
A
A
The
last,
but
not
the
least,
functionality
which
gonna
be
presented
for
today's
demo,
his
functionality,
which
was
prepared
by
by
Bartok,
but
he
he
couldn't
attend
today's
meeting,
so
I'll
just
buy
Bartok
from
both
agency,
but
he
could
not
attend
today's
meeting.
So
I
will
just
tell
you,
because
I
did
not
have
time
to
prepare
my
environment
to
make
demonstration
of
this
functionality,
so
their
functionality
created
by
Bartok
was
we
have
a.
We
have
such
share.
Such
configuration
option
as
manage
token
it's
possible
to
set
it
to
zero.
A
So
all
these
guys
and
of
course,
Alessandra
participated
on
this
event
and
we've
been
given
17
pull
request
to
homicide
and
most
of
this
pull
request
over
the
merge
chemistry,
there
are
just
really
three
blue
requests
left
in
our
queue.
From
this
event,
all
other
pull
requests
already.
Man
had
already
processed
and
nursed
into
into
an
assignment
one
make.
A
A
Yeah,
so
from
my
purse,
the
next
bit
for
us
would
be
like
is
pretty
big
stabilization,
because
currently
we
still,
we
demonstrates
it's
especially
like
two
first
two
demonstrations
and
actually
the
last
one.
We
are
presented
from
different
branches,
so
they
still
not
person
to
to
this
redevelop
ranch.
So
we
will
be
merging
this
all
this
functionality
into
our
main
line
and
fixing
all
the
tests,
which
will
eventually
fail
in
the
scope
of
this
stabilization
and
also
I
believe
till
the
end
of
this.
The
next
week
also
I
believe
we
will
implement
the
return
functionality.
A
A
Okay,
guys,
if
there
are
no
any
any
other
question,
thank
you
for
your
participation.
Thank
you
for
your
contribution
and
thank
you
for
your
question,
because
we
appreciate
any
kind
of
contribution.
You
even
question
in
the
in
our
selectional
always
matters
for
us,
because
you,
you
share
your
insight,
your
business
idea,
and
actually
this
really
important.