►
From YouTube: Getting started with the PnP Provisioning Engine in .NET
Description
This video demonstrates steps on using the PnP Provisioning Engine in .NET. It demonstrates how to use the PnP Sites Core assembly to extract site configuration from existing modern team site and apply that to another site.
A
Welcome
to
this
short
video
about
getting
started
with
the
PMP
provisioning
engine
in
dotnet
framework
I
will
directly
focus
my
attention
on
the
demo
stuff,
and
so
let
me
switch
to
my
browser.
Imagine
that
you
have
a
modern
team
site
like
this
one
in
which
you
created
a
custom
document
library
and
in
which
you
created
a
custom
list
with
a
few
custom
fields.
A
Moreover,
let's
say
that
you
fully
customized
the
home
page
of
the
modern
site
and
you
remove
the
out-of-the-box
client-side
web
part
and
you
added
a
least
client-side
web
part
to
show
the
content
of
the
custom
list,
as
well
as
on
the
right
side.
The
document
library
client-side
web
part
to
show
the
content
of
the
custom
documents
document
library
now
imagine
that
this
is
a
template
that
you
wanna
use
to
create
multiple
site
collections
using
the
same
information
architecture
and
using
the
same
outline
of
the
home
page.
A
Now
assume
also
that
you
have
another
target
site
on
top
of
which
you
want
to
apply
the
same
information
architecture
and
the
same
outline
for
the
home
page.
Let
me
switch
to
visual
studio
and
let
me
show
you
how
you
can
do
that
using
the
DMP
provisioning
engine.
First
of
all,
here
we
have
a
console
application,
but
it
can
be
whatever
you
like
and
under
the
references
in
the
manager
you
get
packages
UI.
You
can
see
that
under
the
installed
packages
we
have
the
SharePoint
PMP
Core
online
library
installed.
A
A
To
show
you
what
is
happening
while
extracting
the
template,
I'm,
also
using
a
provisioning
template
creation,
information
object
through
which
I
can
define
a
delegate
which
will
be
fired
whenever
there
will
be
a
message
from
the
provisioning
engine,
so
that
we
will
see
step
by
step.
What
will
be
done
by
the
engine
during
the
extraction
of
the
template.
Once
the
template
has
been
extracted,
we
will
have
a
domain
model
object
in
memory
which
we
can
just
use,
as
is
on
which
we
can
store.
A
We
can
save
on
a
persistent
environment
as
long
as
I
do
in
this
demo,
through
which
I
save
using
the
file
system.
As
my
repository
an
XML
file,
which
will
be
called
templated,
XML
in
which
I
will
store
the
content,
the
full
content
of
the
serialized
template
later
on
I
will
be
able
to
create
a
new
client
context,
object
targeting
the
new
target
site
still
using
the
same
authentication
technique
using
the
provider,
I
will
load
back
the
template
in
memory.
A
I
can
even
customize
some
of
the
settings
of
my
template
in
memory
and
once
I
have
a
target
web
object.
I
can
apply
the
provisioning
template
using
yet
another
extension
method
that
we
have
in
PMP
to
apply
a
template
onto
a
target
website
and
one
more
time,
I
have
a
provisioning
template,
applying
information
object
which
allows
me
to
show
you
the
progress
of
the
application
of
my
template
onto
the
target
site.
So
let
me
run
the
code
and
let's
see
what
happens
so
f5,
we
will
have
a
console
window
popping
up
and
step
by
step.
A
We
will
see
the
extraction
of
the
template.
As
you
can
see
right
now.
We
have
17
different
steps
that
will
be
executed.
All
of
them
will
extract
some
of
the
content
from
the
search
side.
Right
now.
We
are
extracting
the
list
instances
from
the
side,
and
this
is
one
of
the
longer
steps
that
we
have
in
the
engine,
because
it
has
to
do
a
lot
of
stuff
to
extract
the
lists,
the
content,
types,
the
fields
and
all
of
the
settings
of
all
of
the
custom
lists
created
in
the
source
side.
A
Once
the
list
instances
extraction
will
be
completed,
will
we
have
a
few
more
steps
and
that
we
will
have
a
provisioning
template
ready
to
go
in
memory?
As
you
can
see,
we
extracted
workflow
say:
if
any
we
extract
the
web
settings,
we
extract
all
of
the
information
about
application,
lifecycle
manager
and
so
on
so
forth.
A
Now
we
have
a
template
object
in
memory
which
can
be
used,
as
is
in
memory
and,
as
you
can
see,
we
have
a
bunch
of
information
in
this
item,
including
in
the
lists,
a
couple
of
lists
which
will
be
the
custom
documents,
library
and
the
custom
list
that
we
just
saw
in
the
browser,
and
we
can
store
the
template
on
the
file
system
just
using
the
provider.
So
let
me
continue
with
the
code
execution
now.
Let
me
wait
for
a
mentor
to
apply
the
template
on
the
target
environment.
So
let
me
do
that.
A
Let
me
press
enter
and,
as
you
will
see
through
the
console
window,
we
will
see
the
application
of
the
template
onto
the
target
environment.
It
will
take
a
while
to
set
up
the
authentication
context,
and
now
we
are
applying
the
template
onto
the
target
environment.
One
more
time.
We
have
a
few
steps
that
will
be
executed.
Now
we
just
have
eight
steps
because
our
just
the
steps
for
what
has
to
be
applied
for
what
has
to
be
created
on
the
target
environment
and
once
the
process
will
be
completed
one
more
time.
A
Of
course,
we
just
extract
and
apply
the
information
architecture.
We
don't
move
the
content
and
that's
why,
in
the
search
site
you
had-
and
you
saw
some
items
in
the
custom
list
and
in
the
custom
document
library-
and
we
don't
have
any
item
in
the
target
side,
because
we
just
recreated
the
same
information
architecture
but
without
any
content,
because
we
are
not
in
the
market
of
migrating
content
from
one
site
to
another.