acceso a datos con sharepoint rubén toribio es.linkedin.com/in/rubentg/ [email protected]
TRANSCRIPT
![Page 1: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/1.jpg)
Acceso a datos con SharepointRubén Toribio
https://twitter.com/Rtoribiog
es.linkedin.com/in/rubentg/
![Page 2: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/2.jpg)
Indice• Modelo Servidor vs Modelo Cliente
• Modelo Cliente : CSOM , JSOM , REST , ODATA
• Customizaciones por defecto
• Herramientas de desarrollo
• Preguntas
![Page 3: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/3.jpg)
Sharepoint y su Modelo de desarrollo
• Acceso a datos modelo Servidor
• Acceso a datos modelo Cliente
Cual escogemos ?
![Page 4: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/4.jpg)
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
![Page 5: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/5.jpg)
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
![Page 6: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/6.jpg)
CSOM : Client Side object Model .Net Client Object Model
Silverlight Client Object Model
Javascript Object Model
Rest/Odata endpoints
Ejemplos
![Page 7: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/7.jpg)
CSOM : Client Side object Model
![Page 8: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/8.jpg)
CSOM – Client Side Object Model
Nuevas mejoras
Agregando acceso a todas estas características:
Business DataSearchUser ProfilePublishingTaxonomyWorkflow
![Page 9: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/9.jpg)
.Net Client Object Model
Se programa en C#
Usamos las librerias Microsoft.SharePoint.Client.Runtime.dll y Microsoft.SharePoint.Client.dll
![Page 10: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/10.jpg)
.Net Client Object Model
Diferencias en la nomenclatura
Client Server
ClientContext SPContext
Site SPSite
Web SPWeb
List SPList
ListItem SPListItem
Field SPField
![Page 11: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/11.jpg)
.Net Client Object Model
Funcionamiento
Metodos
Load()
ExecuteQuery()
ExecuteQueryAsync()
![Page 12: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/12.jpg)
.Net Client Object Model
Ejemplo
![Page 13: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/13.jpg)
.Net Client Object Model
Aplicación de consola ejemplo
![Page 14: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/14.jpg)
Silverlight Client Object Model
Modelo de objetos muy similar a .Net
Orientado a Silverlight
Publicaciones del archivo .xap
Visualizador de Silverlight incorporado
![Page 15: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/15.jpg)
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");
![Page 16: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/16.jpg)
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" />
![Page 17: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/17.jpg)
Javascript Object Model
Ejemplo
![Page 18: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/18.jpg)
Rest/Odata
Representational State Transfer
Open Data Protocol
Ejemplo
![Page 19: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/19.jpg)
Rest/Odata endpoints
Servicio Web se puede accede desde Javascript y C#
Operaciones : Get / Post / Merge , Put / Delete
![Page 20: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/20.jpg)
Rest/Odata endpoints
C#
JavaScript
![Page 21: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/21.jpg)
Rest/Odata endpoints
Estructura
![Page 22: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/22.jpg)
Rest/Odata endpoints
Puntos de Acceso
![Page 23: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/23.jpg)
Rest/Odata Endpoints
Especificar valores en query string
Algunas columnas no soportadas
![Page 24: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/24.jpg)
Operaciones:
SeleccionarOrdenarPaginarOmitirFiltrarComienza porContieneDia/Mes/Año/Hora/Minuto/SegundosExpandir
![Page 25: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/25.jpg)
Rest/Odata Endpoints
Ejemplo
![Page 26: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/26.jpg)
Rest/Odata Endpoint
JSON XML
![Page 27: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/27.jpg)
Elección de Framework
JSOM : Operaciones CRUD
Rest : Operaciones Get
![Page 28: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/28.jpg)
Core API
Referencia de API de programación
http://msdn.microsoft.com/en-us/library/office/dn268594(v=office.15).aspx
![Page 29: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/29.jpg)
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
![Page 30: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/30.jpg)
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
![Page 31: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/31.jpg)
Herramientas de desarrollo
Google Chrome Debug
Fiddler
Postman
Visual studio Addons
Javascript Parser /Jslint
JsonViewer
SPRemoteAPIExplorer 2.0
![Page 32: Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com](https://reader035.vdocuments.pub/reader035/viewer/2022062322/5665b42d1a28abb57c8fcc13/html5/thumbnails/32.jpg)