Upload
haaron-gonzalez
View
61
Download
0
Embed Size (px)
Citation preview
Simposio SharePoint 2016
Microsoft México y la Comunidad de SharePoint México
El Futuro de Desarrollo SharePoint (Add ins)
Haaron GonzalezConsultorMVP 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
DemoProgramando un SharePoint hosted add-in
DemoProgramando 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
Add-ins
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
Client-side web parts
Experiencia de usuario consistente entre las paginas• Rápidas, no hay postbacks o refresh• ResponsivasTrabajan con SharePoint Mobile App*Modelo de confianza, requiere a un admin de su consentimiento para poder instalarlaCorren 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
Developer Preview Coming Soon
• 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
Add-in Parts & Custom Actions
Client Object Model (CSOM+JSOM)
RESTWorkflows
Remote Event Receivers
Add-ins & SharePoint Store
Declarative Solutions
ASP.NET 4.5 Integration Server Side APIsEvent Receivers
Full Trust Solutions
SharePoint Framework (SPFx)
PowerApps
Graph APIs Webhooks
Microsoft Flow
SPFx Client Side Solutions
User experience Data and APIs Processes Packaging, deployment, and store
• SPFx and Webhook General Availability• Improved support for Add-ins• Custom views and apps using SPFx• Broadening Webhook support• Smoother adoption experiences
Code samples
Guidance documentation
Monthly community calls
Case Studies
ThemesSharePoint FrameworkSharePoint add-insMicrosoft GraphOffice 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
DemoInstalando 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
DemoMé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
DemoAprovisionamiento de Sitios