En esta sesión se platica sobre la evolución de la extensibilidad en SharePoint, se introduce los tipos de AddIns y Apps que se pueden construir y Office 365 Developer Pattern & Practices
2. 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
3. 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
4. Alternativas
• Ejecutar el código del lado
cliente (JavaScript)
• Ejecutar el código del lado
servidor ejecutándose en
un servidor por separado
5. 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
6. 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
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
10. 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
11. 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
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 Lists in Graph
• Basic discovery of sites and site collections
• List Item create, read, update, delete
• Access to files and folders via Drive API
16. 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
17. 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
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)
21. 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
22. 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
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 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