Acceso a datos con SharepointRubén Toribio
https://twitter.com/Rtoribiog
es.linkedin.com/in/rubentg/
Indice• Modelo Servidor vs Modelo Cliente
• Modelo Cliente : CSOM , JSOM , REST , ODATA
• Customizaciones por defecto
• Herramientas de desarrollo
• Preguntas
Sharepoint y su Modelo de desarrollo
• Acceso a datos modelo Servidor
• Acceso a datos modelo Cliente
Cual escogemos ?
Modelo Servidor
Pros La representación se realiza en
el servidor garantiza los mismos resultados en todos los navegadores
Rendimiento de la representación se puede controlar como organización gestiona la infraestructura de servidor
Todas las funcionalidades del modelo de Objetos
Contras Requiere recopilación y
redistribución de paquetes de soluciones (WSP), cuando los cambios de código que puede retrasar los resultados que se suban en la Producción.
Exceso de carga en la pagina al ir a buscar los datos a servidor
Modelo Cliente
Pros
Se puede agregar un script a la página como contenido y ejecutado sin compilación
Se puede modificar el DOM por defecto de Sharepoint
Reduce la carga del servidor llevando la carga al cliente
Se pueden realizar modificaciones rapidas en entornos empresariales
Se pueden enriquecer la interfaz usuario con Jquery u otras librerias
Contras Confiar en el navegador del usuario sera
compatible o permitido usar codigo cliente
Complicado reproducir bugs , porque cada navegador puede producir diferentes resultados
Hay limitaciones de funcionalidades comparadas con el modelo servidor
Perdida de soporte cuando se migra a una nueva versión
CSOM : Client Side object Model .Net Client Object Model
Silverlight Client Object Model
Javascript Object Model
Rest/Odata endpoints
Ejemplos
CSOM : Client Side object Model
CSOM – Client Side Object Model
Nuevas mejoras
Agregando acceso a todas estas características:
Business DataSearchUser ProfilePublishingTaxonomyWorkflow
.Net Client Object Model
Se programa en C#
Usamos las librerias Microsoft.SharePoint.Client.Runtime.dll y Microsoft.SharePoint.Client.dll
.Net Client Object Model
Diferencias en la nomenclatura
Client Server
ClientContext SPContext
Site SPSite
Web SPWeb
List SPList
ListItem SPListItem
Field SPField
.Net Client Object Model
Funcionamiento
Metodos
Load()
ExecuteQuery()
ExecuteQueryAsync()
.Net Client Object Model
Ejemplo
.Net Client Object Model
Aplicación de consola ejemplo
Silverlight Client Object Model
Modelo de objetos muy similar a .Net
Orientado a Silverlight
Publicaciones del archivo .xap
Visualizador de Silverlight incorporado
Javascript Object Model
Se programa en Javascript
Librerias necesarias SP.js , SP.Core.js , SP.Runtime.js
<script type="text/ecmascript" src="/_layouts/15/SP.core.debug.js" />
<script type="text/ecmascript" src="/_layouts/15/SP.runtime.debug.js" />
<script type="text/ecmascript" src="/_layouts/15/SP.debug.js" />
SP.SOD.RegisterSod("SP.js", "\_layouts\SP.js");
Javascript object Model
Nomenclaturas
Habilitar Intellisense
/// <reference name="MicrosoftAjax.js" />
/// <reference path="~/_layouts/15/init.js" />
/// <reference path="~/_layouts/15/SP.Core.js" />
/// <reference path="~/_layouts/15/SP.Runtime.js" />
/// <reference path="~/_layouts/15/SP.UI.Dialog.js" />
/// <reference path="~/_layouts/15/SP.js" />
Javascript Object Model
Ejemplo
Rest/Odata
Representational State Transfer
Open Data Protocol
Ejemplo
Rest/Odata endpoints
Servicio Web se puede accede desde Javascript y C#
Operaciones : Get / Post / Merge , Put / Delete
Rest/Odata endpoints
C#
JavaScript
Rest/Odata endpoints
Estructura
Rest/Odata endpoints
Puntos de Acceso
Rest/Odata Endpoints
Especificar valores en query string
Algunas columnas no soportadas
Operaciones:
SeleccionarOrdenarPaginarOmitirFiltrarComienza porContieneDia/Mes/Año/Hora/Minuto/SegundosExpandir
Rest/Odata Endpoints
Ejemplo
Rest/Odata Endpoint
JSON XML
Elección de Framework
JSOM : Operaciones CRUD
Rest : Operaciones Get
Core API
Referencia de API de programación
http://msdn.microsoft.com/en-us/library/office/dn268594(v=office.15).aspx
Developer Code Samples
Ejemplos
http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=sharepoint&pageIndex=1
http://msdn.microsoft.com/en-us/library/office/jj901637(v=office.15).aspx
Customizaciones
Opciones de customización de la información del Producto
Display Templates
Ej : http://en.share-gate.com/blog/image-slider-with-sharepoint-2013-search-results
JSLink
Ej: http://www.sharepointnutsandbolts.com/2013/01/using-jslink-to-change-ui-of-sharepoint_20.html
Herramientas de desarrollo
Google Chrome Debug
Fiddler
Postman
Visual studio Addons
Javascript Parser /Jslint
JsonViewer
SPRemoteAPIExplorer 2.0
Top Related