►
Description
Recording of the PnP Core, PowerShell and Provisioning SIG from February 8th of 2017. This is bi-weekly special interest group call concentrating on the mentioned topics. You can download invite from following address - https://aka.ms/sppnp-core-sig-call
A
Let's
actually
get
moving
so
welcome
everybody.
This
is
the
special
interest
group
on
the
PMPA
sites,
core
PowerShell
and
BMP
provisioning
engine.
Like
mentioned
I'm
here
with
Burt
Johnson.
We
are
sitting
in
the
same
room
at
treatment,
and
this
is
actually
pretty
rare
that
this
happens
so
because,
typically,
we
are
sitting
outside
well
we're
working
remotely
from
home.
A
So
let
me
sorry
there's
a
different.
Let's
get
moving
in
a
second
there's,
some
people
turning
to
the
wrong
setup
or
on
call
we
have
some
issues
related
on
the
is
the
invites
and
sorry
for
that.
Will
that
has
been
updated
on
the
site,
so
that
should
be
good,
but
let's
actually
get
moving
on.
The
right
discussion
is
just
to
ongoing
calls
right
now.
So
today
is
February
8
2017,
and
what
we
wanted
to
do
today
is
is
quickly
have
a
look
on
on
our
high-level
statistics
from
January.
It
might
be
something
with
not.
A
Everybody
is
super
interested,
but
there's
some
conclusions
out
of
that
data.
So
we
wanted
to
actually
code
that
true
as
well
before
we
get
there
quickly,
explaining
a
shippin
PMP,
its
own
PI,
SharePoint
engineering.
So
me
personally,
I
sit
within
the
well
I
work
in
a
team
who
is
responsible
after
all,
of
the
api's
and
development
stories
within
the
SharePoint,
and
we
do
own
the
PMP.
But
we
work
together
with
community
MVPs
and
non
MVPs
on
the
PMP
open
source
elements
and
components
which
we
then
provide
for
everybody
to
consume.
A
There's
code
samples
harness
documentation,
x'
community
calls
dreams
are
on
SharePoint
framework,
errands
craft
of
choices
to
5
API
development.
This
particular
call
is
really
around
to
be
empty
core
component
and
the
power
shop
so
really
concentrating
those
different
aspects.
There
is
a
separate
special
interest
group
calls
for
SharePoint
brain
work,
so
if
you're
more
into
that
client
side,
development
and
the
SharePoint
framework,
which
will
go
pretty
soon
into
GA
and
that's
a
separate
bi-weekly
call
as
well.
So
for
this
particular
call.
A
So,
just
working
through
some
of
those
things
with
you
as
well
feel
free
to
ask
any
questions
as
we
move
along
and
then
on
the
second
part
of
the
call
we
will
have
two
demos,
so
there's
a
demo
around
TMP
provisioning
engine,
refactoring
bipolar
powers
can
actually
walk
through
some
slides
and
explaining
why
we
are
doing
this
and
what's
the
objectives
of
doing
so,
and
then
there's
a
demo
on
the
latest
PMP
partial
changes
done
by
the
father
of
the
PMP
PowerShell.
Sorry,
everyone
who
ninh
or
mr.
A
ban
like
we
call
him
internally
or
in
the
team.
Mr.
van
good
and
sorry
I've
been
faking
that
one
out
as
well,
but
let's
actually
move
on
on
the
on
the
thing.
So
yesterday
we
had
a
p.m.
PST
recruit
meeting
with
the
SharePoint
engineering
senior
leadership,
and
these
are
the
slides
which
we
weren't
sure
they're.
Just
sharing
with
this
open
man
getting
it
recorded
as
well,
and
so
people
can
actually
have
a
look
on
what
has
happened
within
the
last
quarter
mainly
well.
A
This
is
a
few
marks
one
month
more
than
a
1/4,
but
obviously
we
are
tracking,
quite
detailed,
what's
happening
from
a
PNP
and
in
general
on
a
SharePoint
community
sign
and
what
we
have
been
doing,
how
things
are
improving?
How
much
people
are
watching
our
videos?
How
much
people
are
using
our
components
across
tenants?
I
will
go
through
this
relatively
fast,
so
that
we
have
time
for
the
powershell
and
the
engine
discussions
as
well,
but
just
giving
you
some
insights
on
the
statistics,
what
we
are
collecting
on
a
youtube
site.
A
We
have
released
49
videos
during
the
past
few
months
and
overall
watch
time
during
these
months
is
two
hundred
and
twenty
nine
thousand
minutes,
which
is
pretty
impressive.
The
SharePoint
framework
tutorial
1,
which
is
explaining
how
to
get
started
on
SharePoint,
is
the
number
one
video
with
24,000
watch
10
minutes,
which
is
critical.
The
numbers
are
pretty
impressive.
A
On
the
MSDN
sites,
we
have
released
few
articles
around
the
PM,
sorry,
the
modern
sites
and
list
customization
story.
We
do
know
that
that's
not
necessarily
sufficient
for
all
of
the
business
requirements
what
people
might
be
having
and
we
in
SharePoint.
The
engineering
also
are
improving
those
capabilities
in
the
in
the
future,
but
that's
really
due
to
modern
customizations
modern
sites,
and
this
customization
articles
really
boost
up
the
BMP
MSDN
site
usage
and
it
went
up
to
44%
from
September
on
the
dev
tosh.com.
A
We've
done,
19
new
weekly
webcast,
6,
new
blog
post
and
4
monthly
releases,
which
are
essentially
always
going
back
and
looking
what
was
happening
in
January
as
an
example
or
the
previous
month.
And
then
you
can
see
what
are
the
samples
and
changes,
what
has
happened
within
the
engine
or
in
PowerShell
or
in
the
indifferent
other
solutions
in
the
BMP.
A
The
next
monthly
release
will
happen
on
this
Friday.
Most
likely
communications
will
go
out
on
Monday.
We
have
a
monthly
communique,
a
monthly
community
call
on
next
Tuesday.
The
reason
why
the
communications
will
most
likely
be
postponed
for
Monday
is
that
we're
traveling
across
the
pretty
hectic
time
zones
again
during
weekends.
So
we
might
be
running
out
of
time
on
the
on
the
Skype,
with
business.
A
Obvious
we've
been
having
this
by
weekly
calls
and
special
interest
group
calls
and
that's
pretty
the
participant
rates,
for
this
are
increasing
all
the
time,
which
is
pretty
good
for
both
SharePoint
framework
stuff
and
also
the
p.m.
decorum
PowerShell
on
the
key
top.
The
numbers
are
growing
quite
fast
as
well,
so
we
are
up
to
thirty
three
thousand
seven
hundred
and
forty
Forks,
all
together
with
BMP
Reapers,
which
actually
makes
the
BMP
just
BMP
main
repo
has
like
two
thousand
seven
hundred
folks.
A
Well,
that's
a
number
eight
in
the
overall
repository
size
in
Microsoft,
which
is
pretty
impressive.
If
we
count
the
all
of
the
forks
in
the
PMP,
which
is
the
photo
for
3,740,
we're
number
two
in
overall
list
of
Microsoft
kid
operators
from
a
size
perspective,
we
could
just
look
on
the
Forbes,
which
is
super
cool.
The
PMP
no
get
downloads
is
up
to
66,
68
thousand
or
48
percent
unique
visitors
up
to
28
percent,
merge,
pull
request,
25
percent
overall
there's
247
unique
contributors
across
the
repos,
and
we
have
more
than
10,000
contributions.
A
Contributions
essentially
means
individual
commits
in
a
kit
hub,
but
we're
tracking
all
of
this,
obviously
in
our
elevator
data's
way.
So
we
know
how
much
we
can
hear
how
much
we
should
be
investing
on
this
area
in
the
future
and
obviously
will
increase
investments
because
members
are
looking
is
truncated.
In
January
we
had
1.3
billion
HTTP
requests
going
through
the
PMP
core
components
and
the
MP
powershell,
and
that's
super
impressive.
So
we
increased
that
by
44%
from
December,
so
the
growth
is
pretty
huge
and
then.
A
Tenants
usage
we're
in
3700
tenants
on
on
the
core
components
for
provisioning.
We
missed
the
1,000
objective
with
the
two
tenants,
so
we
had
998
tenants
using
using
our
provisioning
engine
and
then
on
the
jobs.
There's
four
hundred
one
hundred
and
forty
four
webcasts
and
communication
presentations
currently
available,
and
then
the
MP
part
in
fact
has
been
used
in
133
tenants
during
previous
months,
which
is
pretty
cool
as
well
good.
A
Some
other
kind
of
a
conclusions
out
of
this
data
before
we
go
to
the
demo
section
so
like
mentioned
out
there
relatively
fast,
unless
there's
any
questions
on
this
one,
so
the
added
model,
clearly
the
usage
of
padding
model
and
the
core
components
and
PMP
PowerShell
is
increasing.
We
can
see
compared
to
August
or
September
to
January
to
increase
this
relatively
big.
The
December
always
goes
white
laid
down
because
December
is
is
a
holiday
season
and
we
in
the
PNP
we're
kind
of
over
to
go.
A
A
Adoption
across
the
world
is
crowing
as
well,
so
we
can
actually
see
that
the
PMP
BMP
power
shop
and
the
BMP
core
component
usage
is
relatively
big
and
it's
across
the
world
as
well.
Us
is
no
doubt
in
up
to
number
one
if
we
would
combine
the
Europe
as
a
single
country
which,
obviously
it
isn't,
it
would
be
pretty
close
one
to
one
of
close
where
between
the
US
us
is
obviously
a
big
country.
A
So
there's
more
tenants,
as
we
can
see
from
the
charts,
but
it's
nice
to
see
that
the
PMP
power
show
and
the
core
component
is
used
and
the
BMP
stuff
in
general
used
across
the
world
widely,
which
is
critical
on
premises
still
very
relevant.
We're
getting
this
feedback
all
the
time
in
the
issue
lists
under
discussions,
and
we
can
actually
see
that
the
on-premises
demand
also
in
the
new
care
packages
and
downloads.
So
one
third
of
the
NuGet
packages
are
our
downloaded
for
the
on-premises
data,
SharePoint,
2013
or
Chevron
2016.
A
The
checkpoint
2013
is
no
doubt
thicker
than
SharePoint
-16
Sharon
2016
is
crowing,
but
we
do
not
have
obviously
detailed
statistics
from
on
premises
because
we
don't
have
access
on
on
those
environments,
which
is
absolutely
understandable.
The
previous
stats
are
coming
from
SharePoint
Online
and
because
we
are
shape
and
engineering,
we
actually
are
able
to
get
that
gate
out
from
a
SharePoint
Online
share.
A
One
already
that
we've
been
doing
a
lot
of
cleaning
on
issue
lists
and
we've
been
really
kind
of
tackling
our
issues
going
through
back
historical
issues,
making
sure
that
they're
fixed,
if
they're
not
will
reactivate
the
stuff
and
all
of
that
so
we're
trying
to
get
on
top
of
things
as
fast
as
possible.
It's
a
reasonable
thing
challenged.
A
Obviously,
because
none
of
us,
like
you
guys
or
of
course
you
just
don't-
have
enough
time
to
do
off
the
jobs,
but
we
should
be
able
to
do
for
requests
by
month
and
a
repo
it's
a
pretty
hectic
chart
as
well.
So
we
can't
be
up
to
69
pour
requests
for
p.m.
pay
powershell
in
october,
which
is
pretty
huge
or
then
the
temporaries
was
relatively
or
much
lower.
So
December
we
had
six
to
seven
probe
requests
overall
and
in
January
198.
But
okay,
as
the
probe
requests
are
well
below
costs
are
kind
of
a
challenging.
A
We
can't
really
estimate
how
long
a
one
poor
request
takes
to
resolve,
because
one
protest
can
actually
cause
challenges
or
it
might
be
a
really
simple
fix,
and
obviously
we
want
to
process
them
in
a
detailed
way
and
make
sure
that
none
of
the
in
production
deployments
will
be
impacted
by
the
provider.
Changes
huge,
a
few
more
slides
before
we
go
to
the
demo
section
as
well.
Side
provisioning
is
critical
functionality
so,
and
we
in
obviously
in
SharePoint
engineering,
are
looking
into
this
one
as
well.
A
So
if
I
switch
my
hat
from
a
PMPs
side
to
the
SharePoint
engineering
side,
the
PMP
provisioning
engine
is
used
currently
by
engineering.
As
the
let's
say,
the
inspiration
for
the
future
model,
how
the
SharePoint
will
work
related
on
templating,
but
that
will
take
a
while
to
actually
get
up
and
running
and
implemented.
So
the
PMP
provisioning
engine
is
no
doubt
currently
the
model
how
to
do
stuff
in
a
best
way
in
a
SharePoint
online
or
in
on-premises
as
well.
If
you
want
to
avoid
on
privacy
challenges
in
on-premises
as
well.
A
In
general,
we
hit
nine
hundred
and
8
tenants
using
the
PMPA
provisioning
engine
in
January,
1
2
3
of
the
requests
are
for
provisioning.
1/3
are
for
extraction,
which
is
kind
of
understandable
as
well,
and
what
we
can
see
from
the
data
which
is
getting
collected
on
SharePoint
Online
is
that
the
PMP
provisioning
engine
is
quite
often
used
as
a
help
for
the
migration.
A
So,
quite
often,
when
there's
a
new
tenants
coming
in
there's
a
spike
on
the
HTTP
request,
usage,
true
PMP,
and
then
it
settles
down
in
a
much
less,
which
indicates
that
there's
a
my
creation
happening
for
that
particular
tenant,
which
is
pretty
cool
and
no
doubt
the
PMP
provisioning
engine
is
a
great
tool
for
you
to
set
the
slides
and
configurations
in
SharePoint
Online
to
have
the
content
types
to
lists
and
everything
else.
The
PMP
does
not
do
migration.
A
So
for
my
creation,
you
would
have
to
use
then
a
third
party
migration
tooling,
and
we're
not
looking
into
extending
the
BMP
natively
to
the
migration
itself.
Do
numerius
reasons
its
sounds
simple,
but
actually
it's
a
super
super
complex
scenario.
So,
third
party
migration,
solving
it
stays
the
way
to
go
a
few
more
slides
kind
of
additional
slides.
So
PowerShell
is
a
common
extensibility
model.
This
is
something
which
we
from
a
PMP
aside.
A
We
need
to
teach
also
sharepoint
engineering
on
this
one,
because
obviously
they
don't
quite
understand
that
how
people
are
using
the
PMP
powershell
as
the
customization
tooling
toward
sharepoint
online,
even
though
you
you're
doing
scripting,
but
actually
you
are
from
provisioning
a
site
you're,
applying
the
branding
you're
applying
to
the
lists
and
content
pipes
and
all
of
that
using
the
PMP
powershell.
So
we
hit
1000
1300
tenants
with
PMP
PowerShell
use
its
in
January
and
100
million.
It's
the
DB
record
requests
going
through
and
by
looking
into
by
the
way,
maybe
on
this
one.
A
Some
of
maybe
on
this
one
just
to
mention
this
kind
of
a
super
cool
I
had
a
few
meetings
yesterday
with
the
right
people
here
in
Redmond,
and
we
are
actually
actively
looking
into
combining
the
native
sharepoint
online
admin
powershell
with
the
empty
powershell.
No,
this
is
super
early,
so
it
doesn't
mean
that
it
will
necessarily
even
happen,
but
there's
a
cream
lights
to
move
forward
on
on
thinking.
How
do
we
actually
make
that
happen?
A
Because,
right
now
we
are
still
getting
a
lot
of
feedback
from
the
community
from
you
guys
in
the
school
that
it's
kind
of
confusing.
Why
do
we
have
sharepoint
online
admin?
Shell
for
some
operations,
that
then
we
have
the
empty
powershell
for
content
level
operations?
Why
wouldn't
we
actually
combine
these
as
a
one
super
powerful,
sharepoint
online
comic,
let's
set
and
then
do
that
as
an
open
source,
so
we're
looking
into
practicalities
of
making
that
happen.
So
awesome
news
from
that
perspective.
A
And
then
a
few
conclusions,
part
of
our
popular
articles
and
videos,
so
planning
in
sharepoint,
is
a
big
ask
among
customers.
We
absolutely
get
nuts,
so
we
can
see
it
up
directly
from
the
samples
and
articles
and
MSDN
or
the
youtube
videos
as
well
customizing.
Modern
experiences
guidance
is
that
there
was
a
high
interest
on
that
one
as
well,
and
obviously
we
know
that
that's
currently
slightly
limited,
but
we
are
looking
into
enabling
additional
scenarios
as
we
move
along
during
the
spring
as
well.
A
So
there
will
be
additional
supported
scenarios
for
modern,
modern
team
sites
as
well.
Sharepoint
framework
webcasts
absolutely
are
pretty
popular,
which
is
understandable,
not
directly
related
on
this
sake,
but
it's
nice
to
say
that
people
are
under
kind
of
a
catching
up
on
hey.
This
is
something
what's
coming
up
pretty
soon,
I
can
start
using
the
client-side
web
parts
relatively
soon
in
production.
A
Getting
some
of
the
the
modern
experiences
like
the
SharePoint
framework
will
land
on
is
shipment
2016
environments
during
this
calendar
year,
but
it's
a
good
example
a
reminder
on
the
fact
that
hey
we
need
to
keep
on
doing
that
as
well.
Not
all
people
are
in
SharePoint,
Online
and
kind
of
a
similar
kind
of
thing
is
visible
from
our
sample
site.
So
we
can
actually
see
that
on
the
right
side,
we
have
the
most
active
samples
between
the
December
and
January
and
the
SharePoint
UI.
You
are
responsive
packets.
It's
number
one.
A
A
A
Good
analogue
nation.
Actually,
as
part
of
the
community
engagement,
we've
been
doing
a
lot
of
cleaning
in
a
kid's
hub
on
the
issue.
Lists
we'd
be
moving
some
issues
across
the
Reapers
and
that's
really
to
make
sure
that
the
core
component
issues
are
in
a
core
component:
repos
that
they're
not
getting
lost
anywhere
else
and
then
in
a
core
component
site.
A
We've
been
doing
a
lot
of
cleaning
as
well
in
general,
and
we
keep
on
doing
that
in
the
coming
months
as
well,
because
we
want
to
get
on
top
of
things,
and
we
want
to
make
sure
that
things
are
whenever
there's
an
issue
for
you
guys.
We
are
able
to
answer
that
in
a
matter
of
days
rather
than
in
middle
of
a
matter
of
months,
so
we'll
address
on
that
one
cute,
but
I
think
it's
time
to
see
something
in
practice.
So
we
have
40
minutes.
A
A
But
the
more
people
are
using
these
reusable
components
and
the
more
resources
to
BMP
will
get
and
the
more
higher
quality
the
stuff
will
be,
because
we
can
actually
help
the
people
to
address
the
issues
which
they
might
run
into
with
separating
and
in
general.
Maybe
on
issues,
even
though
I'm
always
mentioning
issues,
we
do
have
automated
daily
unit
testing
with
450
real
functional
tests,
not
just
unit
testing.
Actually
so,
and
things
are
looking
fine
for
the
February
February
release,
but
I
think
that's
it.
Let's
switch
the
power
first,
we're.
A
A
B
So
we
now
have
a
couple
of
more
command
posts
there
to
help
you
with
term
sets
term
groups
and
terms
simply
use
is
just
get
P
and
P
term
group
press
ENTER
and
you
get
all
the
term
groups.
So
if
you
want
to
do
a
specific
term
set
from
a
crew,
P
say,
for
instance,
group
Hey
and
that's
completion
there
we
go
and
high
fived
s
to
P
and
P
term
set
I
got
the
term
sets
in
that
group
same
thing
you
can
do
with
terms
I
can
also
get
to
a
specific
term.
B
So
if
I
will
see
all
the
terms
in
the
terms
have
two
cat,
PB
term
term
set
B
II
intuitively
names
term
group,
the
first
couple
bit
down
there.
We
have
all
the
terms
in
that
specific
term
set
so
they're,
equivalent
commandlets
for
creating
terms
for
creating
term
sets
and
for
creating
term
groups,
removing
terms,
etc,
etc.
So
they
are
all
there
now,
so
that
makes
it
a
bit
easier.
B
Then,
okay
for
joins
nothing
actually,
in
this
case,
I
want
to
look
into
what's
happening
here,
but
that's
the
idea
with
the
olds
command
lists,
and
they
didn't
really
work
that
well,
they
were
not
a
very
intuitive.
This
makes
more
sense.
In
my
opinion,
another
thing
that
I
want
to
introduce
veces
I
think
it's
quite
a
good
addition,
and-
and
that
is
an
issue
that
many
people
ran
into
with
the
commandlets,
and
that
is
that
the
collection
is
not
initialized
error
message.
B
So
here's
my
tasks
list
and
if
I
want
to
have
the
views
from
that
list,
I
could
just
do
L
views
I
get
an
error
messages
now.
This
is
not
something
you
did
something
wrong,
but
this
has
to
do
with
the
way
season.
Behind
the
scenes
works,
it
has
to
do
with
the
fact
that
we
have
to
explicitly
request
in
when
we're
loading
that
list
from
the
server
that
we
also
want
to
views
to
be
included.
But
we
don't
know
upfront
what
you
want.
B
So
what
we
did
is
for
a
bunch
of
command
is
not
for
every
commander,
but
for
those
were
relevant
we
now
introduce
an
includes,
attribute
or
parameter,
and
this
one
is.
Completion
has
completion,
so
you
can
use
tap
in
there.
So,
if
I
go
to
the
views
now,
this
object
will
be
loaded,
including
the
views
so
now
I
can
say
doll,
L
use.
There
is
my
views
of
this
specific
list.
B
There
are
certain
caveats
there
we
go
to
levels
deep
because
she
can
sometimes
go
indefinitely
deep
because,
for
instance,
all
this
can
have
a
parent
resistor
web.
The
web
can
have
another
lease
connection,
etc,
etc.
You
can
you
know,
there's
no
end
to
that
of
many
level.
Tp
can
go
so
we
go
to
the
two
levels,
deep
from
some
of
them.
B
Only
one
level
deep,
depending
a
bit
on
the
object,
but
the
includes
parameter,
is
a
very
nice
I
would
say
addition
to
a
bunch
of
the
commandlets
that
there
and
we
have
been
updating
the
help.
Obviously,
to
tell
you
that
the
command
that
supports
that,
so
there's
a
realize
thing
and
that's
actually
what
did
these
formats?
Yes,
one
more
commanded
I
want
to
shorten
it's
been
written
by
Nicolas
pencil
from
Norway
and
he's
he's
very
much
into
shirts
and
he
created
a
submit
PMP
search,
query
commandments.
B
So
if
you
do
submits
PP
search,
query
and
you
do
a
query
and
I
write
tests,
it
will
actually
just
execute
the
search
for
the
server
and
that
comes
to
search
results.
Objects
were
there
that
you
can
use
to
consume
and
do
things
with,
and
this
is
a
generic
search,
query
you're
executing
and
you
can
have
a
paste
results
and
etc.
So
this
is
a
quite
a
nice,
like
quite
a
nice
commandlets,
that's
very
useful
to
execute
services
straight
from
our
shell.
B
Another
last
two
commanders
that
I
want
to
show.
You
is
the
related
to
side
closure.
So
there
is
a
get
PNP
side
closure.
Every
returns
to
status,
you
can
wit
set,
pin
P
side
closure
set
P
P
side.
Closure
can
I
set
aside
to
close,
but
there
is
no
side
policy,
so
you
will
have
to
M
yeah
and
play
around
with
these,
because
they
look
set
PP
side
policy
to
give
you
warnings,
but
it
allows
you
to
close
an
open
insight
using
the
policies
and
that's
it
from
PowerShell.
A
After
they
must
dimension,
so
yes
as
part
of
temporary
rates-
yes,
indeed
so
right
now,
these
are
not
in
the
latest
version
which
release
with
us
out,
but
after
the
February
must
emerge
which
will
happen
on
Friday
weekend.
Monday
will
pay
the
communications.
All
of
this
result
at
that
point,
any
questions
for
Erin
on
that
one.
A
Just
out
of
curiosity,
if
there's
anybody
who
who
just
has
a
question
on
this,
this
is
super
cool
by
the
way
so,
and
thanks
for
me
Kyle
that
the
first
thing
is
is
kind
of
like
somebody
put
it
in
there
or
cholo
put
it
in
there
in
the
I
window.
It's
pretty
sexy,
it's
that
useful.
Well,
maybe
there
might
be
scenarios,
but
it's
pretty
cool.
A
C
A
C
Thank
you,
visa
and
welcome
everybody.
I'm
gonna
share
my
screen
to
show
you
just
a
few
slides
about
the
refactoring.
We
are
applying
to
the
way
we
handle
provisioning
templates
as
the
realization.
In
this
realization,
then
I
will
show
you
a
quick
demo
of
the
refactoring
in
practice,
and
we
already
talked
about
this
topic.
C
So
whenever
we
think
about
the
dominant
model
in
memory,
we
should
also
know
or
be
aware
of
the
fact
that
on
the
earth
side,
we
will
have
on
the
persistence
layer,
for
example,
an
XML
file
like
this
fake
one
I
am
showing
you
on
this
slide
and,
as
you
can
see,
there
is
a
provisioning
element.
There
is
a
provisioning
template
element
with
a
collection
of
site,
filled
the
content,
type
and
list
elements
as
still
a
child
element,
and
so
on
and
so
forth.
C
So
whenever
we
want
have
lured
or
save
a
provisioning
template
from
persistent
storage,
we
need
to
load,
for
example,
the
XML
from
the
file
or
from
a
library
in
SharePoint
into
the
in-memory
representation
of
the
domain
model.
And
right
now
we
do
support
quite
a
lot
of
different
XML
schemas
to
represent
the
provisioning
template,
because
whenever
we
release
a
bunch
of
new
capabilities,
we
also
need
to
have,
from
an
external
perspective,
the
capability
to
describe
to
define
those
information
within
a
template
object
and
within
a
template
XML
file.
C
C
So
next
month
in
March,
we
will
release
a
new
version
of
the
schema
which
will
be
supported
by
the
engine,
probably
in
April,
because
usually
we
release
a
schema
and
then
afterwards
release
the
new
capabilities
at
the
engine
level.
But
whenever
we
release
a
new
version
of
the
template
or
a
new
version
of
the
schema,
we
also
need
to
make
the
engine
able
to
read
and
write
that
XML
format
from
the
persistent
storage
into
the
domain
model
and
founded
our
model
back
to
the
persistent
storage
and
just
to
make
an
example.
C
All
these
four
matters
right
now
are
quite
complex
for
from
a
testing
perspective.
So
if
we
want
to
do
testing
or
automated
testing
or
if
we
want
to
validate
the
behavior
of
the
formatters,
it
is
not
that
easy
to
be
very
modern
through
applying
the
testing
rules
against
a
unique
big
chunk
of
code
and
just
to
wrap
up.
We
realize
that
the
original
idea
of
having
a
formatter
for
each
and
every
different
schema
version
is
really
painful
from
a
maintenance
perspective.
C
So
we
decided
to
replace
this
solution
with
something
much
more
maintainable
of
saying,
much
more
testable
from
a
development
perspective.
That's
why
we
are
now
introducing
the
idea
of
having
a
bunch
of
serializer
objects
where
we
have
one
civilizer
still
for
each
and
every
schema
version.
But,
as
you
will
see
pretty
soon,
each
civilizer
is
really
really
simple
and
mainly
based
on
a
base
abstract
class,
which
will
have
the
real
logic
inside
of
it.
C
This
approach
allows
us
and
will
allows
us
to
do
proper
testing
and
to
be
very
modern,
while
approaching
the
development
and
the
maintenance
of
the
serialization
and
deserialization
of
the
template
the
very
beginning.
Last
month
we
try
to
use
the
automatic
or
engine,
but
I
think
I
can
say
that
way
that
we
somehow
failed
using
and
I
failed,
because
it
was
my
choice
to
try
to
use
the
ultimate
library,
which
is
totally
ok.
C
I
mean
it
is
really
good,
but
unfortunately
it
doesn't
work
very
well
in
the
context
we
have,
because
we
need
to
do
mapping
between
one
domain
model,
which
is
the
one
of
the
provisioning
engine
and,
on
the
other
side,
multipolar
schema
models
which
can
be
eventually
totally
different
from
one
schema
to
another.
And
so
we
can't
simply
rely
on
mapping
objects
based
on
the
property
names.
C
But
we
need
to
do
something
more
and
that's
why
we
decided
to
create
a
kind
of
our
own
homemade
TMP
outer
mapping
engine
which
will
do
the
mapping
keeping
in
account
all
the
specific
needs
that
we
have
in
the
provisioning
engine
of
EMP.
So
stop
talking
and
let
me
move
to
the
visual
studio
environment,
to
show
you
what
we
did
and
to
show
you
where
we
are
so
far
just
to
be
clear.
C
What
we
are
going
to
see
right
now
will
not
be
in
the
February
really
is,
but
it
will
come
out
in
the
March
release
ready
to
support
the
new
schema.
So
we
don't
need-
and
we
don't
have
time
to
really
is
these
new
refactoring
by
the
end
of
this
week.
But
to
be
fair,
you
don't
really
need
it
right
now.
Everybody
will
need
it
as
soon
as
there
will
be
a
new
version
of
the
schema
out
there,
because
right
now
we
already
support
properly
all
of
the
schema
versions
that
are
supported
by
the
engine.
C
Ok,
so
let
me
move
to
Visual
Studio.
Let
me
show
you
what
we
have
done
here.
We
have
the
solution
of
the
PMP
sites,
core
library
and
within
the
framework
folder
under
the
provisioning
section.
I
have
the
providers
area
in
which
we
have
the
JSON
provider
and
the
XML
provider.
All
these
challenges
apply
just
and
only
to
the
XML
serialization.
C
C
So
whenever
we
want
to
play
with
the
new
serialization
engine,
we
will
start
from
a
base
class
which
will
have
to
be
inherited
by
a
concrete
class
which
will
have
to
specify
to
provide
the
type
of
the
XML
provisioning
template
that
it
will
be
handled
by
that
specific
sterilizer
from
a
backward
compatibility
perspective.
This
new
basis
civilizer,
is
completely
backward
compatible
with
the
already
existing
architecture
of
the
engine.
So
from
an
end
user
perspective,
all
of
these
refactorings
will
be
completely
transparent.
Ok,
so
we
will
not
break
anything.
C
Hopefully,
ok,
but
that's
that's
our
that's
our
goal
and
that's
why?
If
not
that
easy,
it
wasn't
that
easy
to
do
all
the
refactoring.
So
we
have
a
base
class,
which
is
an
abstract
class.
We
have
a
bunch
of
code
inside
this
class
which
will
be
reused
across
every
different
version
of
the
schemas
that
we
want
to
support.
For
example,
we
can
have
a
unique
place
in
the
base
class
in
which
we
do
the
XML
validation,
so
in
which
we
do
the
validation
of
the
XML
file
against
the
schema.
C
That
relates
to
the
specific
version
of
the
XML
that
we
wanna
serialize
and
deserialize.
We
will
have
some
code
to
do
the
processing
of
the
input
stream
whenever
we
need
to
read
a
stream
from
the
persistent
storage
and
we
want
to
convert
it
into
a
provisioning
template,
and
so
we
have
a
bunch
of
code
which
will
be
reused
and
define
in
a
base
observe
class.
C
We
also
have
a
couple
of
methods:
the
provisioning
template,
which
is
the
one
that
starting
from
a
stream,
will
give
you
back
a
provisioning
template,
which
is
the
dominant
model,
object
we
have
in
PMP,
and
you
will
also
have
the
to
format,
a
template
which
gets
as
an
input
the
provisioning
template
the
in-memory
domain
model
and
will
give
you
back
a
stream
that
you
can
store
in
a
persistent
storage.
These
tomatoes
are
those
compliant
with
the
already
existing
infrastructure,
but
inside
each
of
them
we
will
have
the
idea
of
this
serialize
and
serialize
a
template.
C
So
we
have
a
new
method
called
visualize
template,
which
is
a
vehicle
one
so
again
with
a
basic
implementation
in
the
base
class,
which
can
be
overridden
in
a
inherited
class
as
well
as
we
will
have
a
little
bit
lower
AC
realized
template,
which
will
be
again
the
a
vehicle
matter
that
you
can
override
in
a
specific,
concrete
serializer,
for
example,
for
schema
2016
0
5
come
on.
Ok
here
it
is
I.
He
married
from
the
base
of
third
class
I,
showed
you
and
then
I
say
this
guy
handles
the
version.
C
2016
zo
5
provisioning,
temp
8,
which
is
the
one
I
showed
you
before
in
the
C
shop
file
automatically
generated
from
the
x
SD
file.
So
within
this
serializer
have
just
a
few
lines
of
code
just
to
define
what
is
the
XML
schema
to
use
for
validation?
What
is
the
XML
namespace?
What
is
the
XML
namespace
prefix
and
basically
nothing
more
than
that,
and
if
you
like,
just
as
an
example,
you
can
do
the
override
of
the
previous
methods
just
to
add
some
custom
logic
in
this
specific
version
of
this
réaliser.
C
C
For
example,
let's
have
a
look
at
the
creation
of
a
provisioning
template
in
memory
from
a
stream.
We
will
have
some
basic
crumbling
here,
for
example,
and
then
we
will
have
the
deserialized
impregnated,
which
can
be
over
I
double
as
I
told
you
well,
this
method
right
now
we'll
use
some
reflection
to
go
through
all
of
the
objects
that
we
can
define
in
the
engine.
C
So,
for
example,
think
about
these
template,
in
which
we
have
a
bunch
of
information,
the
provisioning
root
element,
the
provision
template
the
property
back
entry
is,
and
the
list
instances
right
now.
For
example,
I
have
few
serializer
already
implemented
in
this
new
engine
and,
for
example,
I
have
a
sterilizer
that
will
be
able
to
handle
the
list
instances.
So
whenever
I
will
have
to
go
through
all
of
the
list.
Instance,
elements
of
this
collection
of
Lists
I
will
use
a
dedicated
serializer.
They
related
to
doing
the
D.
C
Serialization
and
deserialization
of
the
list
instance
objects,
so
that
I
will
have
a
unique
place
to
handle
and
to
manage
whenever
I
wanted
to
testing,
whenever
I
want
to
do
maintenance
related
to
the
handling
of
least
instances
inside
the
template
and
whenever
I
declare
that
I
have
a
new
seller.
Serializer
I
have
some
base
classes
to
improve
the
code.
Quality
and
I
have
an
attribute
that
I
can
apply
and
have
to
apply
to
each
and
every
serialization
I
will
create
so
that
I
can
declare.
Whenever
I
will
do.
C
This
serializer
target
D
2016,
0
5
and
the
2015
12
version
of
the
schema.
So
we
can
use
the
same
object
to
do
the
serialization
and
deserialization
of
two
different
kind
of
schemas
and
it
will
be
used
by
default
whenever
we
will
do
the
serialization
and
deserialization
of
something
related
to
the
provisioning
engine.
C
The
same
story
applies
and
will
apply
to
all
of
the
serialize
or
objects
that
we
will
have
and
simply
by
writing
one
by
one,
all
of
the
serializer
that
we
need
to
handle
all
of
the
content
we
have
in
the
xml,
so
one
for
the
list,
instances
one
for
the
content,
types,
one
for
the
set
fields
and
so
on
so
forth.
At
the
very
end,
we
will
have
a
collection
of
serializers
which
are
well
testable
and
maintainable,
which
will
be
invoked
dynamically
using
reflection
by
this
new
civilization
engine
personally.
C
I
think
that
this
result
it's
a
great
improvement.
If
compared
with
the
previous
option,
we
have-
and
we
still
have
right
now
in
the
released
version
of
the
engine-
and
this
result
is
based
on
the
efforts
of
all
of
the
members
of
the
core
team,
because
we
made
a
lot
of
meetings.
We
share
the
proof
of
concept
prototypes,
especially
me,
and
there
we
played
a
lot
around
all
the
available
solutions
and
we
ended
up
with
this
idea.
Of
course,
maybe
you
like
it?
Maybe
not!
C
So
that's
why
we
are
sharing
with
you
in
this
special
interest
group.
The
overall
outcome,
in
order
to
know
about
your
feedbacks,
to
know
if
you
like
it
or
not,
and
if
you
have
any
different
proposal
and
especially
also
if
you
have
a
time,
availability
to
help
us
on
writing
all
of
these
civilizer.
That
would
be
very,
very
appreciated,
because,
right
now,
we
will
have
to
stop
writing
about
between
35
and
40
different
serializers
for
all
of
the
complex
types
that
we
want
to
handle
with
the
provisioning
engine.
So.
A
A
Absolutely
and
one
thing,
but
I
wanted
to
do
a
pollination
this
quite
a
few
times
already
during
the
presentation.
So
if
you
want
to
use
the
BMP
provisioning
engine,
you
actually
don't
need
to
understand
anything
of
what
we
went
through.
So
this
is
say,
deep
dive
in
the
how
the
engine
actually
works
and
how
we're
planning
to
implement
some
changes
in
the
core
of
the
engine.
Just
if
you
consume
the
engine,
it's
you
don't
need
to
actually
vary
about
this
one.
A
If
there's
any
any
feedback
on
this
one
and
really
what
we're
looking
for
this
refactoring
is
too
simple:
to
simplify
the
maintenance
for
the
future
and
make
it
more
flexible.
We
kind
of
a
Crone
to
this
current
status
with
with
the
old
design,
but
but
it's
getting
more
well,
it's
not
as
optimal
as
it
should
be.
C
C
Well,
we
we
think
that
adding
also
the
capability
to
support
XML
is
great,
because
most
of
the
SharePoint
developers
are
used
to
use
XML
and
we
try
to
make
our
best
to
make
it
possible
to
copy
paste
and
sometime
slightly
change
the
XML
coming
from
the
old-school
feature
framework
and
having
the
same
capability
in
the
new
provisioning
engine.
So
having
the
support
for
XML,
I,
think
I
would
say.
B
A
B
A
A
But
anyway,
so
we'll
keep
on
working
on
this
refactoring
of
the
engine,
we'll
get
it
we're
killing
moving.
Here's
some
examples,
we're
moving
on
there
on
the
spring
time,
and
this
is
really
for
making
the
engine
more
flexible
for
the
future
as
well,
because,
yes
in
the
SharePoint
engineering,
we
are
looking
into
creating
similar
kind
of
a
recipe
model
for
sites
in
the
future,
but
it
will
take
some
time
to
actually
get
it
up
and
running
and
for
the
engineering,
the
ketchups,
what
they
have
within
the
PIAT
the
engine.
So
that'll
take
a
long
time.
A
So
it's
cute,
but
if
we
don't
have
any
questions
from
this
one
we
can
flip
may
be
back
on
the
on
the
chin
or
a
Q&A.
If
there's
any
random
questions
on
the
on
this
core
component,
the
PowerShell
or
in
general
on
SharePoint
developments
more
than
happy
to
help
on
those
from
the
audience,
and
if
you
want
you
can
absolutely
flip
to
audio
as
well.
If
there's
any
input
what
you
work
in,
we
have
six
minutes,
not
a
massive
amount
of
time,
but
still.
A
And
in
general,
let's
see
if
we
get
any
questions
on
the
iron
window
or
in
Oriya,
but
like
mentioned
this,
for
the
February
must
emerge
will
happen
on
Friday
in
Akita
Preppers,
most
likely
to
communications
look
out
on
Monday,
because
it's
surprisingly
painful
thing
to
get
collected
and
then
on
next
Tuesday
we
have
the
monthly
community
call
where
the
kur
true
everything
was.
This
happens
within
the
past
month.
A
So
whatever
the
videos
were
released
for
at
AMC
and
articles
released
and
we'll
have
some
nice
live
demos
over
that
net
there
as
well,
more
simplified
demos,
not
a
deep
dive,
500
level,
demos
and
they're
looking
into
what
are
they
kind
of
showed
that
in-depth
call
still
during
this
week?
But
if
there's
no
kind
of
urgent
questions
or
feedback
I
think
we
can
close
up
to
call
a
few
minutes
earlier.
That's
absolutely
fine,
and
if
you
have
any
issues,
please
use
the
github
issue
list.
A
If
you
have
questions
we
would
prefer
maybe
to
use
to
take
a
community
for
those,
but
especially
if
there's
box
or
issues
or
you
can't
get
the
engine
to
work.
Just
let
us
know
there
was
a
one
thousand
tenants
using
the
BMP
provisioning
engine
last
month
and
in
general,
core
and
PowerShell
is
used
in
in
more
than
almost
4,000
times
in
a
month.
So
I
think
we
have
a
momentum,
just
a
lot
of
usage,
which
is
great
and
it's
great
to
get
to
input
from
the
community
as
well.
So
thank
you,
everybody
for
joining.