►
From YouTube: MSI Open Demo. September 29, 2017
Description
Multi Source Inventory (MSI) Open Demo - https://github.com/magento-engcom/msi
Today’s Agenda:
1. @Bartłomiej Szymański - Default Source and Stock installation and linkage
2. @U6EMYKXC5 - Reservation Clean-up
3. @Sergii - Improve Inventory modularity and dependency on Catalog
4. @vgoncharenko - Changes in Source to Stock assignment lead to index dimensions (stock indexes) invalidation.
5. @larsroettig - Update on Save support for StockItem indexes. Partial update when SourceItem(-s) has been changed.
6. @vnayda - bugfixes
A
A
Looks
like
we
find
a
sorry
for
short
delay
or
long
delay.
I,
don't
know
how
it
was
for
me.
It
was
like
much
time
so,
let's
start
the
weekly
MFI
demo
and
f,
like
as
I
told
you
a
little
bit
earlier.
We
are
on
a
oktoberfest
and
a
lot
of
guys
here
with
us.
So
it's
probably,
if
probably
the
biggest
audience
we
have
ever
had
before,
and
we
have
a
pretty
heavy
agenda
for
today.
So
we
will
show
what
was
done
in
the
scope
of
the
MSI
project
during
the
current
week.
A
Unfortunately,
our
product
owner
can't
attempted
a
meeting
because
of
the
unexpected
visits
with
his
dentists.
So,
but
we
will
make
a
recording
and
and
share
with
him
so
also
a
question
which
would
be
raised
to
the
product
product
owner
would
be
answered
along
the
week.
So
it's
not
a
problem
because
all
of
our
work
and
all
of
our
placements
will
be
reported.
So,
as
I
said
a
little
bit
earlier
in
the
MSI's
slot
shot,
we
we
have
next
agenda
so
Bartek
from.
A
C
D
B
B
Default
source
with
ID
one
exists
in
data
tables.
After
install
as
you
can
see,
there
is
one
test.
One
assertion:
it's
everything
is:
ok,
that's
all
for
for
stock
and
inventory
and
default
installation
and
next
step.
You
don't
have
enough
time
to
show
you
my
linkage,
but
next
step
is
at
installed
at
our
script.
At
linkage
between
the.
A
Thank
You
bartók
and
I
just
want
to
add
that
the
task
which
Bartok
is
working
on
is
very
important
because
actually
it
removes
them
it's
at
the
seamless
for
for
users
for
merchants
who
will
use
magenta
with
the
msi
on
board,
but
will
still
use
magenta
as
a
single
stock
system,
so
actually
adding
MSI.
We
don't
need
effect
in
any
ways
that
user
experience
of
those
who
use
a
single
stock
magenta.
So
they
no
need
to
have
some
additional
sophisticated
management
of
sources
and
the
thoughts
and
their
linkage.
A
If
they
still
have
the
only
story
so
I'll
don't
know
all
the
work
would
be
done
under
the
buy
magenta
itself.
So
we
don't
add
any
complexity
for
those
who
know
needed.
That's
why?
Actually
we
have
the
story
where
we
shove
present
adjust
by
Bart.
Oh
so
another
another
story,
you
know
agenda
would
be
showed
by
Alessandra
and
it's
about
the
reservation
cleanup.
A
B
D
This
week
we
had
a
lot
of
discussion
about
how
to
implement
reservation
cleanup,
whether
to
implement
it
as
using
the
common
partner
or
not.
Then
we
choose
to
to
go
the
simple
way
and
I'll
show
you
a
little
demo.
I
won't
go
through
all
the
steps
of
creating
from
scratch
sources
and
stock
and
assigning
product
to
sources.
D
Week
consider
that
we
have
this
to
stock,
that
are
the
visual
obligations
of
our
sources.
I'll
show
you
that
in
my
situation,
my
TB
at
the
moment
as
only
product
has
acceded
to
the
Italian
stock,
which
is
stock
ID
number
six
I
will
I
will
add
some
reservations
for
the
simple
product
this
time
on
stock
id7
I
have
200
products.
Let's
say
that
an
order
comes
in
and
we
have
to
reserve
10
10
stocks
from
this
stock
and
then
for
some.
For
some
reason
we
have
a
return
of
5,
then
2
and
then
3.
D
At
this
point,
what
I
expect
to
see
is
that
reservation
were
added
to
the
reservation
table,
as
you
can
see
here
in
my
DB,
but
as
you
can
also
see
here
at
the
end
of
my
of
my
script,
the
the
total
quantity
for
this
product
is
still
200,
because
the
sum
of
this
reservation
actually
is
zero,
so
I
implemented
this
cleanup
cleanup
service
that,
once
that
can
be
run
a
cron
job.
We
still
have
to
decide
which
strategy
to
use
to
run
this
cleanup
service
by
the
way
after
the
service
run.
D
D
My
next
step
is
that
of
covering
all
this
code
with
integration
tests,
because
I
still
have
to
implement
it.
I
can
show
you
where
these
reservations
we
now
have
has
been
implemented.
It's
an
SPI
as
suggested
by
Valera.
It's
been
implemented
as
SPI,
so
it
can
be.
It
can
be
customized
because
you
can
decide
to
apply
a
different
strategy
in
cleaning
up
your
reservation.
D
As
I
was
saying,
my
next
step
is
covering
functionality
with
with
integration
tests,
I'm
also
working
on
revelation
builder,
because
this
week
we
had
discussion
about
about
resolution.
Builder
I
still
have
to
complete
the
factory
and
we
decided
to
move
validation
inside
the
Builder
and
not
using
entity
validation,
because
reservation
builder
is
not
an
entity.
So
this
is
another
interesting
point
about
the
architecture
we
are
first
on.
I
have
some
questions,
but
I
I.
If
we
had
time
at
the
end,
I
I
will
ask
them
again:
okay,.
F
So
we
didn't
everyone,
the
decision,
every
spring,
mm-hmm
yeah,
so
I
hope
you
can
see
all
right.
So
where
would
I
start
yeah?
Basically,
during
the
hackathon
in
Brussels,
I
was
trying
to
split
modules
for
from
inventory,
to
inventory,
catalog
also
trying
to
look
into
API,
so
I
started
with
a
small
audit
and
discovers
that
there
was
actually
a
well
foreign
key
relationship
in
the
database
built
in
between
in
between
inventory
and
catalog,
which
is
pointed
to
the
SKU
field.
F
So
that
was
a
little
bit
distant
asked
about
it
from
Igor,
and
apparently
it
was
a
bug.
So
one
of
my
first
steps
here
was
basically
just
to
remove
the
scoring
key
and
now
with
the
reinstall
which
I
have
in
my
local
environment,
for
example,
this
inventory
source
item
structure
yeah
in
relation
you.
Yes,
the
key
is
gone
completely.
So
pull
request
is
standing
out
there
and
I
plan
to
carry
on
with
improving
the
modularity
and
and
separating
Inglaterra
from
catalog
to
a
dedicated
module.
I
guess
this
is
it
for
me.
Okay,.
A
Cool
Thank,
You
Sergey
I
just
want
to
say
that
this
is
very
important,
because
we
would
we
don't
have
the
dependency
on
a
on
a
database
level
and
we
in
a
magenta.
We
don't
recommend
to
help
foreign
key
dependencies
on
on
the
tables
which
defined
in
other
modules,
because
the
tables
consider
it
as
a
private
implementation
of
the
module,
but
not
the
API,
a
part
of
the
module.
That's
why?
Actually
such
dependency
leads
to
unexpected
breaking?
Well,
you
would
be
a
gradient
even
for
the
for
the
patch
in
the
minor
releases
of
the
system.
A
E
E
E
E
A
Believe
that
if
there
would
be
some
question,
they
will
arrive
a
little
bit
later
when
Marc
will
watch
the
presentation,
but
actually
I
just
want
to
mention
that
additional
sophistication
for
this
task
was
added
to
the
fact
that
we
decided
to
introduce
multi-dimensional
indexes
and
we
did
not
have
multi-dimensional
indexes
before
that.
So
actually
multi-dimensional
indexes.
A
Introduced
an
ability
to
make
horizontal
scalability
because
in
our
case,
we'll
create
dedicated
table
dedicated
index
table
pure
each
stock.
So,
for
example,
heaven
to
stocks
like
like
Vitale
demonstrated,
for
example,
one
for
Europe
and
another
one
for
the
for
the
United
States
will
have
two
independent
indexes
and
each
of
that
will
have
own
orientation
strategy.
A
So
all
the
data
would
be
placed
not
in
the
one
table
which
will
grow
and
grow
infinitely,
and
actually
we
learned
that
with
the
bottlenecking
on
that
on
that
table,
because
at
some
point
of
time
when,
for
example,
when
we'll
have
a
lot
of
data-
and
actually
those
merchants
who
will
use
MSI
will
have
a
lot
of
data
because
it
would
be
big
merchants.
So
the
queries
to
the
table
will
get
slower
from
the
ethical
perspective.
So
we
will.
We
could
come
up
to
the
bottleneck
in
a
interface
of
our
index
table.
A
A
It
could
be
sold
for
each
country,
for
example,
like
Germany
Italy
Ukraine
will
wind
up
creating
dedicated
tables
for
each
of
this
talk,
so
we
will
have
the
horizontal
scalability,
and
actually,
we
will
also
boost
the
performance
on
the
my
sequel
operation
over
the
set
tables,
Thank
You
Talia
for
a
good
presentation
and
another.
Another
president
is
not
going
to
be
shown
by
Lars
who
actually
work
on
the
update
on
save,
because
before
that,
we
had
just
update
on
schedule
and
we
we
had
to.
A
C
D
F
A
A
G
G
G
Also,
during
this
week
we
were
contreras,
as
we
mentioned
on
previous
demo.
We
one
of
our
balls.
It
is
running
all
kinds
of
tests
on
Charlie's
static,
test
unit
integration,
ap
functional
a
pair
functional,
and
this
week
we
worked
on
integration
test.
We
provide
a
few
fixes
like
world
table,
name
resolving
and
also
this
years
has
been
mentioned
and
we
merge
a
few
pairs
with
some
refactoring
like
removing
redundant
commands
improvement,
our
the
Box
declaration,
and
so
on.
Next
week
we
are
going
to
work
on
IP
functional
test.
G
A
So
we
I
start
work
on
this
story,
so
in
order
to
implement
a
import-export
for
sources
we
discusses
with
eager
how
to
implement.
There
are
a
lot
of
pendants
ease
to
the
legacy,
Magento
import/export
module
and
we
decide
to
create
a
new
module
for
this
inventory
import/export
and
go
the
way
with
dependencies
to
the
Magento
input
expert
at
first
and
look
forward
afterwards
how
to
refactor
it
how
to
resolve
this
legacy
dependencies.
A
A
A
A
Looks
like
we,
we
are
running
out
of
time,
so
we
can
discuss
all
the
all
the
open
question
in
msi
slot
channel.
So
don't
hesitate
to
ask
the
question
regarding
your
ticket
regarding
the
msi
architecture,
design
and
issue
any
question
regarding
the
msi.
So
thank
you
a
lot
for
the
presentation.
It
was
really
interesting
and
joyful
today
because
ever
so
much
participants.
We
have
never
experienced
so
big
audience
before
that
and
thank
you
for
your
attendance.
You
made
this
presentation
great.
Thank
you.