►
Description
In this video Vesa Juvonen (Microsoft) is covering the different extensibility options for SharePoint and their differences. He covers farm solutions, sandbox solutions, add-ins/apps, script embedding and SharePoint Framework. Each extensibility option has different advantages and disadvantages which are covered in this video.
Presenter - Vesa Juvonen (Microsoft) - @vesajuvonen
More details on the SharePoint developer community from http://aka.ms/sppnp.
A
Hello,
my
name
is
Josiah
Warren
I'm,
a
principal
program
manager
from
the
SharePoint
engineering.
In
this
quick
video,
we
will
have
a
look
on
the
different
extensibility
options
which
we
have
in
SharePoint,
so
SharePoint
has
existent
since
2001
and
this
video
is
getting
recorded
in
2019.
So
it's
been
a
long,
lasting
product
and
there's
quite
a
few
different
extensibility
options
which
are
available
for
SharePoint
depending
on.
Where
are
you
deploying
your
extensibility
or
customizations,
or
where
are
you
hosting?
We,
our
SharePoint
experience?
A
Now,
first
of
all,
when
we
release
the
SharePoint
back
in
2001,
we
didn't
actually
have
valid
extensibility
options
and
and
really
it
the
SharePoint
itself
wasn't
super
successful
at
the
time.
But
then,
as
part
of
the
2007
release
of
SharePoint,
we
actually
introduced
the
first
real
extensibility
model
on
SharePoint.
You
might
actually
argue
if
you've
been
around
since
2003
or
an
all
over
even
older
version
you
weren't
able
to
actually
extend
those
as
well,
but
they're
not
really
designed
to
be
extended
as
such.
A
So
you
needed
to
override
a
cloud
of
the
books,
files
and
overwrite
artworks
experiences
to
make
things
happen.
Now
we
2007
release.
We
introduced
the
farm
solutions
and,
like
I,
said
this,
video
is
getting
recorded
in
2019
so
12
years
ago,
when
the
initial
form
solution
capability
was
actually
introduced
and
the
farm
solutions
I'm
right
now
still
100%
supported
in
on-premises
deponent.
A
So
you
cannot
actually
build
farm
solutions
and
form
solution
or
use
server-side
api
if
you're
looking
into
using
sharepoint
online
or
office
365
or
microsoft
365
hosted
services,
so
these
are
only
supported
in
on-premise
environments.
Now
you
also
need
to
have
a
deep
knowledge
on
sharepoint
in
general,
so
those
xml
structures
when
you're
building
an
own
at
external
files
or
feature
xml
files
or
element
xml
files,
which
are
then
defining
the
behavior
changes
inside
of
the
sharepoint
or
how
you're
deploying
your
assets
and
functionalities
in
the
sharepoint.
A
A
So
it
there's
always
a
high
risk
when
you're
deploying
our
extensibility
of
the
customizations
using
the
farm
solution
options,
but
what's
good
about
the
farm
solution.
Still,
if
you
think
about
that
positive
side
of
the
farm
solution,
it
is
still
supported
in
on-premises,
so
it
is
supported
from
2007,
2010,
2013,
2016
and
2019
version,
so
absolutely
support
a
distance
ability
option.
But
you
cannot
move
that
accessibility
to
the
cloud
now.
A
The
second
option
which
we're
going
to
go
through
today
is
the
sandbox
solutions
option,
and
this
was
introduced
back
in
2010
as
a
more
flexible
way
of
hosting
extensibility,
actually
kind
of
a
routes
itself
from
the
thinking
on
Microsoft,
where
we
wanted
to
come
up
with
a
model
which
they
can
actually
host
for
our
customers
in
a
cloud.
So
you
would
be
able
to
actually
put
your
extensibility
in
cloud
hosted
form
without
the
requirement
of
deploying
the
same
place
in
the
server
side
of
the
farm
and
that's
really
the
core
of
the
sample
solution.
A
So
the
code
is
running
in
a
separate
process
if
it
was
a
code
behind
sample
solution
and
then
if
it
was
a
a
declarative
sample
solution
that
that
was
executed
in
a
different
process
as
well,
so
it
was
kind
of
a
securely
isolated
from
a
extensibility
point
of
view.
Now
in
the
cloud
in
SharePoint
Online,
the
schambach
solutions
is
only
partially
supported
anymore.
A
So
you
cannot
actually
deploy
a
code
behind
sandbox
solutions,
so
only
declarative
sample
solutions
are
subordination,
and
that
is
actually
there's
potential
performance
issues
which
the
sample
solutions
are
causing
from
a
code-behind
perspective
and
also
with
the
declarative
customizations.
Actually,
this
when
you're,
installing
a
centric
solution,
it's
a
kind
of
a
classic
way,
it's
kind
of
a
an
easy
way.
If
you
come
from
a
farm
solution,
sign
to
get
assets
deployed
on
a
slight
level,
but
there's
new
installation
API
is
for
those
sandbox
solutions
in
a
site,
collection
level.
A
So
the
management
and
operations
with
sandbox
solution
gets
quite
difficult.
Actually,
you
are
able
to
override
as
an
example,
if
you're,
if
you're
running
in
a
classic
experience,
you
are
able
to
override
a
classic
monster
debate.
But
do
you
actually
want
to
do
that
because
you
probably
want
to
go
to
the
modern
experiences
and
what
else
are
the
capabilities
which
we
are
providing
with
sandbox
solutions?
A
Well,
not
that
much
actually
in
the
cloud
experience
and
sample
solutions
are
not
supported
or
the
UI
elements
of
the
sample
solutions
are
not
really
there
in
the
modern
experience
as
the
SharePoint.
So
this
is
not
a
future
proven
model.
You
should
not
be
really
investigating
on
using
the
sample
solution
model
as
D
pattern
for
doing
your
extensibility
and
customizations
in
the
cloud
or
even
in
on-premises,
even
though
technically
absolutely
supported
since
2010,
and
even
the
code-behind
centric
solutions
are
technically
supported
in
the
newer
versions
of
SharePoint
servers
in
on-premises
site.
Now.
A
So
if
you
think
about
sandbox
solutions,
you
you
were
able
to
have
that
code
behind
us
simply,
but
with
office
or
adding
solutions
and
add
in
implementation.
You
were
always
executing
outside
of
the
process
of
the
SharePoint
Server
and
process
of
the
SharePoint
fun.
You
were
either
running
in
the
browser
as
a
SharePoint
hosted
at
it
or
then
you're
running
in
the
Nationals.
A
It
provided
a
security
model,
so
your
add-ins
were
able
to
request
the
permissions
to
a
certain
assets
and
then
that
security
model
is
always
double
check
when
something
is
getting
executed
in,
however,
had
a
massive
limitations
of
the
web
point
experience
as
an
adding
part
was
highly
limited,
so
it
was
an
isolated
iframe,
and
this
really
came
down
on
the
fact
that
we
wanted
to
have
that
high
security
and
high
security
meant
that
iframe
was
thrown
away.
We
could
actually
provide
that
with
given
the
OAuth
permissions.
A
It
also
required
quite
a
significant
additional
and
operational
maintenance
costs
or
investments,
even
in
on-premises,
so
I
needed
to
need
to
have
a
additional
domain
in
on-premises,
and
then
you
need
to
maintain
that
those
probably
hosted
aliens
in
on-premises
if
you're
doing
those
separately.
So
there's
quite
a
few
considerations
there
with
adding
Moodle
and
that's
really
the
reason
why
the
SharePoint
data
model
isn't
really
that
widely
used
either.
So
sure
there
was
a
high
excitement
when
it
was
introduced
and
shared.
A
My
hosted
audience
was
a
cool
thing
for
awhile,
but
it
really
has
been
slowing
down
and
the
concentration
has
been
more
on
the
provider
hosted
at
inside
with
definitely
more
future
proven.
But
even
one
of
these
are
not
really
the
ones
where
we
are
investing
as
a
Microsoft
anymore,
then
kind
of
a
separate
to
model
as
such,
but
it's
something
which
which
people
started
then
using
together
and
on
top
of
the
central
solutions
or
after
the
sandbox
solutions
and
adding
by
using
the
script
and
bidding
techniques-
and
this
was
something
which
was
demonstrated.
A
Many
MVPs
and
the
community
resources
were
demonstrating
how
to
make
this
happen,
as
one
of
the
options
of
let's
say,
quotes
on
bending
the
limitations
of
a
UI
extensibility.
There
was
a
few
different
ways
of
doing
this,
so
you
were
able
to
use
script,
editor,
webpart
or
a
content,
editor
webpart.
Oh,
then,
you
were
able
to
use
and
still
are
able
to
use
user
custom
actions
in
a
classic
UI
experience
in
SharePoint,
so
technically
highly
flexible.
A
But
then
the
problem
and
challenge
here
is
the
fact
that
this
was
actually
a
site
collection
owner
event
capability,
and
you
might
say
that
that's
a
massive
advantage,
but
but
they
actually
in
opens
up
a
massive
security
challenge,
which
is
a
high
concern
in
a
nowadays
in
the
world.
So
people
want
to
be
a
much
more
aware,
but
not
a
random
int
users
can
just
embed
a
script
on
the
side
which
is
accidentally
than
giving
permissions,
for
example,
all
of
the
content
in
the
in
the
in
the
tenant
or
in
the
SharePoint
forum.
A
A
Embedding
in
this
massive
massive
security
risk
of
enabling
this
happening
in
the
tenant
or
in
your
own
premises,
form
so
based
on
the
fact
that
people
are
copy
pasting,
stuff
from
internet
and
putting
that,
then
the
descripton
sure
it
might
look
like
it's
doing
its
job.
But
then
is
it
doing
something
extra
as
well?
And
that's
really
the
main
concern.
There's
no
centralized
control
and
there
is
no
centralized
control
in
a
tenant
level.
A
Creating
on
premises,
which
is
what's
quite
often
has
been
quite
time-consuming
and
white,
quite
costly.
So
when
you're
upgrading,
the
UI
from
2007
to
2010
or
2010
to
2013
in
actually
was
always
a
big
project,
and
why
is
that?
Well,
it's
because
the
UI
was
based
on
the
model
where
they
override
the
UI.
So
we
introduced
a
custom
masturbator
of
introduced
a
completely
new
custom
UI
experience
rather
than
extending
the
XS
distant
model.
Extending
the
X
takes
the
existing
UIs
and
existing
master
pages,
and
that's
really
the
core
of
the
SharePoint
framework.
A
So
the
SharePoint
framework
comes
and
approaches
the
extensibility
of
sharepoint
from
learning
from
this
past
learning
from
the
previous
versions
and
trying
to
address
those
gaps
and
mistakes
and
issues
what
we
were
having
based
on
the
feedback
from
the
enterprise
customers
and
matures
customers
and
their
smaller
customers
as
well.
So
SharePoint
framework
enables
easily
extend
the
ship
on
UI,
but
in
a
safe
way.
A
So,
in
a
way
that
you
are
adding
a
controlled
script,
which
has
been
proven
and
centrally
approved,
to
be
the
point
in
a
turn
on
biotin
administrator
or
two
persons
behind
responsible
of
the
Earth
Catalog,
so
the
persons
who
are
actually
responsible
of
the
form,
it
doesn't
mean
that
you
cannot
extend
the
sharepoint.
It's
just
matter
of
again
agreeing
the
rules
within
a
tenant
level
that
in
this
tenant
we
are
able
to
either
embed
the
scripts
or
not
embed
the
script.
A
So
the
same
piece
of
code
can
be
either
a
chiffon
framework
web
board
or
it
can
be
actually
Microsoft
Tim
stamp
and
it
can
be
other
things
in
the
future
as
well.
So
the
SharePoint
framework
is
really
extending
to
be
the
effector
model
of
extending
the
UI
layer
at
the
office
resister
5
scope,
which
is
a
good
thing
for
all
of
the
developers.
So
you
learn
a
one
way
to
do
extensibility
and
you
can
take
advantage
of
the
same
or
across
two
different
services.
A
Now
it
has
a
really
flexible
web
part
experience,
but
it's
not
just
web
parts.
It's
also
about
the
extensions
which
are
capable
and
available
for
you,
so
here
I
am
able
to
embed
the
footers
and
hitters
and
other
embedding
scripts
techniques
on
the
sides,
but
again
in
a
safe
way
with
the
tenant.
Approval
cannot
embed
these
random
scripts
to
the
side
without
agreement
in
a
turn-off
level
who
can
actually
do
it
on
it
runs
under
the
permissions
of
the
current
user.
A
So
there's
no
off
a
model
in
here,
but
you
are
still
able
to
elevate
if
needed,
by
using
a
web
api
or
using
an
external
service
which
your
script
is
executing.
Is
it's
also
the
industry
standard
development
model?
So,
basically,
as
long
as,
if
you
learn
how
to
do
development,
using
japan's
framework,
you
as
a
developer
are
able
to
do
development
against
any
other
web
client
as
well.
All
the
modern
web
clients
as
well,
because
we're
using
nodejs
and
BM
typescript,
like
angular
team,
is
using
and
you're
using
react,
angular
view.
A
Whatever
is
your
preference,
so
you're
really
up
to
date
on
the
extensibility
models
within
the
web,
and
this
is
really
the
future
proven
model
which
also
the
sharepoint
engineering
is
using.
So
we
built
our
own
experience,
a
citizenship
on
framework
which
will
give
you
the
current
e
that
will
not
kind
of
stopped
supporting
fraternity
upon
the
framework
in
future,
and
if
you
have
a
look
on,
those
are
the
four
different
options
which
we
went
through.
None
of
those
solution
models
were
used
by
the
SharePoint
engineering
in
the
past.
A
So
that's
a
really
the
limitation
there,
because
SharePoint
framework,
SharePoint
2016
feedback,
does
not
support
modern
Bates
experience.
So
therefore
it's
the
classic
experience
over
there
and
then
you
are
kind
of
limited
on
the
shape.
One
framework,
one
point
one
person
and
then
on
a
SharePoint
2019.
You
are
able
to
use
extensibility
modern
pages,
because
2019
actually
supports
a
modern
pages,
as
we
were
able
to
actually
use
Europe
on
trend
of
1.4
version
over
there.
Now
those
versions
are
actually
kind
of
irrelevant.
A
So
when
you
ever,
you
start
building
your
solution,
always
install
the
latest
version
of
SharePoint
human
generator
and
then,
as
part
of
the
questions
in
the
yeoman
generator,
yeoman
generator
is
asking
which
environment
you
want
to
target
this
solution
to
and
always
select
that
properly,
and
it
will
give
you
the
right
version
and
right
package
versions
which
would
be
used
within
your
deployment.
Now,
just
quick
recap
on
the
offering
options
and
impact
form
solutions,
we're
not
going
to
give
it
a
clean
smile.
A
It
is
kind
of
a
midsize
smile
as
they
are
absolutely
supported
and
you
are
still
able
to
use
them,
but
then
you're
limited
in
on-premises
and
you
are
not
future
proven
you're
kind
of
implementing
in
a
in
a
SharePoint
specific
way.
Those
customizations
centric
solutions,
not
good
option.
Definitely
you
should
not
be
looking
at
this
option,
and
this
includes
also
with
templates
and
safe
side,
is
the
template
options
because
those
are
actually
sandbox
relations.
So
please
do
not
look
on
this
option.
Try
to
walk
away
from
that
slide,
the
add-ins
yeah,
quite
okay.
A
They
are
absolutely
supported
in
on
premises
and
in
cloud,
but
it's
not
really
a
future
program
model
anymore.
We
are
looking
into
university
more
and
more
on
ship
on
framework
and
the
other
models
will
show
up
on
framework
models
in
both
sides:
script,
embedding
yeah,
they're,
flexible,
but
they're,
actually
quite
evil,
so
you're
able
to
accidentally
embed
a
security
risks
on
your
form,
even
in
on
premises
which
might
actually
compromise
your
environment
and
that's
not
a
necessarily
a
good
thing.
A
So
really
right
now,
currently
in
the
spring
June
2019,
the
right
chosen
model
where
it
should
be
betting
on
is
to
SharePoint
framework.
This
is
the
model
which
we
are
using
in
the
shop
and
engineering
for
building
the
SharePoint
experiences,
and
this
is
the
model
which
you
should
be
looking
into
when
they
are
extending
SharePoint,
even
in
on-premises
and
SharePoint
2016,
or
share
one
twenty
nineteen
environments.
A
That's
a
quick
summary
on
the
different
options
and
the
recommendations
from
the
SharePoint
engineering
side.
It
is
June
2019,
so
the
situation
definitely
might
change
depending
on
when
you're
watching
the
video,
but
I
wanted
to
walk
through
the
different
options.
And
let's
say
the
learning
is
from
the
options
which
was
hopefully
useful
for
you
thanks
you
for
watching
Cheers.