►
Description
PnP Core, PowerShell and Provisioning Engine SIG recording from April 5th, 2017. Details around the covered content and direct links to demo section from https://techcommunity.microsoft.com/t5/SharePoint-Developer/SharePoint-Patterns-amp-Practices-PnP-Core-and-PnP-PowerShell/td-p/60289
A
So
welcome
everybody,
business
Chapman's,
a
SharePoint,
an
asbestos,
a
special
interest
group
around
the
PMP
side,
score
and
BMP
PowerShell,
and
this
is
april.
Fifth
2017
edition
will
probably
get
a
lot
of
people
turning
a
few
minutes
late.
Now
that
always
happens
and
that's
absolutely
fine.
We
do
have
quite
a
few
core
team
members
in
a
call
as
well,
but
half
of
the
team
is
either
on
vacation
or
traveling
or
whatever.
A
So
you
won't
say
some
of
the
familiar
faces
today,
but
that
well
we
have
frank
and
patrick
and
power
in
the
call
as
well
so
today.
Well
before
we
actually
go
there.
I
should
actually
drop
the
slide
so
quickly.
Explaining
sharepoint
BMP
jpg
BMP
is
a
community-driven
initiative
coordinated
by
the
sharepoint
engineering
and
we
provide
code
samples
cards.
Documentation
community
calls.
We
have
these
special
interest
groups
and
the
steam
store
in
shape
and
framework
shape
on
adams,
Microsoft
graph
and
office.
365
development
in
general.
A
game
is
SP
BNP
or
SharePoint.
A
Pmp,
both
akms
addresses
are
working
that
Christ.
You
allows
you
to
a
single
base
in
depth
of
calm
from
where
you
can
actually
find
what's
happening
and
I
was
just
checking
the
Bates,
though
I
haven't
updated,
that
for
a
while.
So
it's
slightly
lacking
behind
of
all
of
our
actions,
so
I
needed
to
find
some
time
to
go
and
update
that
pretty
soon
anyway.
For
today,
this
is
the
special
interest
group
for
BMP,
see
some
core
and
PMP
partial
and
BMP
provisioning
engine,
and
so
we
can't
quickly
have
a
look
on
the
PMP
March
usage.
A
That's
one
slide,
so
that's
not
going
to
take
too
long.
Just
to
show
you
that
you
might
you
are
not
alone
is
here
using
the
BMP
provisioning
as
an
example,
and
then
having
look
on
the
on
the
open-source
activities,
then
we
will
talk
about
one
slide
around
the
provisioning
schemer.
So
if
you
have
any
suggestions,
what
we
should
be
adding
to
the
provision
in
schema,
which
is
missing,
we
would
like
to
get
the
wall
of
those
collect
them,
so
we're
looking
into
starting
development
of
a
new
scale
version.
A
Actually,
after
this
Friday,
this
Friday
will
be.
The
April
must
image.
So
after
that
one,
we
will
start
actually
implementing
a
new
scale
operation.
This
game
up
provision
is
came
as
the
one
which
defines
what
elements
and
capabilities
are
defined
or
available
in
the
BMP
provisioning
engine.
So
the
scheme
is
always
developed
first
and
then
we
start
developing
the
support
for
that
in
the
engine.
A
There's
quite
a
few
items
already
on
the
list.
What
we
need
that
there,
but
a
lot
of
them
are
more
or
less
kind
of
a.
How
would
I
put
it
polishing
additional
things
like
additional
settings
in
the
list
and
so
on
in
overall,
I
would
estimate
that
we
are
in
a
ninety
ninety-five
percent
of
the
coverage
of
season
in
general
with
the
bmv
provisioning
engine,
which
is
pretty
cool,
so
it's
pretty
completed
already,
but
for
the
previous
game,
ovation
was
I
think
it
was
released
actually
may
last
year.
A
So
it's
about
time
that
we're
adding
some
additional
capabilities
to
it,
and
one
of
the
things,
for
example,
will
be
the
support
for
the
modern
pages,
some
modern
life,
with
pots
to
be
defined
on
the
modern
pages
as
well.
So
that's
being
one
of
the
high
priority
asks.
What
people
are
having
now,
after
that
we'll
have
a
quick
look
at
on
the
provisioning
engine?
Refactoring
Sao
Paulo
is
going
to
do
that.
So
this
is
coming
not
in
the
April
release.
A
This
is
coming
in
the
mail
is
we,
it
is
actually
complete,
but
it
was
to
feature
complete
and
this
week
and
since
the
master
Manchester
on
Friday,
we
didn't
put
it
up
on
a
risk.
It
and
the
whole
point
of
that
provisioning
engine
refactoring
is
that
the
engine
would
be
a
more
reliable,
be
more
easily
maintainable
and
see
people
would
be
well
other
than
polar
would
be
able
to
actually
help
us
in
certain
areas,
and
it
seems
to
be
looking
pretty
cool.
A
So
we
can
much
faster,
implement
additional
capabilities
in
the
future
for
the
PMP
provisioning
engine
do
the
refactoring
work
which
is
now
completed,
and
then
the
second
demo
is
a
kind
of
a
quick
walkthrough
on
how
you
can
take
advantage
of
the
alpha
max
of
flow
of
your
functions
and
BMA
powershell.
The
provisions
to
create
yourself
a
self-service,
modern
side,
provisioning
solution
in
10
minutes-
and
this
sounds
weird,
but
it's
actually
possible
and
I
was
to
be
honest.
I
was
slightly
shocked
when
I
walked
us
through
yesterday
test.
A
A
Let's
actually
move
on
so
click
here,
stats
on
the
BMP,
March
use
it
and
Nigel
welcome
back
on
the
on
the
future
schema
in
a
second.
So
this
is
just
the
one
point:
I
didn't.
We
didn't
don't
want
to
spend
too
much
time
on
the
matrix.
The
whole
point
of
this
one
is
that
you
should
feel
safe
of
not
being
the
only
one
being
involved
within
the
PMP
initiative
or
using
the
BMP
provisioning
engine
as
an
example.
A
So
we
did
have
4647
unique
talents
using
the
BMP,
see
core
component
or
partial
or
PM
pjs
core
for
that
matter.
In
the
sharepoint
online
we
did
have
a
1.8
billion
HTTP
requests
last
month
as
well,
which
is
a
massive
number.
It
seems
to
be
that
we
are
hitting
the
two
billion
limit
in
April,
we'll
see
if
we
get
there
but
growth
based
on
the
growth,
we
actually
should
get
there
pretty
easily.
A
If
you
are
hitting,
let's
say,
increasing
1.8
billion
plus
fifteen
percent,
which
is
the
monthly
proof
or
husband
and
that's
being
awesome
istic,
then
it
will
should
be
2
billion
requests.
In
April
we
had
twenty
four
thousand
unique
visitors
in
github
for
a
reason
or
another.
We're
not
actually
quite
one
hundred
percent
sure
why
this
is
actually
leaving
quite
fast
forward
as
well,
which
is
obviously
good
I'm,
not
saying
that
it's
nothing,
it's
absolutely
are
creating,
but
we
don't
know
where
the
ink
massive
increases.
Why
the
massive
increase
is
happening?
A
It
might
be
that
more
and
more
people
are
kind
of
a
looking
into
moving
sharepoint
online
and
starting
to
learn
the
modern
ways
of
doing
customizations
and
views
or
in
136,000
and
github
across
all
of
the
pnp
rivers,
and
this
includes
the
SharePoint
SharePoint
repository
as
well.
The
most
used
capability
is
the
provisioning
engine.
It
was
used
in
1290
tenants
during
March,
so
we
actually
finally
jumped
over
the
1010
month
limit,
which
is
pretty
cool,
and
the
increase
was
pretty
significant.
A
So
roughly
twenty
five
percent
increase
from
eighth
last
last,
a
month
top
countries
based
on
tenants
new
movement
there.
As
on
the
number
of
tenants,
top
countries
based
on
HTTP
requests,
actually
UK
dropped
from
the
top
five
list
and
then
Netherlands
Denmark
remained
same
Netherlands
jumped
on
second
and
there's
some
small
movement
over
there
as
well.
So
you
get
actually
chopped
26,
but
that's
pretty
typical.
It
happens.
They
say
the
bear
request.
Let's
say
competition
in
quotes.
A
We
can
see
when
some
customers
are
doing,
let's
say,
content,
my
creation
and
they
utilize
the
bmp-2
provision
sites
in
switzerland,
content
types
and
pearson
and,
let's
say,
lists,
which
is
relatively
typical
use
case.
That
always
increases
the
usage
in
a
countries
as
well.
So
in
last
month
in
February
there
was
quite
a
few
or
few
migration
cases
on
going
in
the
UK,
but
last
month,
and
there
wasn't
so-
the
UK
went
slightly
down
flight.
Should
they
be
requested
that
perspective.
A
A
But
things
are
looking
pretty
darn
good
from
a
user's
perspective
and
also
these
are
two
things
for
us
as
well,
because
we
even
in
in
SharePoint
engineering
but
I,
mean
actual
engineering
as
well,
so
we're
looking
into
using
the
PMP
in
the
future
as
well,
and
the
fact
that
people
are
using
the
BMP
initiative
helps
us
on
making
a
case
for
our
management
level
as
well
good
moving
on
on
things
so
quickly.
Let's
talk
about
the
provision
in
schema
and
let's
talk
about
the.
A
What
are
we
planning
to
do
on
there
I'm
going
to
need
some
people,
because,
because
I
found
some
background
noise
on
there,
but
that's
fine,
so
we're
planning
to
start
building
the
new
schema
and
there's
one
comment
which
I
wanna
trance:
if
the
two
million
sa
they
request
the
limit
or
a
milestone,
it's
two
billion,
not
two
million.
It
is
a
milestone
and
it's
two
billion,
not
two
million,
so
pretty
big
difference
over
there.
A
That's
pretty
difficult
right
now
we're
looking
into
having
def
capability
support.
There,
though,
because
we
in
SharePoint
engineering
are
looking
into
implementing
those
ideas
which
will
enable
you
a
capability
to
install
add-ins
and
sharepoint
favorite
solution
to
the
sides.
So
that's
coming
up.
That's
in
the
roadmap
for
us
in
a
show
up
on
the
engineering
side,
and
then
the
BMP
initiatives,
together
with
community,
will
implement
that
support
in
the
endangered
side.
A
There's
already
a
prova
cast
around
the
publishing
based
provisioning
and
so
how
to
actually
get
publishing
data
is
provision
to
as
part
of
the
engine,
because
people
tend
to
have
some
level
of
a
content
in
a
template
as
well.
There's
some
term
level
handling
improvement
that
support
request,
also
waiting
already
in
the
in
the
provisioning
schema
repo
related
on
benster
peanut
terms
and
reused
terms,
capabilities
in
the
term
store.
A
So
whenever
I
mean
this
kind
of
a
dual
hat
positions
of
letting
it
with
my
SharePoint
engine
running
head-on,
whenever
we
in
SharePoint
engineering
will
implement
web
hooks
for
these
additional
capabilities,
then
those
will
be
implemented
also
and
the
bmv
provisioning
engine
and
also
looking
into
enabling
CDN
in
libraries
automatically.
That's.
That
would
be
a
simple
setting,
probably
in
the
list
element
where
you
define
that
a
I
want
Syrian
to
be
enabled
in
this
library
automatically
and
they've
been
forwarded
to
an
automatic
voice
message
system
989.
A
Somebody
is
going
to
have
a
pretty
long
message
if
this
is
getting
recorded
there
cool
so
looking
into
enabling
decedent
automatically
as
part
of
the
template.
So
essentially
what
it
means
is
that
we
will
add
and
automatically
a
CDN
origin
pointing
to
the
library
is.
If
that
has
been
defined
in
the
list
level,
and
then
they
say,
then
there
is
a
additional
set
of
things
like
web
part
connections.
A
Support
for
external
lists
with
these
are
things
which
happens
that
suggested
I
say
things
what
we
should
be
looking
in
the
way:
port
connections,
it's
kind
of
understandable,
it's
a
classic
scenario,
not
that
many
people
are
actually
using
web
part
connections
and
and
it's
because
this
would
be
classic
with
part
connections,
and
we
can
look
into
that.
One
I'm,
not
sure
if
that's
a
super
super
viable
solution,
but
more
than
happy
to
have
a
feedback
and
input
on
that
one.
A
So
both
for
external
lists,
theoretically
doable
in
practice,
suppose
that
this
would
have
a
dependency
on
the
BCS
definitions
being
on
a
tenant
and
the
usage
of
external
lists
is
pretty
low
as
well
overall
as
we're
not
one
hundred
percent
sure.
If
you
want
to
invest
on
that,
let's
see
if
we
can
actually
figure
out
that
one
relatively
fast
irm
setting
support
for
the
list.
A
That
would
luck,
surely
makes
a
lot
of
sense
and
that
would
actually
be
pretty
good
on
getting
it
there
because
there's
an
aprs
to
do
them
and
make
that
happen,
so
both
for
sitescope
content
types
and
templates.
Now
this
is
an
interesting
discussion,
and
this
is
how
would
I
put
it,
and
this
is
controversial
discussion
in
practice.
It
is
actually
a
horrible
practice
and
horrible
model
to
create
site
specific
content
types
in
the
real
world.
A
It
is
absolutely
recommended
to
create
content
types
always
on
the
site,
collection
root
and
then
reference
them
from
the
root
of
the
site
collection.
So
your
content
types
would
be
site,
collection,
scope.
The
reason
for
that
one
is
that
whenever
you
need
to
update
those
content
at
the
instance
is
you
would
be
able
to
then
update
them
in
the
root
side
and
then
push
down
to
the
child.
A
Now,
if
you
would
create
your
content
types
in
a
site
level,
you
cannot
actually
have
that
centralized
sort
of
control,
which
means
that
you
would
have
to
scan
sure
sides.
You
would
have
to
check
the
library's.
You
have
to
check
all
of
the
content
as
an
author
and
that's
really
the
reason
why
we
originally
didn't
have
this
support
within
the
engine.
Now
it
has
been
asked
quite
a
few
times
and
what
we
were
thinking
within
the
core
team
is
that
ok
know.
A
If
people
want
to
do
that,
even
though
it
is
not
a
good
practice,
it's
not
on
us
to
make
that
decision.
So,
let's
actually
enable
that
capability,
even
though
it
might
have
implications,
so
we're
not
going
to
actually
limit
people
for
doing
that,
which
was
the
original
idea,
image,
renditions,
pretty
cool
thing
to
automate
as
well,
and
that's
pretty
easily
doable.
It's
a
essentially
a
list
in
the
in
the
site.
A
In
the
coupling
sites
date
formatting
applied
to
the
site
level
and
then
additional
list
settings
like
no
crawl
and
all
of
them
so
and
that's
kind
of
the
high-level
thinking
on
this
one,
and
there
is
a
URL
on
the
slide,
which
is
pointing
to
the
PMP
probation
and
schema
issue
lists,
which
would
be
the
location
actually
to
give
us
feedback
and
give
us
systems.
Hey
I
want
to
have
this
item
I'm
missing
this
one
and
then
they
would.
There
was
a
question
from
Paul
around.
A
So
there's
a
comment
related
on
about
time
for
the
RM
settings.
Yes,
absolutely
well,
I
wouldn't
say
about
times
since
did
it
all
of
the
work
we
are
doing
is
dependent
on
the
contributions
from
a
community.
So
if
somebody
needs
something,
we
need
to.
Obviously,
build
on
that
together,
so
that's
more
than
but
it's
fine,
it's
kids
good
to
get
it
included
external
listing
duration
on
the
settings.
Oops
quick
list
coming
through
down
window
all
his
resistors
will
be
you
stop.
A
Okay,
that's
generalize
comment
any
expected
time
frame
for
the
ability
to
install
additional
sites
programmatically
now
we're
looking
into
that
one
to
happen.
Definitely
during
this
cleanser
year,
and
it
is
already
in
specs,
it's
just
a
matter
of
getting
the
functionality
queued
up
in
our
engineering
and
prioritized
in
the
engineering
stack.
It
is
a
really
common
classic
requirement,
and
so
it
will
be
pretty
most
likely
pretty
fastly,
implemented
and
available
for
a
technician
and
in
this
it
isn't
actually
too
difficult
thing
to
implement.
A
A
Don't
are
independent,
then
update
search
any
up.
There
are
billeted
update.
The
search
came
up.
We
do
have
an
update
on
the
search
settings
in
the
site
collection
level,
so
we
are
actually
exporting
the
site
search
settings
in
a
site,
collection
level,
not
sure
if
that's
sufficient,
if
it's
a
tenant
level
configuration,
then
that
gets
much
more
complicated,
because
this,
the
templates
are
always
in
the
site
or
site
collection
level
with
part
connection
not
used
since
2007
I'm,
actually,
which
you
dare
Robert
me.
A
Neither
then
then
then
then
turn
it,
then
just
scanning
too
quickly
the
comments
attendant
and
how
would
you
create
a
lookup
field
in
a
sub-site?
That's
the
classic
sub-site
discussion.
Now,
the
sorry,
the
lookup
field
discussion.
No,
we
do
support
sugar
fields
in
a
single
site.
Already
you
are
able
to
create
them
in
a
single
site.
A
Now
the
problem
or
the
challenges
that
whenever
we,
if
we
want
to,
have
additional
support
like
creating
lists
in
a
root
side
of
the
site,
collection
and
then
do
a
lookup
on
those,
then
we
need
to
jump
cross
the
sides
and
that's
always
gets
a
slightly
more
complicated.
But
we'll
we'll
have
a
look
on
that
one
as
well,
and
I
think
that's
it
from
the
comments.
A
Would
it
be
possible
to
create
a
parameter
to
set
the
document
set
view
that
would
be
see
some
level
chains
most
likely,
because
I
don't
think
we
support
that
in
the
system
right
now.
We
can
absolutely
have
a
look
on
that.
I
would
Paul
on
that
comment.
I
would
suggest
that
you'll
add
initial
list
issue
the
deja
list.
What
we're
planning
to
do
like
mention.
A
So
I'm
looking
forward
actually
getting
this
one
done
because
after
that,
there
isn't
that
many
things
what
people
are
asking
which
you
can
even
do
is
using
remote
api's
good
cool
I've
gone
through
the
comments.
Let's
actually
move
down
on
the
slides,
because
on
up
now
that
Paolo
needs
to
leave
slightly
early
today
do
some
of
the
things
and
it's
family
always
first
before
anything
else,
sao
paulo
and
let's
actually
flip
on
the
PMP
provisioning
engine.
B
A
B
Good,
so
we
will
start
with
a
brief
explanation
of
the
context
and
of
the
requirement
that
made
us
make
the
choice
to
do
a
kind
of
a
huge
refactoring
of
the
civilization
engine
in
the
provisioning
engine
of
PMP.
And
then
I
will
show
you
just
a
quick
demo
of
the
new
refactored
engine
running,
so
I
will
not
dig
into
the
details
of
the
code
this
time
as
like,
as
I
did
some
weeks
ago,
but
I
will
just
show
you
that
it
works
and
mainly
how
it
works.
B
So,
for
example,
we
have
property
bags,
we
have
side
fields,
we
have
content
types
list
and
so
on
so
forth,
and
for
example,
when
we
think
about
the
collection
of
lists,
we
have
a
collection
of
this
instance.
Objects
which
do
exist
both
at
the
domain
model
level
in
the
complex
in-memory
representation
of
the
provisioning
template
that
we
have,
as
well
as
in
the
xml
schema
or
in
the
JSON
schema
or
in
the
xml
file,
store
inside
a
dot
BMP
file
that
we
have
and
most
likely.
B
You
know
that
from
a
PNP
provisioning
engine
perspective,
we
are
independent
from
the
physical,
persistent
storage
and
from
the
physical
representation
of
the
provisioning
template
on
the
wire
on
the
disk.
But
on
the
other
side,
you
know
that
one
of
the
most
used
serialization
format
that
we
are
used
to
using
PMP
in
the
provisioning
engine
is
the
xml-based
format.
B
So,
for
example,
if
you
think
about
this
hierarchy
of
objects
in
memory,
they
map
to
a
to
an
XML
representation
which
is
based
on
a
specific
XML
schema.
Well.
In
order
to
do
that,
we
released
as
base
already
told
you
in
the
previous
minute
on
a
set
of
schema,
xml
schemas
that
won't
define
all
of
the
available
capabilities
step
by
step
based
on
the
release
cycles
that
we
had
in
TMP.
B
B
We
use
a
an
engine
based
on
a
formatter
object,
which
is
basically
a
very
complex
class
which
handles
the
reading
and
the
writing
of
the
xml
file
into
memory
or
from
the
memory
to
the
persistence
repository.
So
let's
say
we
have
this
XML
file
on
the
persistent
storage
by
using
a
formatter,
for
example
the
one
for
these
schematics
in
1605.
We
simply
read
the
XML
and,
with
the
within
a
unique,
I
would
say,
really
complex
and
long
from
a
code
perspective,
long
class.
B
We
do
whole
of
the
handling
in
order
to
read
the
XML
and
to
create
the
in-memory
representation
of
the
domain
model
object
of
the
provisioning
template
in
memory
at
the
same
time,
and
likewise,
whenever
we
need
to
store
to
save
the
provisioning
template,
we
can
go
backwards,
so
we
can
use
the
same
for
matter
which
will
have
another
method
in
a
long
one
to
go
through
all
of
the
objects
in
memory
and
to
save
the
xml
file
or
to
the
persistent
storage.
Of
course,
it
works.
B
It
works
and,
as
you
saw
thousands
of
companies
and
with
billions
of
requests,
use
this
technique.
However,
from
a
maintenance
perspective
and
from
a
management
perspective,
it
is
not
an
easy
to
support
a
new
request
or
new
schema
versions,
because
right
now,
with
the
current
version
of
the
four
matters
engine,
whenever
we
have
a
new
schema,
we
have
to
write
almost
from
scratch,
a
new
for
matter,
which
is
a
huge
task
to
do
so
in
order
to
improve
the
quality
of
the
engine
and
to
be
a
faster
in
adopting
new
versions
of
the
schema.
B
If
needed,
we
replace
the
idea
of
having
a
formatter
for
every
single
schema
version,
with
the
idea
of
having
a
serializer
for
each
and
every
schema
version,
which
looks
like
exactly
the
same
as
before.
But
it
is
not,
in
fact,
every
serializer
is
made
of
a
bunch
of
little
modules
which
are
still
called
serializer
and
which
target
every
single
main
object
in
the
provisioning
template.
B
So
using
this
technique,
we
will
be
able
to
you
most
of
the
code
that
we
brought
during
this
refactoring
and
we
will
be
able
to
release
for
every
new
schema
version,
just
the
Delta,
so
just
being
differences
that
will
be
implemented
in
a
new
schema
and
we
will
not
need
to
rewrite
every
single
time
from
scratch.
The
entire
serialize
ER
for
every
single
new
schema
version,
which
is
the
main
difference
and
key
difference
of
the
new
refactoring
that
we
did.
B
Moreover,
from
an
architectural
perspective
d
serializers
do
provide
the
capability
to
define
a
sequence
while
we
visualize
or
while
we
serialize
the
content.
So
we
can
play
around
the
components
defining
a
sequence
which
will
be
the
order
of
application
of
all
of
the
serializer
within
the
pipeline,
while
serializing
or
deserializing
a
template,
and
last
but
not
least
so,
every
single
component,
every
single
serializer
will
have
through
an
attribute
based
programming
technique.
We
have
an
information
about
the
minimal,
supported
schema
version,
so
we
will
be
able
to
reuse
the
same
civilized
ER
for
multiple
schema
versions.
B
As
long
as
the
new
schema
does
not
completely
rewrite
the
schema
of
the
search,
template
object,
so,
for
example,
if
in
the
next
version
of
the
schema,
we
will
update
the
content
types,
for
example,
adding
a
few
new
attribute
to
the
XML
structure,
we
will
be
able
to
reuse
exactly
the
same
content.
Type
civilized
err
objects
without
adding
the
need
to
write
a
new
one,
just
because
we
added
a
few
properties
which
is
really
cool
because,
as
I
told
you,
this
will
improve
greatly
improve
our.
B
So,
for
example,
we
created
for
most
of
these
utilizers
that
we
created
also
a
bunch
of
unit
tests
so
that
we
can
better
test
and
improve
the
quality
of
the
resulting
code.
It
is
based
from
an
inner
perspective
still
on
the
xmlserializer
engine,
the
old
school
and
well-known
xmlserializer,
which
still
works
in
doc,
med,
pretty
well
and
a
bunch
of
reflection,
dotnet
reflection,
which
will
go
through
all
of
the
objects
to
do
some
kind
of
automating
between
the
objects
coming
out
from
the
xml
into
the
objects
in
memory
and
backward.
B
It
took
I
think
about
three
months
to
completely
rewrite
this
engine
asst,
which
was
almost
written
from
scratch
if
compared
with
the
formatter
engine,
but
with
backward
compatibility
and
last
but
not
least,
absolutely
it
is
based
fully
based
on
community
efforts.
So
I
work
on
it,
but,
for
example,
another
guy
from
the
community
Ivan
wagon
in
which
deserves
a
big.
Thank
you
from
the
community,
helped
me
a
lot
and,
if
rotor,
almost
fifty
percent
of
deserializer.
B
So
after
we
defined
the
overall
architecture
and
the
base
class
and
the
base
interfaces
to
implement
in
the
engine,
he
provided
supports
to
write
a
bunch
of
serializers
together
with
me
and
because,
as
usual,
PMP
is
an
open
source
project
you
can
contribute
to.
So
if
you
want
to
improve
the
quality
of
code,
if
you
wanna
contribute
in
the
new
refactoring
feel
free
to
to
do
that.
B
So
let
me
just
show
you
the
refactor
engine
working
running
in
my
environment,
just
to
show
you
just
to
prove
you
that
I'm
not
just
talking,
but
there
is
something
real
intangible
and
so
I
will
switch
to
my
visual
studio.
Here
I
have
a
branch
which
is
available
in
the
PMP
repository
as
well
the
formatter
refactoring
branch.
B
Just
a
few
methods
which
are
not
mandatory
by
the
way
because,
as
you
can
see
here,
I
simply
call
the
base
class
with
which
means
that,
for
example,
these
tomatoes
are
are
not
really
needed
and
are
here
just
to
show
you
that
you
can
do
some
of
the
writing
of
the
base
class.
And
then
we
have
a
bunch
of
serializer
types
here.
They
are
about
24,
if
I'm
not
mistaken,
which
do
the
civilization,
the
civilization
of
every
single
main
object.
B
So,
for
example,
you
have
the
one
for
the
ideas
that
you
have,
the
one
for
the
content
types
and
so
on
so
forth.
Those
objects
will
be
invoked
in
a
pipeline
based
on
the
deserialization
sequence
or
based
on
the
serial
0
sequence
and
related
to
a
minimal
support,
ischemia
version,
as
I
told
you
so
here,
I
have
a
fake,
xml
provisioning
template
with
a
bunch
of
information,
almost
everything
in
it,
because
it
is
the
one
we
use
for
testing
purposes.
B
As
you
can
see,
there
are
fake
data
like
those,
but
we
don't
really
care
about
the
values
of
parameters
of
or
of
properties.
We
simply
use
this
xml
file
for
testing
purposes,
and
here
I
have
a
test
method
which
will
do
the
full
round-trip
from
the
xml
file
to
remember
a
template
them
back
to
the
xml
file,
and
here
I
have
the
output
file,
which
will
be
rewritten
from
scratch
by
the
test
method.
B
So
just
let
me
run
this
method
and
I
will
show
you
the
in-memory
template
that
I
will
get
back
from
the
provided,
get
template
method
which
is
fully
back
on
backward
compatible
as
I
told
you
and
pretty
soon.
Here
we
are,
it
is
even
faster,
I
would
say,
because
now
we
improve
the
quality
of
the
code,
so
it
is
even
faster
than
before
and
now
in
the
result,
object.
B
We
have
a
full
provisioning
template
object
with
all
of
the
information
that
we
are
stored
in
the
xml
file
like,
for
example,
the
parameters
or
the
properties
or
whatever
else,
and
of
course
we
can
use
the
well-known
technique
and
we
can
save
through
the
provider
the
persistent
provider
of
between
people
using
engine.
We
can
store
these
template
onto
a
target
file
which
will
be
this
one
which
will
be
overwritten.
B
B
So
what's
next,
for
you
guys
from
a
community
perspective.
Well,
just
a
few
things.
First
of
all,
we
ask
you
to
test
it
to
play
with
it
and
to
let
that
know,
let
us
know
what
you
think
about
it.
So
until
Friday,
you
will
find
the
source
code
in
the
formatter
refactoring
branch,
but
pretty
soon
up
just
after
the
master
master
merger
that
will
happen
on
Friday.
We
will
merge
the
new
civilization
engine
into
the
dev
branch,
so
you
can
make
a
pool
and
you
can
play
with
it.
B
Our
plan,
as
visa
said,
is
to
release
this
new
engine
by
matrix
or
17,
together
with
a
new
schema.
So
please,
if
you
have
some
time
test
it
play
with
it,
and
let
us
know
what
you
think,
because
it's
really
really
needed
to
have
your
feedbacks
to
finalize
and
to
complete
the
implementation
of
this
refactored
engine.
B
A
Nothing
only
nothing
really
on
on
burning
questions
on
this
on
everybody's,
just
waiting
for
lookup
fields
and
then
additional
capabilities
of
a
sub.
It
is
understandable,
but
we
need
to
move
for
a
step
by
step
whenever
we
get
stuff
validated
and
ready
we're
able
to
get
it
for
list,
because
we
do
have
more
than
1,000
tendencies
in
the
engine
as
well
of.
B
A
A
A
And
to
none
taken,
Tintin
loading
loading
loading,
loading,
loading
gear
are
sure,
okay
cool.
So
what
I'm
going
to
do
this
time,
I'm
going
to
create
a
new
function?
I
already
have
my
fully
functional
version
in
here,
but
I'm
going
to
the
story
was
that
how
to
make
this
happen
in
10
minutes.
So
let
me
create
a
new
function
and
in
this
case
we
want
to
use
PowerShell,
because
we
want
to
take
advantage
of
the
PMP
PowerShell.
A
You
could
absolutely
right,
C,
sharp
or
JavaScript
or
whatever,
but
the
BMP
Power
Cell
is
quite
fast
for
these
kind
of
things
as
well.
The
PMP
PowerShell
uses
the
BMP
system
core
inside
of
it,
so
you
can
absolutely
do
the
exact
same
thing
using
managed
code
as
well
as
needed,
so
I'm
going
to
do
Q
trigger
a
PowerShell
and
the
reason
why
I
want
to
do
a
cute
Ricker
rather
than
a
sativa
trigger,
is
that
I
want
to
actually
secure
the
traffic.
It's
been
the
sharepoint
online
and
my
asha
function.
A
So,
but
let
me
do
Q
trigger
partial
and
let's
create
actually
this
new
function,
so
modern,
modern
science
creation
and
let's,
for
example,
lips
well
samples
powershell,
let's
name
this
SP
MP,
Korsak,
good
and
I'm,
going
to
use
the
storage
account
connection,
I'm
going
to
use
my
functions.
Storage
account
doesn't
really
matter
as
long
as
you
get
that
information
to
the
other
side
as
well,
on
the
SharePoint
site
or
to
the
flows
side.
A
A
I
can
actually
do
some
testing
on
that
one
as
well
I
kind
of
slightly
cheated
as
well,
and
the
one
thing
what
I
t-that
was
that
I'm
going
to
show
you
this
one
in
practice,
I'm
going
to
go
to
the
function,
sub
settings
and
let
me
actually
getting
us
that
that
the
dev
console
with
naturally
do
full
screen.
So
what
I've
done
already?
Is
that
a
fight?
If
we
have
a
look
on
this
application-
and
you
can
now
see
two
different
functions,
so
this
one
actually
already
existed?
A
But
the
whole
idea
is
that
in
the
modules
come
on
the
modules
and
if
I,
if
I
list
the
stuff,
we
can
actually
say
that
the
BMP
PowerShell
a
simplest
and
also
the
bsd
one
file
is
already
uploaded
in
the
modules.
The
reason
why
I'm
doing
this
is
that
I
the
centralized
shared
location
for
all
of
my
modules.
So
if
I,
let's
do
that,
if
we
have
a
look
on,
if
I
would
have
a
multiple
functions,
all
of
them
can
actually
use
the
same
instance
of
the
pnp
powershell.
A
So
that's
the
only
thing
which
I
kind
of
a
cheat
on
this
one,
so
I
saved
some
time.
On
the
other
hand,
I've
been
no
chatting
that
monster
that
lost
the
time,
so
one
is
I
creation.
So
now
we
have
the
BMP
powershell
in
the
usher.
We
want
to
actually
this
one
get
initiated
started
whenever
an
item
is
added
to
the
store,
the
actual
q.q
in
the
storage
cube.
So
we
have
or
we
have
a
store,
sku
name
which
BMP
Korsak
call.
A
We
have
the
storage
account
connection,
that's
already
done
and
what
we
need,
what
we
should
be
checking.
Let
me
do
that
is
our
current
as
your
storage
explorers
situations,
I'm
going
to
show
you
this
one
in
practice
as
well,
then
10,
10
10,
so
I'm
going
to
quickly
connect
is
going
to
use
the
microsoft.
Azure
storage
explorer
should
evoke
a
slogan
this
one
already
it's
kind
of
connected
here
and
there's
my
function
as
accounts,
and
I
can
actually
see
the
existing
cues
in
my
functions
right
now.
A
It
does
not
have
any
q's,
so
let's
actually
create
a
1q
for
it,
and
what
I'm
going
to
do
is
that
I'm
kind
of
paste
in
that
queue
which
I
wanted
to
create?
Technically
you
can
create
actually
a
storage
cue
from
a
flow
as
well,
but
to
avoid
avoid
things
and
to
show
how
those
things
work
in
practice.
I
can
actually
create
the
cue
to
destroy
its
account
directly.
So
there's
my
cue:
that's
where
the
requests
for
new
site
collections
kind
of
get
dropped
now
the
actual
development,
if
I'm
using
BMP
powershell.
A
This
is
super
using
I'm,
going
to
slightly
cheat
I'm
going
to
copy
paste
this
one
in.
But
let's
have
a
look
on
the
code
and
this
isn't
that
significant
amount
of
code
so
you've
seen
this
one
in
the
past
as
well
within
the
month
within
our
demos.
So
what
I'm
doing
is
that
I'm,
uploading
or
importing
the
module?
The
SharePoint
am
a
power
shop
online,
PSD
module
in
then
I'm,
actually
getting
that
trick
input.
A
Essentially
what
is
getting
sent
from
the
queue
to
this
I
shall
function
and
then
I'm
connecting
the
de
Microsoft
graph
using
the
app
only
model
so
I'm
using
an
app
ID
and
a
nap
secret.
So
it
has
been
hidden
and
so
I.
Don't
I
don't
have
to
change
the
dust
of
this
recording,
but
that
is
essentially
connecting
the
max
of
crap
and
then
I'm
running
the
new
PMP,
unified
command
and
with
a
specific
values.
A
I'm
going
to
use
that
incoming
texts
as
the
male's
nickname,
essentially
also
the
site
URL
for
the
new
state,
newly
created
site,
and
whenever
that
this
has
been
executed,
which
tastes
like
five
seconds.
I
can.
Actually
then,
this
one
will
be
printed
out
to
the
lock
window
and
we
can
go
and
have
a
look
on
the
Easterners
I'd
actually
create
it
or
not.
Now
before
I
actually
implement
the
UI,
let's
actually
test
this
one
in
practice.
So
let's
do
something
like
BMP,
jsb,
MP,
core,
sick
01.
A
A
Let
me
actually
do
this
side
by
side
and
in
a
second
it
should
output.
Now
it's
powershell
script
processing
starts
with
the
q
methods
of
BMP
core
601.
That's
the
value
there.
Now
the
powershell
the
thatcher
function
is
connecting
the
graph
using
that
command.
Then
it
takes
a
good.
The
new
BMP,
unified,
robust,
probably
put
it
out
put
in
here
so
we'll
be
able
to
see.
How
long
does
it
actually
take?
A
It
takes
roughly
5
to
10
seconds
max
or
15
seconds
to
get
that
site
collection
or
the
new
clerk
created,
and
we
can
actually
see
that
happening
live
in
here
as
well.
So
if
everything
goes
fine,
not
more
than
five
seconds
10
seconds,
15
seconds,
okay
20
seconds-
maybe
but
it's
not
like
minutes
and
then
go
and
this
one
well,
we
didn't
actually
say
that's
reflecting
their
life,
but
we
can
already
see
croup
created
mess
it's
coming
in
here.
A
A
Maybe
there's
not
this
one
timed
out,
then
there
is
my
PMP
10,
it's
actually
in
awful
pedicle
order,
so
it's
probably
down
there
and
but
if
I
now
take
the
URL,
we
can
actually
say
that
the
site
is
not
quite
yet
created
the
first
time
when
we
hit
that
URL,
it's
going
to
actually
set
up
the
final
settings
on
the
site
and
then
we
can
actually
access
the
site
based
on
the
ID.
So
the
croup
does
exist
at
this
point
and
there's
our
site
with
us,
which
is
using
the
title
with
the
BMP
Korsak
01.
A
So
it's
actually
this
way
I
can
see
that
my
coat
is
working
already.
Probably
I
can
test
it
in
here.
You
know
it's
matter
of
okay.
I
want
to
implement
that
you
I
in
flow
as
well,
so,
let's
actually
flip
on
the
slow.
Let
me
quickly
do
that,
so
this
one
is
now
ready.
So
essentially
our
script
doesn't
look
too
bad
one,
two,
three
four
five
six
lines
of
code
from
which
to
our
outputs
one
is
the
same
chord.
A
So
actually
we
have
two
lines
of
code,
not
too
bad
or
two
lines
of
PowerShell
script,
and
you
can
absolutely
test
this
in
a
local
box
before
you
use
it.
A
motive
move
it
in
the
dash
of
functions.
So
now
we
want
to
actually
create
a
UI
for
this
one.
So
let's
actually
create
a
simplistic.
You
guys
I'm
going
to
go
to
the
team
site
and
and
what
I'm
going
to
do
is
that
I'm
not
knocking
something
I'm
going
to
just
create
a
new
list
modern
list?
A
Let's
call
this
site
requests,
create
the
list
and
then
let's
create
a
flow
for
this
list,
so
from
flow
acts,
create
a
flows
or
create
flow
and
there's
quite
a
lot
of
templates
available
on
flow,
but
I'm.
Actually
one
bill
the
one
by
myself,
so
I'm
going
to
move
into
my
flow
and
let's
create
a
flow
from
plank,
not
interested
on
any
templates
for
this
one.
And
what
we
want
to
do
is
that
we
want
to
actually
check
one
sharepoint.
A
new
item
is
created
to
a
sharepoint
list.
A
This
one
is
asking
at
the
URL
and
the
listener.
So
let
me
actually
go
in
here:
I'm
going
to
copy
the
URL,
so
I
get
it
right
and
let's
go
back
to
flow
there
we
go.
It
is
connecting
to
the
side
good
and
then
I
can
actually
use
to
chop
down
and
select
my
site
requests
list.
And
then
okay,
new
item
is
created
to
the
list
and
then
we
want
to
add
an
action.
A
So,
what's
going
to
happen
when
a
new
item
is
getting
to
the
list
and
we're
actually
interested
on
the
queue
messages,
so
I'm
going
to
put
a
message
on
a
cure,
that's
what
I'm
looking
for
and
cue
the
boot
message
to
is
p.m.
peak
or
six
call
somehow
magically
it
was
able
to
find
out,
and
that's
because
I
have
my
sure,
connection
already
done
to
better
function.
A
Story
school,
so
I
was
able
to
see
that
queue
or
directly
into
in
the
store
excuse
and
what
I'm
going
to
add
there
in
the
queue
form
a
simplicity
perspective
it.
This
is
our
simple
simplistic
them,
as
it
gets.
I'm
gonna
add
a
title,
so
the
title
would
be
then
the
URL
of
the
site
which
is
getting
create
it
I,
could
absolutely
make
this
more
complex.
I
would
be
able
to
then
split
the
strings
in
the
PowerShell
side,
on
the
usher,
function
sine
get
additional
information
and
parsing
the
strings
and
all
that.
A
But
for
my
sake
of
our
demo,
let's
actually
do
it
just
this
one.
So,
let's
save
that
that's
done
flow
halved
and
created.
Let's
click
done,
we're
all
good
to
go.
I'm
going
to
flip
back
on
my
side:
let's
do
a
side-by-side,
so
we
can
actually
say
this
one
in
practice.
How
do
I
get
rid
of
that
flow?
I?
Don't
get
rid
of
done
x
there
we
go
so
now.
If
I
create
a
new
item
to
this
list,
let's
call
this
B&B
or
sick.
A
100,
so
we
can
actually
different
that
that
from
the
last
save
and
now
the
flow
actually
starts
and
in
a
second,
if
we
have
a
look
on
here,
we
should
be
able
to
say
that
Q
message
is
getting
passed
into
the
storage
cube
and
the
storage
key
is
initiating
well
other
way
around
probably
does
your
function
is
actually
realizing,
hey,
there's
an
item
in
a
queue.
Now
it
starts
for
executing
that
function.
We
can
see
that
there's
a
powershell
script
processing
started
with
the
queue
message
of
BMP
sick
100.
A
To
make
that
actually
happen
come
on
come
on
few
more
seconds,
few
more
seconds,
few
more
seconds
and
obviously
I
could
just
as
well
extend
right
now,
like
mentioned,
we
have
here
one
and
two
lines
of
actually
being
a
PowerShell.
I
can
actually
end
whatever
power
shall
hear.
I
could
actually
send
any
emails.
Do
a
notification,
whatever
is
needed
needed
to
be
done,
do
modifications
on
the
site
and
all
of
that
as
well.
A
So
now
the
group
has
been
created
and
now,
if
I
take
the
URL
which
such
as
formatted
on
the
right
format
and
get
into
the
back
in
here,
let's
request
that
one.
There
is
a
small
delay
on
on
the
creation
of
that.
Then
we
can
modify
that
slightly.
We
could
use
actually
rest
api
is
to
get
the
site
created
disaster,
but
there's
my
site
now
getting
create
it.
There's
no
customizations
within
the
side.
Ok,
there's
a
few
members
in
the
side
at
it.
A
Based
on
the
configuration
over
there,
we
can
say
that
it's
the
BMP
course
take
100
and
it's
actually
got
created
so
now,
basically
within
10
minutes.
If
you
know
where
to
click,
you
can
actually
create
a
set
of
service
site
collection
creation
flow,
not
a
production-ready
but
already
a
great
start
to
start
evolving
catalysis
and
there's
a
good
comment
from
Paul.
So
there's
a
time
outs,
inertia
which
is
five
minutes.
A
So
if
the
processing
takes
longer
than
five
minutes,
you
want
to
actually
do
multiple
functions
or
you
might
call
another
or
you
might
delegate
the
customization
to
a
natural
web
jump
or
there's
multiple
different
options.
How
to
do
them,
but
basic
flow
is
super
super
fast,
so
and
submissive
best
move
from
that
perspective.
It
really
depends
on
what
kind
of
customizations
we
would
be
then
applying
on
this
one
cute.
A
As
the
practice,
bees
could
be
yes
just
quickly
scanning
through
the
documents.
What's
the
cost
for
doing
this
so
and
the
cost
of
all
sure
functions
is
super
super
long
now,
so
we
talked
about
that
one
two
weeks
ago.
The
difference
for
doing
this,
comparing
the
rush,
your
web
job
is
really
really
big.
A
So
this
is
super
super
cheap,
comparing
I
shall
wet
job
of
your
web
sub
jobs
are
not
expensive
either,
but
that
your
functions
at
least
for
no
I,
don't
know
what's
going
to
happen
in
future,
I
had
no
idea,
but
there's
super
super
cheap.
This
is
like
zero
one.
Zero
zero
one
sense
to
to
do
this
so
super
fast.
A
Did
not
nothing
that
many
questions
on
there
and
this
would
be
creating
no
doubt
for
somebody
to
all,
maybe
to
me,
write
down
and
copy
paste
the
code
and
explain
everybody
how
to
make
this
happen.
Maybe
do
a
video
recording
we
wait.
We
actually
did
that
with
in
this
cold.
Getting
this
one
record,
it
so
sleeping
bag
on
the
slides
just
to
close
up
and
do
some
Q&A.
If
there's
any
any
questions,
so
that's
our
latest
slide
soon.
A
Yes,
I
could
absolutely
afraid
of
all
of
the
delays.
There
was
such
a
significant
amount
of
delays
on
this
one
like
few
seconds
here
in
there
and
I
can
see
from
a
timing
checks
director,
for
example,
the
last
yeah.
It
was
like
30
seconds
to
get
a
new
site
collection
created,
not
too
bad,
actually
now
new,
modern
site
collection
with
the
custom
permissions
in
30
seconds,
that's
pretty
cool,
but
yeah.
So
pretty
simplistic.
You
are
a
pretty
simplistic
functionality
just
to
show
the
power
of
slow
as
well
and
I.
Think
or
an
obvious
on
it.
A
I
should
be
pointing
out
the
PMP.
Sorry,
the
PowerShell
support
inertia
functions
is
in
preview.
The
the
queue
handling
in
the
flow
is
in
preview,
so
they're
not
actually
GA
ready
yet,
but
they
will
be
relatively
soon.
I
don't
actually
have
even
timelines
and
even
though
probably
would
not
be
able
to
share
them,
but
over
the
David
they
will
be
heading
to
the
ga
at
some
point
and
then
that
simplifies
development,
someone
it's
debatable.
Do
you
want
to
actually
do
your
customizations
or
provisioning
using
powershell
on?
A
Do
you
want
to
do
that
using
code
and
there's
advantages
and
disadvantages
import
options?
You
could
write.
Let's
say
a
provider
hosted.
You
provided
hosted,
adding
to
work
us
your
UI
for
creating
site
collections.
You
add
an
item
to
the
storage
key
and
then
and
that
actual
provisioning
is
done
from
a
sure.
I
shall
functions.
That
could
be
a
one
option
and
there
is
the
timeout
challenge
for
that
one
as
well.
A
A
That's
a
good
point
from
the
liar's
five
minute:
I
month
only
applies
to
consumption
plan.
Okay,
let's
actually
double
check
that
one.
Now,
that's
actually
a
really
really
good
comment
now,
because
when
maybe
I
should
write
a
small
plug
for
some,
but
whenever
somebody
write
some
small
blog
post
on
that,
one
should
double
check
the
five-minute
timeout
good.
Any
questions
comments
feedback.
A
A
It
always
depends
on
the
on
the
objectives
of
the
of
the
project,
promote
ever
to
see
this
absolutely
valid
case.
Maybe
future
webshops,
sorry
enough,
that
job
sorry
web
hooks.
You
can
use
storage
case
now,
if
you
want
to,
if
you
want
to
have
a
simplistic
way
of,
let's
say,
maintaining
your
provisioning
from
a
functionality
perspective.
I
shore
functions
and
powershell
scripts.
Yeah
absolutely
works
as
well.
If
that's
the
way
you
want
to
actually
go,
it
is
again
debatable.
It
really
depends.
What's
the
maintenance
plan,
what
is
the
overall
architecture
of
the
design?
A
A
Transcendent
done
no
we're
heating
the
hour
I
think
it's
time
to
close
up.
Thank
you
for
joining
on
this
one.
Hopefully
the
demo
was
interesting,
and
hopefully
the
stuff
was.
The
demos
and
content
was
interesting
as
well.
We
will
have
a
following
must
emerge
coming
on
this
friday,
so
on.
Is
it
eight,
no
fridays
seventh
of
april
and
then
we'll
start
working
on
the
provision?
Is
game
updates
after
done,
but
thank
you
for
joining.