Simposio SharePoint 2016
Microsoft México y la Comunidad de SharePoint México
El Futuro de Desarrollo
SharePoint (Add ins)
Haaron Gonzalez
Consultor
MVP en Servidores y Servicios
de Office
@haarongonzalez
Vladimir Medina
Mentor
MVP | MCT | MCP
@vladpoint
Código Personalizado
• A veces el código
personalizado es un mal
necesario
• Cuando es ejecutado
dentro de un proceso en
servidor on premise como
wpw3.exe o owstimer.exe,
puede afectar la
confiabilidad
Alternativas
• Ejecutar el código del lado
cliente (JavaScript)
• Ejecutar el código del lado
servidor ejecutándose en
un servidor por separado
Add ins
• Se introdujeron en SharePoint Server 2013
• Ofrece dos modelos de hospedaje, provider hosted y
SharePoint hosted
• Pueden contener:
• Web Parts
• Full-page Apps
• Custom Actions
• Event Receivers
Tipos de Add Ins
• SharePoint hosted add-Ins
• Son aplicaciones basadas en puro código JavaScript
• Provider hosted add-Ins
• Son aplicaciones donde el código corre del lado servidor en un servidor
diferente
Add Ins características
• SharePoint hosted add-ins
• Limitados en cuanto a lo que
pueden hacer
• Se pueden empaquetar como
web parts, pero se muestra
sobre un Iframe glorificado con
un sin numero de desventajas
• Migrarlos es complejo
• Configuración y despliegue es
muy fácil
• Provider hosted add-ins
• Configuración y despliegue es
complejo
• Son lo suficientemente
poderosos para cumplir con
cualquier requerimiento de
negocio
• Las migraciones son mas fáciles
• Empaquetarlos como web part
es un tanto problemático.
Siguen siendo Iframe
glorificados
Programando un SharePoint
hosted add-in
Programando un Provider
hosted add-in
En Resumen
• Add Ins o Apps ya están dando señales de que se están quedando
atrás
• Las Apps solo están centradas a SharePoint
• En Office 365, pueden remplazarse por Web APIs y Azure AD
• Pero seguimos ocupándolas en On Premises
Las opciones técnicas hoy se basa más en la
necesidad que se tiene
Ofrece mejor aislamiento de código y protección de la
propiedad intelectual
Permisos basados en consentimiento
Control total de la experiencia de usuario
SI trabajan con las experiencias modernas
Experiencia de usuario consistente entre las paginas
• Rápidas, no hay postbacks o refresh
Trabajan con
Corren bajo el contexto del usuario con sus permisos
APIs
• CSOM + REST
• Profunda extensibilidad entre SharePoint, Project y mas allá
• CSOM: Librerías cliente para JS y .NET
• REST: Simple interface, basada en las semántica web de REST
• Microsoft Graph—Ahora incluye sitios, listas y archivos
Microsoft Graph APIs
• Un único endpoint para desarrolladores
• Uso consistente por los workloads de Office 365
• Autentificación integrada
• Soporte para móviles y otros servicios
https://graph.microsoft.io/en-us/graph-explorer#/
Sites and Lists in Graph
• Basic discovery of sites and site collections
• List Item create, read, update, delete
• Access to files and folders via Drive API
SharePoint as a platform
Code samples
Guidance documentation
Monthly community calls
Case Studies
Themes
SharePoint Framework
SharePoint add-ins
Microsoft Graph
Office 365 development
“Sharing is caring”
http://aka.ms/OfficeDevPnP
Office 365 Developer Pattern & Practices
• No es parte del producto, debería de serlo
• Es un esfuerzo de comunidad, tanto personas
de Microsoft como miembros de la comunidad
contribuyen
• Es Open Source
• Aunque no sea parte del producto, cada
desarrollador SharePoint y Office 365 que se
respeta así mismo debería de aprender a
usarlo
• http://dev.office.com/patterns-and-practices
Office 365 Pattern & Practices consiste de
• Guías y lineamientos (sigue practicas probadas)
• Entrenamiento (porque necesitas aprender todo lo que tiene)
• Código (porque se nos da el código fuente y código de ejemplo)
Disponible como Paquetes Nuget
Instalando Office 365 PnP
para SharePoint Online en
Visual Studio 2015
Partes sobresalientes de Office 365 PnP
• Métodos extendidos y PowerShell
• Hay cosas que hacemos en CSOM que son un tanto complejas,
los métodos extendidos no lo hacen mas fácil
• Marco de Trabajo para la creación de Timer Jobs Remotos
• Permite correr Jobs fuera de SharePoint u O365 y cuenta con lo
necesario para actuar y trabajar como timer job
• Administrador de autentificación
• Cuenta con métodos que nos simplifican la autentificación
• Marco de Trabajo para Aprovisionamiento de Sitios
• Lo usamos para extraer plantillas y aplicarlas, para crear y
personalizar colecciones de sitios
Métodos Extendidos
• Construidos por encima de CSOM y de REST, no puedes hacer nada
que este fuera de lo permitido
• Sin embargo facilitan muchas tareas comunes
• Y son libres de errores
Métodos Extendidos
Remote Timer Job
• Creamos un provider hosted app que servirá como Time Job Remoto
• Configuración de autentificación
• Alcance dinámico (operar solo en colecciones de sitio)
• Modelo de ejecución multi-thread
• Administración del estado
• Fácil de programar
• Logs
Marco de Trabajo para Aprovisionamiento de
Sitios
• Administración la creación de colecciones de sitio desde código
• Extracción de plantillas
• Aplicación de plantillas
• Se pueden invocar desde .NET o powershell
Aprovisionamiento de Sitios

Futuro de Desarrollo en SharePoint

  • 1.
    Simposio SharePoint 2016 MicrosoftMéxico y la Comunidad de SharePoint México
  • 2.
    El Futuro deDesarrollo SharePoint (Add ins) Haaron Gonzalez Consultor MVP en Servidores y Servicios de Office @haarongonzalez Vladimir Medina Mentor MVP | MCT | MCP @vladpoint
  • 3.
    Código Personalizado • Aveces el código personalizado es un mal necesario • Cuando es ejecutado dentro de un proceso en servidor on premise como wpw3.exe o owstimer.exe, puede afectar la confiabilidad
  • 4.
    Alternativas • Ejecutar elcódigo del lado cliente (JavaScript) • Ejecutar el código del lado servidor ejecutándose en un servidor por separado
  • 5.
    Add ins • Seintrodujeron en SharePoint Server 2013 • Ofrece dos modelos de hospedaje, provider hosted y SharePoint hosted • Pueden contener: • Web Parts • Full-page Apps • Custom Actions • Event Receivers
  • 6.
    Tipos de AddIns • SharePoint hosted add-Ins • Son aplicaciones basadas en puro código JavaScript • Provider hosted add-Ins • Son aplicaciones donde el código corre del lado servidor en un servidor diferente
  • 7.
    Add Ins características •SharePoint hosted add-ins • Limitados en cuanto a lo que pueden hacer • Se pueden empaquetar como web parts, pero se muestra sobre un Iframe glorificado con un sin numero de desventajas • Migrarlos es complejo • Configuración y despliegue es muy fácil • Provider hosted add-ins • Configuración y despliegue es complejo • Son lo suficientemente poderosos para cumplir con cualquier requerimiento de negocio • Las migraciones son mas fáciles • Empaquetarlos como web part es un tanto problemático. Siguen siendo Iframe glorificados
  • 8.
  • 9.
  • 10.
    En Resumen • AddIns o Apps ya están dando señales de que se están quedando atrás • Las Apps solo están centradas a SharePoint • En Office 365, pueden remplazarse por Web APIs y Azure AD • Pero seguimos ocupándolas en On Premises
  • 11.
    Las opciones técnicashoy se basa más en la necesidad que se tiene Ofrece mejor aislamiento de código y protección de la propiedad intelectual Permisos basados en consentimiento Control total de la experiencia de usuario SI trabajan con las experiencias modernas Experiencia de usuario consistente entre las paginas • Rápidas, no hay postbacks o refresh Trabajan con Corren bajo el contexto del usuario con sus permisos
  • 12.
    APIs • CSOM +REST • Profunda extensibilidad entre SharePoint, Project y mas allá • CSOM: Librerías cliente para JS y .NET • REST: Simple interface, basada en las semántica web de REST • Microsoft Graph—Ahora incluye sitios, listas y archivos
  • 13.
    Microsoft Graph APIs •Un único endpoint para desarrolladores • Uso consistente por los workloads de Office 365 • Autentificación integrada • Soporte para móviles y otros servicios https://graph.microsoft.io/en-us/graph-explorer#/
  • 14.
    Sites and Listsin Graph • Basic discovery of sites and site collections • List Item create, read, update, delete • Access to files and folders via Drive API
  • 15.
  • 16.
    Code samples Guidance documentation Monthlycommunity calls Case Studies Themes SharePoint Framework SharePoint add-ins Microsoft Graph Office 365 development “Sharing is caring” http://aka.ms/OfficeDevPnP
  • 17.
    Office 365 DeveloperPattern & Practices • No es parte del producto, debería de serlo • Es un esfuerzo de comunidad, tanto personas de Microsoft como miembros de la comunidad contribuyen • Es Open Source • Aunque no sea parte del producto, cada desarrollador SharePoint y Office 365 que se respeta así mismo debería de aprender a usarlo • http://dev.office.com/patterns-and-practices
  • 18.
    Office 365 Pattern& Practices consiste de • Guías y lineamientos (sigue practicas probadas) • Entrenamiento (porque necesitas aprender todo lo que tiene) • Código (porque se nos da el código fuente y código de ejemplo)
  • 19.
  • 20.
    Instalando Office 365PnP para SharePoint Online en Visual Studio 2015
  • 21.
    Partes sobresalientes deOffice 365 PnP • Métodos extendidos y PowerShell • Hay cosas que hacemos en CSOM que son un tanto complejas, los métodos extendidos no lo hacen mas fácil • Marco de Trabajo para la creación de Timer Jobs Remotos • Permite correr Jobs fuera de SharePoint u O365 y cuenta con lo necesario para actuar y trabajar como timer job • Administrador de autentificación • Cuenta con métodos que nos simplifican la autentificación • Marco de Trabajo para Aprovisionamiento de Sitios • Lo usamos para extraer plantillas y aplicarlas, para crear y personalizar colecciones de sitios
  • 22.
    Métodos Extendidos • Construidospor encima de CSOM y de REST, no puedes hacer nada que este fuera de lo permitido • Sin embargo facilitan muchas tareas comunes • Y son libres de errores
  • 23.
  • 24.
    Remote Timer Job •Creamos un provider hosted app que servirá como Time Job Remoto • Configuración de autentificación • Alcance dinámico (operar solo en colecciones de sitio) • Modelo de ejecución multi-thread • Administración del estado • Fácil de programar • Logs
  • 25.
    Marco de Trabajopara Aprovisionamiento de Sitios • Administración la creación de colecciones de sitio desde código • Extracción de plantillas • Aplicación de plantillas • Se pueden invocar desde .NET o powershell
  • 26.