►
From YouTube: Magento MSI Open Demo. May 18, 2018
Description
@here Hey guys, in 5 minutes we will start the weekly #msi demo
Today’s agenda:
-) Regression preparation (@iminiailo)
-) Immutable DTO track (@phoenix128)
-) Prevent possibility to disable Default source (@aleksliwork)
-) MFTF updates (@jstennett)
A
A
A
So
you
know
this
week:
the
main
goal
for
us
was
to
process
the
main
pool
request
now,
we'll
head
will
mark
all
of
the
requests
with
the
top
ten
label
and
they
currently,
we
have
five
full
request,
basketball,
but
most
of
them
are
almost
ready
to
be
to
be
merged,
so
we
are
just
waiting
for
bills.
I
have
a
slight
issue
with
the
last
one,
but
I
believe
we
will.
A
Mention
is
Valerie
to
resolve
this
issue,
given
the
regent
and
nourished
all
the
cool
effect,
and
why
the
main
reason
why
we
wanted
to
process
knowledge
of
this
main
food
path,
because
we
consider
that
this
food
request
our
book
in
the
regression
cycle.
So
as
we
as
we
told
the
week
ago,
we
after
the
merge
all
of
the
food.
If
s,
we
will
consider
that
the
first
three
alpha
version
of
the
MSI
is
ready,
and
after
after
that,
we
will
start
the
regression
testing
on
the
MSI
track.
A
Also,
on
the
current
week,
we
were,
we
were
finalizing,
how
a
majority
track-
and
that
was
that
was
the
one
which
Anton
Creole
at
the
main
architect
of
magenta,
was
the
most
interested
about
and
will
have
will
have
dedicated
meeting
with
Anton
forgotten
that
but
looks
like
analyzing
all
the
dependency
already
now
I'm
working
on
utilizing
one
because
because
currently
have
just
a
paper
version.
But
currently
the
list
of
all
the
external
dependency
from
MSI
to
magenta
modules
looks
like
this.
A
A
So
actually
the
main
idea
and
the
main
task
was
which
Anton
Creole
was
passion
about
whether
it's
possible
to
deploy
MSI
with,
with
the
shortest
possible
instance
of
magenta
from
a
dedicated
server
when
it
will
be
such
a
stability
and
the
health
just
just
a
valid
dependencies
on
magenta
marginal.
Apparently,
we
see
that
we
have
dependency
on
catalog
on
sale
on
catalogs
inventory,
so
the
legacy
version
of
inventory
and
I
believe
into
YouTube,
because
it's
a
legacy
version
and
since
to
the
full
version
we
would
ask
the
sponsor
of
the
removes.
A
A
Product
functionality
right,
so
this
is
how
Emma
site
should
be
deployed.
You
could
say
it's
used
as
a
headless
version,
it's
usually
in
a
headless
way.
If
so,
if
merchants
would
like
to
use
our
UI
as
well,
he
can
if
he
had
also
make
dependency
to
UI.
Back-End
directory
should
be
me
so
taking
into
account
that
we
make
segregation
between
UI
on
model
with
the
business
logic
and
API
interface.
A
We
have
the
suitable
part
of
UI,
because
we
consider
that,
especially
in
case
of
the
multi-source
inventory,
UI
part
would
be
a
subject
of
switching
subject
of
enabling
and
disabling,
because
most
of
the
system
integrators
actually
don't
need
the
UI
of
the
multi
sources
in
magenta
because
they
already
use
they
already
provided
the
UI
in
external
ERP
system,
for
example,
M
come
so
magenta
commerce
also
provides
own
version
of
of
UI
for
multi-sourcing.
That's
why
making
the
integration
with
the
M
come?
A
We
will
switch
altogether
all
the
existing
UI
of
the
MSI,
and
actually
all
the
dependencies
will
gone.
So
we
are
almost
ready.
So
we
have
lost
two
pull
requests
regarding
the
modularity
created
and
now
we
are
waiting
for
the
green
builds
and
the
way
actually
expecting
the
green
build.
So
we
can
close
the
modularity
track
and
we
are
ready
from
the
materiality
perspective.
A
A
But
this
pull
request
would
be
postponed
to
the
regression
until
we
will
perceive
the
regression
and
that
you
will
note
duty,
we
will
release
the
better
version
of
MSI
in
the
middle
of
June,
and
after
that
we
will
start
to
merge
this
pull
request
which,
which
is
introduced,
which
is
definitely
in
tribute
to
value
to
the
project.
But
currently
we
don't
want
to
risk
with
terms
of
regression
started
and
jumps
when
we
leave
the
better
version
of
answer.
A
A
A
A
B
B
Yes,
okay,
so
basically
the
the
idea.
The
initial
idea
was
to
remove
the
setters
from
the
interface
to
do
the
API
to
work
without
the
ripples
so
to
load
in
the
API
to
directly
inject
inside
the
constructor
parameters.
We
can
create
that
kind
of
immutable,
video
and
my
first.
My
first
approach
was
modifying
the
services
processor.
That's
basically
the
main
entry
point
of
the
web
api
one
and
we
the
parameters
and
I
modified
by
creating
this
get
cut
part
of
data
that
is
basically
going
to
unpack
the
information
from
the
request.
B
A
ninja
inside
me
inside
the
constructor.
So
obviously
I
get
out
of
these
methods
will
be
parameters
to
inject
this
to
this
new
infrastructure
that
can
directly
receive
the
information.
So,
for
example,
if
you
want
to
inject
a
danger
like
the
customer
name,
we
do
not
need
to
do
set
customer
name,
but
we
just
need
to
inject
the
customer
name
variable
inside
the
structure
and
then
we
create
a
get
a
get
method,
but
the
problem
was
with
the
backward
compatibility.
So
because
you
know
most
of
the
models
are
in
anything
from
abstract
model.
B
That,
basically,
is
using
the
data
variable
to
be
populated,
so
I
also
excited
to
modify
the
constructor
data.
We
thought
by
adding
a
check,
so
if
theta
parameter
is
set,
we
will
so
inject
the
same
from
actually
inside
the
data
parameter,
and
this
was
my
first
approach
on-
is
simply
working,
but
the
problem
is
that
in
this
way
we
just
defined
interface
but
the
underlying
model.
So,
for
example,
if
we
we
take
an
example
in
a
medium
si,
so
we
take
the
source
model.
The
source
object
here.
B
We
we
can,
for
example,
set
create
I
remove,
will
be
setters
from
the
interface
like
I
did
here,
but
the
underlying
model
allows
the
set
methods,
because
you
you
need
it
for
something
to
use
in
the
backend
when
you
try
to
sale,
because
as
far
as
now,
it
is
using
the
messiah's
using
and
a
greater.
That's
basically
rely
on
populate
with
array
that
relies
on
set
of
needles.
B
B
Yes
example,
for
example,
reactor
years
is
using
the
immutable
and
whenever
you
need
to
change
something
inside
invisible,
you
just
create
a
new
object,
became
new
information
that
makes
sense
they
call
it
mapping
and
basically
I
decided
to
change
the
super
dredger
approach
in
the
su
smarter
approach.
The
tester
is
creating
a
copy
of
the
object
with
update
information.
So
if
we
want
to
save
the
new
source
instead
of
like
rating
I,
create
a
copy
of
the
same
source
based
on
the
previous
one,
so
we
create
a
new
immutable
source
and
we
can
save
it.
B
That
is
the
set
extension
attributes,
because
I
think
we
cannot
remove
this
kind
of
cetera,
because
many
when
we
want
to
use
extension
activities,
we
are
relying
on
buggy,
and
so
many
users
are
using
septic
station
at
use
to
inject
the
new
expansion
acting
so
I
think
this
would
be
the
other
one
you
cannot
remove,
but
I
don't
know
what
you
think
about,
but
anyway,
this
is
what
I
did
till
now
and
seems
to
be
working.
So
as
you
can
see
the
source
model
as
the
more
sectors
and
it
seems
to
be
working.
B
C
C
It's
a
bit
of
historical
context
and
then,
after
working
with
immutable
objects.
Well,
the
decision
was
made
to
switch
the
mutable
object
because
it
was
inconvenient
to
work
with
metal
objects.
We
didn't
have
good
infrastructure
to
work
with
immutable
objects
and
at
that
point
we
build
this,
but
builders
for
used
for
immutable
objects.
So
if
you
wanted
to
pay
it
in
object,
you
would
populate
they
wouldn't
read
for
that.
Object
populate
that
still
there
with
data
from
old
object,
and
this.
B
Is
what
exactly
what
I
told
you
before
I
moved
from
susceptible
to
a
so
smart
work
that
basically
created
immutable
that
out
that
helper?
That
is
doing
exactly
this,
because
if
you,
if
you
look
inside
it's
just
an
easier
way
to
do
this,
because
what
I
really
create
a
new
object
and
inject
a
new
information
instead
of
new
object.
So
this
is
a
kind
of
leader.
Actually,
yes,.
D
E
C
B
I,
actually
we
have
a
side
project.
I
mean
I
was
talking
about
this
with
with
Igor
but
is
still
less
than
one
alpha
with
Alessandro.
But
basically
we
are
working
on
this
kind
of
stuff,
so
kind
of
auto-generated
for
kikyo
and
pull
the
stuff
connected.
But
it's
a
side
project,
so
I
I
can
show
it.
I
can
show
it
to
you,
but
not
now,
but
yet
we
have
been
thinking
to
do
some
kind
of
about
the
generation.
Ok,.
C
So
it's
a
I
conceptually
I
like
Amin
to
build
data
objects.
The
only
problem
we
have
to
so
now
that
we
didn't
have
good
solution
towards
the
years
ago
was
how
to
work.
These
nested
immutable
objects
like
if
you
have,
if
you
have
a
lot
of
nesting
like
three
levels
of
nesting,
so
you
have
a
data
objects
for
product.
The
product
has
link
to
option.
Option
has
helped
you,
and
if
you
want
to
change
you
value,
then
you
have
to
go
and
change
three
or
create
three
new
objects.
That
was.
C
A
And
just
want
to
add
that
we
don't
want
to
forbid
and
like
mutability
at
all.
But
we
are
the
main
ideas
to
provide
the
possibility
to
use
immutability
because
currently
because
of
the
limitation
of
the
Web
API
framework,
its
ability
to
do
it.
So
we
would
like
to
make
a
proof
of
concept
and
see
that
we
we
have
fun
and
we
have
ability.
B
A
A
D
What
so
this
week,
I've
been
working
on,
my
PR
92
is
improved.
The
actual
execution
speed
of
all
of
the
contest's
I
have
in
this
particular
one.
So
I
will
jump
over
to
some
actual
code,
so
before
hand
is
just
one
test.
I
mocked
up
to
show
you
what
I've
been
working
on
beforehand.
We
had
to
actually
go
through
and
do
all
of
the
attachments
here,
so
we
actually
had
to
go
to
the
stock
age
had
to
open
up
an
actual
stock.
D
We
had
to
define
the
actual
website
to
it
and,
of
course,
to
it,
and
all
of
this
took
around
35
45
so,
and
that
was
needed
to
be
done
in
most
of
our
tests.
So
the
first
step
that
I
did
was
I
wrapped
us
all
up
into
the
night
action
group.
So
we
in
my
PR
I
also
interviewed
fashion
groups.
I
have
several
different
action
groups,
so
we
have
implemented
here.
So
this
is
the
first
version.
C
A
D
D
C
D
Can
actually
create
stocks
via
the
API,
we
can
then
create
a
or
source
via
the
API,
that
we
can
create
a
soft
Beauty
API,
and
then
we
can
actually
link
these
two
together.
All
of
this
takes
a
few
seconds,
so
we
go
from
35
40
seconds
down
to
probably
less
than
five
seconds
to
actually
create
everything
via
the
API
and
this
cleans
up
our
code.
So
we
go
from
this
messy
block
and
most
of
our
tests
to
just
needs
a
few
lines
here,
and
that
gives
us
an
improvement
in
our
actual
execution
speed.
D
So
that
is
what
we
actually
introduced
was
this
CR
CR
itself
was
the
test
that
we've
created
all
of
the
different
pieces
of
metadata
that
we
touch
and
created
have
been
listed
here.
Something
I'm
like
to
look
over
them
to
see
how
they're
interested
up
and
then
I
have
a
list
of
all
the
action
groups
that
I
introduced
here.
D
Is
super
exciting
right
now
we
have
32
tests
pending
in
the
PR
that
we
have
open.
That
Alex
is
working
very
hard
to
get
reviewed,
I
jump
in
and
help
him
do
some
reviewing
today
and
we
currently
have
26
tests
that
are
labeled
as
automated
that
are
committed
to
the
actual
repo
did
he
pull
it
down
yourself,
six
steps
that
were
actually
run.
B
A
A
It
was
brought
like
the
week
or
two
weeks
ago
when
we
were
the
comment'
and
the
possibility
of
disabling
sources,
and
it
was
a
possibility
and
I'ma
fight
to
disable
the
default
source
but
taking
inter,
and
it
could
be
possible
to
create
a
single
source
system
based
on
on
another
source,
but
not
default.
One,
and
actually
this
sounds
like
a
good
good
possibility
with
opportunity,
but
taking
into
account
that
we
have
some
lot
of
special
special
logic
assigned
to
default
source.
A
A
We
we
decided
that
for
the
NDP
version
that
it
would
be
key
to
to
prevent
the
possibility
of
disabling
I
default
source
and
so
the
in
the
MVP
version,
we
will
always
have
the
default
source
as
a
neighbor
one,
and
we
will,
we
create,
add
additional
story
for
future
version
to
consider
that
to
consider
a
possibility
of
disabling
default
source,
but
currently
because
we
have
too
many
logic
like
migration
from
the
single
person
to
to
MSI
one.
We
use
the
default
source.
A
We
we
knew
the
default
source
for
synchronization
and
just
to
remind
you
that
we
support
bundle,
bundle
and
group
product
for
default
source
default,
stop
only
and
we
reuse
the
existing
minguk's,
so
catalog
inventorystruct
status.
That's
why?
Currently,
we
are
unable
to
provide
the
possibility
for
default
source
for
the
full
source
and
to
be
disabled.
So
now,
I
will
share
my
screen
and
show
that
Alex
in
between
Oh
or
introduce
this
kind
of
functionality.
And
now
we
prevent
default
or
to
be.
E
E
E
E
A
So
we
already
communicated
to
Alex
and
asked
him
just
to
disable
just
to
disable
the
toggle
for
the
full
source,
that's
to
prevent
to
be
enabled.
So
what
the
matter
to
have
it
to
be
enable
and
if
the
functionality
doesn't
work
for
the
whole
sorcerer
and
the
Hugh
make
this
slide.
So
I
changed
my
true,
but
he
made
a
recording
before
the
for
optimization.
So
this
actually
the
main
update
for
food.