1 Acceso a datos con SharepointRubén Toribio https://twitter.com/Rtoribiog es.linkedin.com/in/rubentg/
2 Indice Modelo Servidor vs Modelo ClienteModelo Cliente : CSOM , JSOM , REST , ODATA Customizaciones por defecto Herramientas de desarrollo Preguntas
3 Sharepoint y su Modelo de desarrolloAcceso a datos modelo Servidor Acceso a datos modelo Cliente Cual escogemos ?
4 Modelo Servidor Pros ContrasLa 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 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
5 Modelo Cliente Pros ContrasSe 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 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
6 CSOM : Client Side object Model.Net Client Object Model Silverlight Client Object Model Javascript Object Model Rest/Odata endpoints Ejemplos
7 CSOM : Client Side object Model
8 CSOM – Client Side Object ModelNuevas mejoras Agregando acceso a todas estas características: Business Data Search User Profile Publishing Taxonomy Workflow
9 .Net Client Object ModelSe programa en C# Usamos las librerias Microsoft.SharePoint.Client.Runtime.dll y Microsoft.SharePoint.Client.dll
10 .Net Client Object ModelDiferencias en la nomenclatura Client Server ClientContext SPContext Site SPSite Web SPWeb List SPList ListItem SPListItem Field SPField
11 .Net Client Object ModelFuncionamiento Metodos Load() ExecuteQuery() ExecuteQueryAsync() El método Load no carga nada , solo informa la propiedad que vas a cargar al ejecutar el ExecuteQuery Antes de llamar al ExecuteQuery solo regisra las llamadas pero aún no hay trafico El ExecuteQuery se encarga de hacer la llamada y recibir la respuesta de servidor
12 .Net Client Object ModelEjemplo
13 .Net Client Object ModelAplicación de consola ejemplo
14 Silverlight Client Object ModelModelo de objetos muy similar a .Net Orientado a Silverlight Publicaciones del archivo .xap Visualizador de Silverlight incorporado
15 Javascript Object ModelSe programa en Javascript Librerias necesarias SP.js , SP.Core.js , SP.Runtime.js SP.SOD.RegisterSod("SP.js", "\_layouts\SP.js"); En caso de no estar en context { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.es/3344989/11/images/15/Javascript+Object+Model.jpg", "name": "Javascript Object Model", "description": "Se programa en Javascript. Librerias necesarias SP.js , SP.Core.js , SP.Runtime.js. SP.SOD.RegisterSod( SP.js , \_layouts\SP.js ); En caso de no estar en context.", "width": "800" }
16 Javascript object ModelNomenclaturas Habilitar Intellisense ///
17 Javascript Object ModelEjemplo
18 Rest/Odata Ejemplo Representational State Transfer Open Data ProtocolProtocolo de Acceso a datos definido por Microsoft , no limitado a bases de datos sino a otros servicios o conectores
19 Rest/Odata endpoints Servicio Web se puede accede desde Javascript y C# Operaciones : Get / Post / Merge , Put / Delete
20 Rest/Odata endpoints C# JavaScript
21 Rest/Odata endpoints Estructura
22 Rest/Odata endpoints Puntos de Acceso
23 Rest/Odata Endpoints Especificar valores en query stringAlgunas columnas no soportadas
24 Operaciones: Seleccionar Ordenar Paginar Omitir Filtrar Comienza por Contiene Dia/Mes/Año/Hora/Minuto/Segundos Expandir
25 Rest/Odata Endpoints Ejemplo
26 Rest/Odata Endpoint JSON XML
27 Elección de Framework JSOM : Operaciones CRUD Rest : Operaciones Get
28 Core API Referencia de API de programación
29 Developer Code SamplesEjemplos 5B0%5D.Value=sharepoint&pageIndex=1
30 Customizaciones Opciones de customización de la información del Producto Display Templates Ej : search-results JSLink Ej: change-ui-of-sharepoint_20.html
31 Herramientas de desarrolloGoogle Chrome Debug Fiddler Postman Visual studio Addons Javascript Parser /Jslint JsonViewer SPRemoteAPIExplorer 2.0
32