►
From YouTube: Magento MSI Open Demo. April 19, 2019
Description
Agenda:
• Source Item Deduction when creating a Credit Memo for unshipped orders @seruymt @Slava Moskalyuk
• Performance Improvement for Product Save operation @TheRick
• Immutable DTO as a Source Item projection for the Store Pickup Location entity @Aleksandr
• How pair programming fixed displaying out of stock products on storefront @Maxim Novik @vpodorozh
• Fix for manual adding of child products to Configurable @Vadim Malesh
• MSI Quality status by @Tom Erskine
• General Updates @ishakhsuvarov
A
B
A
C
Yeah,
so
this
week's
dedicated
to
refund
to
create
encrypted
moment
for
unship
it
order
so
I
already
have
order
place
it
with
10
items
of
simple
products
and
after
placing
order,
we
I
used
to
have
originally
100
sellable
quantity
in
100
quantity,
on
source
on
default
source.
Here
so
after
placing
order,
I
get
detection
or
sober
quantity
to
10
items.
Now
now,
let's
see
I,
which
were
crossed
I
need
to
invoice
my
order
items
I.
C
C
C
C
In
verse
of
my
I
think,
I
may
do
refund
a
creating
credit
memo,
and
here
I
didn't
I,
didn't
do
shipping
for
items,
I
decided
to
refund
my
money
and
if
we
would
check
on
the
return
to
stock
our
selves,
but
one
thing
he
should
increase,
but
in
case
we
didn't
check
this
checkbox
to
return
to
the
stock.
We
literally
had
nothing
happened
to
the
order
and
to
the
also
to
product
Doble.
As
a
result,
we
have
uncompensated
to
the
duration
in
our
table
and
also
a
quantity
of
product
was
nothing
also
conduct.
C
C
Ya,
so
here
I
show
you
what
I
invented
reservation
table
I
have
two
reservation
1-10
for
order,
placing
and
plus
them
computational
reservation
of
the
credit
memo
created.
I
will
try,
but
actually
this
that's
all
those
it'll
fix
and
it's
working
well
on
custom
stock
as
well,
not
only
on
the
poster.
Thank
you.
A
A
Okay,
so
moving
on
to
the
next
item
on
our
agenda,
this
item
is
pretty
major.
Ricarda
has
been
working
on
it
for
quite
some
time,
and
the
main
goal
of
the
pull
requests
was
to
improve
the
performance
specifically
on
performance
of
saving
the
product
and
the
problem.
One
of
the
problems
with
with
that
is,
they
need
to
synchronize
the
the
legacy
stock
and
the
msi
stock.
So
Ricardo
has
come
up
with
a
sophisticated
way
to
solve
this
issue
and
I
hope
he
will
be
able
to
present
it
yeah
sure.
D
Well,
let
me
share
my
screen,
so
you
can
see
something
so
yeah.
You
should
see
my
magenta
backhand
well,
as
you
were
saying
before
I've
been
working
on
optimizing
the
product
sale
through
simplifying
all
the
processes
behind
the
legacy
stock
inventory
and
one
of
the
step
was
to
run
it
a
synchronously
so
well.
Actually,
my
poor
requester
is
a
general
of
general
optimization
of
this
procedure,
so
you
would
benefit
even
with
the
synchronous
process.
D
But
if
you,
if
you
want,
you
can
run
this
processor
synchronously,
so
you
just
have
the
product
and
the
legacy
stock
is
updated
eventually,
and
you
can
configure
this
behavior
by
settings.
Yes,
no,
it's
not
so
complex.
At
the
end
in
the
inventory
legacy
stock
alignment
configuration
and
when
you
save
the
product,
let's
say
I
want
to
change
my
quantity
to
500,
I
save
it.
D
The
legacy
alignment
is
not
run
immediately
because
I
choose
secretly
and
you
can
see
if
it
works.
Of
course
yeah
it
is
porky.
Yes,
you
pee
on
my
left
side
of
the
screen
that
is
being
handled
by
rabbitmq,
so
it
runs
a
synchro
stick.
Of
course,
you
have
to
start
one
new
consumer
that
you
can
see
here,
that
is
legacy
inventory
synchronization
and
that
is
basically
doing
the
magic.
If
you
want
to
measure
what
are
the
benefits?
Basically,
here,
I
have
some
results
from
my
last
tests,
though,
without
is
pull
request.
D
Updating
1184
products
took
about
17
seconds
on
my
machine
with
this
pull
request
running
in
a
synchronous
mode.
It
took
just
four
seconds
so
even
running
see
closely
it's
a
very
good,
time-saving
request,
but
if
you
synchros
Lee,
it's
even
less
so
it's
just
two
seconds.
Oh
I
think
it
can
be
our
a
nice
improvement
and
from
the
technical
perspective,
all
all
is
based
on
this
main
class
that
is
synchronized.
D
So
I
totally
have
worked
only
on
the
model
that
was
previously
based
on
plugins
and
each
plug-in
was
placed
on
the
on
the
module
that
was
aligning
the
the
legacy
in
factory.
Now
we
have
on
one
inventory:
legacy:
synchronization
module
that
is
handling
all
the
communication
to
the
loaders
inventory,
and
one
of
the
big
classes
is
the
synchronize
that
you
can
call
it's
a
single
middle
class.
Basically,
we
have
our
an
execute
method
and
you
can
specify
this
nation.
D
So
basically,
if
you
want
to
synchronize
from
msi
to
inventory,
like
a
scimitar,
of
course
or
from
legacy
inventory
to
msi-
and
you
can
do
it
by
simply
specifying
one
of
these
constants
and
you
just
pass
the
information
so
if
you're
synchronizing
from
msi,
you
just
pass
your
source
items
as
an
array.
Of
course,
if
you're
doing
from
the
opposite
side,
of
course,
you're
you
have
just
passed
the
information
from
the
legacy
memory
and
that's
it.
D
A
Thank
you
recorder,
I'm,
pretty
sure
that
one
more
thing
this
pool
request
does
is
bringing
us
one
step
closer
to
the
bright
future.
Well,
where
we
potentially
remove
the
legacy.
Catalog
inventory
and
I'm.
Pretty
sure
that
there
is
like
a
piece
of
logic
is
now
isolated,
so
we
will
be
able
to
refactor
or
MSI
much
quicker
to
be
like
the
default
solution
like
the
default
and
on
this
ocean.
Let's
see
yeah.
D
A
Thank
you
very
much
and
that's
been
a
great
presentation
and
we
can
move
on
on
the
next
item
to
the
agenda,
and
the
next
item
on
the
agenda
also
relates
to
one
of
the
big
features
currently
being
worked
on,
namely
the
stock
pick
up
and
for
the
store
pick
up.
Aleksandra
kravchuk
has
implemented
some
really
interesting
item,
which
is
mute.
A
A
E
Oh
good
yeah
today
we
going
I'm
going
to
tell
something
about
almost
immutable.
Data
transfer
object
for
pick
application,
as
in
most
know
that
we
use
sources
and
we
use
stocks
was
different.
That
sources
we
use
in
the
back
end
and
stock
being
used
by
customer
on
the
front
end.
So
the
idea
initial
was
to
introduce
a
new
entity
or
in
store
pickup
context,
which
will
be
a
projection
of
sources
to
work
with
this
entity
on
the
front
end-
and
this
is
what
is
this
pull
request
about?
E
So
the
idea
is
we
introducing
new
interface
all
then
for
the
new
entity
and
and
to
receive
data
for
this
interface?
We
use
cross
paper,
so
it
take
source
and
with
configuration
which
named
map
and
transfer
fields
from
the
source
to
a
new
pickup
location.
The
fields
can
be
simply
configure
it
with
di
XML
file.
E
E
Providing
extensibility
for
pickup
location,
it
will
be
done
with
extension
edges.
So
that's
that
point
where
we
lose
in
imitability,
because
currently
all
fields,
exams,
extension
and
tributes
are
immutable
but
extensible
about
extension
attributes
it's.
They
are
notable
for
their
no
philosophy.
Most
probably
it
will
be
solved
in
a
Magento
framework
in
the
future,
and
also
this
file
with
the
map
is
also
support.
E
Extension
attributes
from
both
sides,
so
you
can
take
some
values
from
extension
and
tributes
of
source
and
put
it
into
the
cup
location
field,
or
you
can
take
some
value
from
also
extension
table
from
source
and
put
it
for
extension
attributes
of
pickup
location.
So
it's
everything
about
the
projection.
E
B
A
Might
or
might
not
make
sense,
we
have
to
think
on
it,
but
what
Sondra?
Thank
you
very
much
for
your
presentation
and
I
think
this
is
a
really
good
addition
to
what
we
already
have
as
mutability
is
quite
a
good
concept
which
would
greatly
increase
code
robustness
and
even
though
it's
quite
a
hard
and
complicated
task
to
introduce
it's
right
now
at
the
framework
level.
A
F
B
B
B
B
A
You
Maxime:
well,
you
see
it's
not
always
not
always
a
complete
success,
as
some
tests
are
so
red,
but
hopefully
you
will
be
able
to
continue
in
the
same
manner
and
get
it
fixed
and
regarding
your
solution
itself,
I'd
say
it's
pretty
elegant
as
well,
because
this
is
one
one
of
the
cases
where
you
could
use
the
validators
concept,
which
is
present
in
MSI
and
I.
Think
it
well
from
my
perspective,
I
think
it's
simplified.
The
I
can
reduce
the
amount
of
work
needed
to
complete
this
fix.
A
So
thank
you
very
much,
hopefully
we'll
see
it
merged
soon
enough,
especially
specifically
before
the
release
so
going
forward.
The
next
item
on
the
agenda
is
also
a
bug
fix,
and
this
is
a
bug
fix
for
the
issue
which
at
first
we
thought
is
not
related
to
MSI,
better
payload.
Apparently
it
was,
and
the
problem
was
that
configurable
product,
like
you
couldn't
add
child
products,
menu,
logic,
configurable
and
I.
Think
once
we
merge
the
fix
it
would
be
working
as
expected,
so
Vadim
will
be,
will
be
sharing
more
information
on
this.
You.
C
F
A
G
Okay,
alrighty
so
quality
review
for
the
week,
our
snapshot
as
of
the
last
week
since
the
previous
update.
So
what
we're
looking
at
here
is
studded
upcoming
release
and
the
main
focus
of
this
week
has
been
around
m
ft
f.
That
graph
has
stayed
flat
so
and
there
wasn't
really
update
changes
for
1
1
2
m,
but
we
want
to
get
that
number
coming
up
again,
so
we
were
making
an
effort
in
that
regard.
So
as
an
initial
PR,
we
merged
three
tests
around
credit
memo
scenarios
which
we
didn't
have
much
coverage
for.
G
So
we've,
some
good,
automated
coverage
on
credit
memo
loose
now
and
we'll
build
off
that
for
all
the
credit
memo
scenarios
and
there's
another
credit.
Memo
scenario
finished
M,
which
is
yet
to
be
merged,
and
there
are
five
further
tests
and
products
primarily
around
simple
product
ordering
and
reordering
of
simple
and
virtual
products,
they're
hoping
to
get
in
and
merged
early
next
week.
So
we're
going
to
bring
that
number
up
further
and
put
together
a
plan
for
increasing
coverage.
G
As
we
go
on
in
terms
of
bugs
in
the
last
week,
then
so
we
had
nine
issues
open
to
which
are
closed.
So
only
two
of
those
opened
issues
in
the
last
week
were
bugs
one
was
closed.
One
remains
open
and
that's
twenty
one
idiot
J
that
believe
is
being
worked
on.
Currently
that
hasn't
had
a
fix
merged.
Yet
so
we're
not
sitting
on
a
ton
of
open
bugs
right
now,
just
grit
everything
else,
automated
testing.
With
that
increase.
We
see
here
that
the
total
number
tests
only
increased
by
one
saw
rats.
G
G
While
you
can't
see
it
very
well
in
this
graph
that
gray
automated
number
did
come
up
from
142
to
145,
which
is
the
three
we
added
and
then
the
PRN
mainline
pending
is
some
broken
and
skip
tests
just
with
some
MFT
f-feel
ears,
nothing,
no
msi
bugs
related
to
those,
but
just
test
failures
that
we're
refactoring
the
test
around.
So
also
we
want
that
bottom
number
to
track
to
zero
each
week
as
we
got
regular
merges
in
and
that
gray
number
to
come
up
and
we've
a
plan
to
do
that.
G
Otherwise,
this
is
just
showing
you
where
they
come
in.
They
were
a
zero
so
that
as
zero
percentage
is
increased,
but
we
want
to
keep
them
and
roughly
these
percentages
with
more
than
half
an
hour
zero
with
some
further
s1
and
s2
coverage,
where
it
directly
comes
off
the
back
of
that
zero
tests.
Obviously
focusing
our
effort
there
and,
as
you
can
see,
seals
and
catalog
are
the
main
focus.
There's
not
a
lot
more
automation
for
configuration
and
still
upgrade
web
api.
G
I,
don't
really
MF
t
f4
focus
deals
numbers
coming
up
with
these
MF
TF
automation,
manual,
testing
man
has
no
major
update
since
this.
This
is
the
numbers
for
that
626.
We
currently
have
again
seals
in
catalog
being
the
primary
focus
and
we
have
our
last
full
run.
The
22nd
will
hold
this
here
until
we
get
another
manual
execution
run,
will
compare
and
contrast
and
hopefully
get
the
rate
of
failures
down
and
their
time
to
fix
done
as
well.
G
A
Thank
you
very
much
tom.
That's
that's
a
good
news
that
we
have
some
improvements
on
the,
but
actually
we
are
looking
to
start
some.
Some
more
activity
on
that
front
after
the
release,
and
mainly
one
of
the
ideas,
is
to
introduce
bigger
library
of
reusable
components,
also
known
as
action
groups
in
the
f
c/f
into
the
future
MSI
releases,
so
that
everyone
could
use
those
in
their
own
extensions
as
well.
A
So
this
is
pretty
much
it
for
this
week,
I'll
just
close
wrap
up
with
the
general
updates,
which
we
have
on
the
msi
track
and
the
the
main
topic
the
release
last
weeks.
So
I
can
say
we
are
doing
pretty
well.
We
have
only
four
tickets
only
for
approval
quests.
We
are
like
considering
to
be
blocking
the
release
and
nine
pull
requests
already
merged.