Novedades en Desarrollo en SharePoint 2013

882 views
726 views

Published on

Presentación del webcast sobre novedades en desarrollo en SharePoint 2013 realizado en octubre de 2012.

1 Comment
1 Like
Statistics
Notes
  • Hola que tal Juan carlos yo tengo una pregunta,ahora que tenemos la version sharepoint 2013 online,¿cual seria la manera mas eficiente de generar reportes de las listas o bibliotecas?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
882
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
35
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Novedades en Desarrollo en SharePoint 2013

  1. 1. ¡SharePoint 2013 comoplataforma de desarrollo: Novedades! Juan Carlos González (@jcgm1978) MVP SharePoint Server http://geeks.ms/blogs/ciin jgonzalez@gruposodercan.es
  2. 2. Agenda Modelo de Objetos en Cliente (CSOM) Programación con el CSOM API REST de SharePoint 2013 Operaciones CRUD con Sitios, Listas y Elementos de Lista
  3. 3. Modelo de Objetos en Cliente En SharePoint 2010: _vti_bin/client.svcServidor ExecuteCliente Query Microsoft.SharePoint Sabor .Client.Silverlight.dll Sabor Sabor .NET Silverlight JavaScript Microsoft.SharePoint .Client.dll SP.js Código personalizado
  4. 4. Modelo de Objetos en Cliente En SharePoint 2013:  Se extiende el servicio client.svc con capacidades REST:  Se soporta acceso directo al servicio desde clients REST  Acepta peticiones HTTP GET, PUT y POST  Implementado de acuerdo al protocolo OData  Nuevas APIs:  Para interactuar con servicios: Search Taxonomy Feeds Publishing Sharing Workflow E- Discovery IRM Analytics Business Data  Para aplicaciones Windows Phone
  5. 5. Modelo de Objetos en Cliente Arquitectura de la API remota de SharePoint 2013: _api es un Nuevo alias para _vti_bin/client.svcServidor ExecuteCliente OData Query Sabor Sabor Sabor .NET Silverlight JavaScript Código personalizado
  6. 6. Modelo de Objetos en Cliente ¿Qué pasa con ListData.svc?  Sigue estando disponible  Se garantiza compatibilidad hacía atrás: para migración de aplicaciones en cliente  Para nuevas aplicaciones, no se debería usar
  7. 7. Programación con el CSOM Código JavaScriptNavegador Respuesta JSON MO JavaScript MO Petición XML Servidor Proxy Client.svc Respuesta JSON (_api) Proxy Petición XML BD MO manejado contenidosCliente manejado Código C# o VB.NET SharePoint
  8. 8. Programación con el CSOM En SharePoint Foundation  Sin cambios significativos, más allá del soporte REST  Se ha añadido el soporte REST a la API existente En SharePoint Server  Se han añadido nuevas APIs para interactuar con servicios
  9. 9. Programación con el CSOM Ejemplo – Uso del servicio de traducciones: using (MO_Cliente.ClientContext ctx = new MO_Cliente.ClientContext( "http://c4431163311/")) { Console.WriteLine( "Extensiones de archivos soportadas"); IEnumerable<string> ieFileExtensions = MO_TRCliente.TranslationJob.EnumerateSupportedFileExtensions(ctx); ctx.ExecuteQuery(); foreach (string item in ieFileExtensions) { Console.Write(item + ", "); } Console.WriteLine(); Console.WriteLine("Idiomas soportados"); IEnumerable<string> ieIdiomas= MO_TRCliente.TranslationJob.EnumerateSupportedLanguages(ctx); ctx.ExecuteQuery(); foreach (string item in ieIdiomas) { Console.Write(item + ", "); } }
  10. 10. Programación con el CSOM Ejemplo – Uso del servicio de búsqueda: using (ClientContext ctx = new ClientContext("http://spfes")) { KeywordQuery query = new KeywordQuery(ctx); query.QueryText = "SharePoint"; SearchExecutor searchExecutor = new SearchExecutor(ctx); ClientResult<ResultTableCollection> rcc = searchExecutor.ExecuteQuery(query); ctx.ExecuteQuery(); foreach (var rccRow in rcc.Value[0].ResultRows) { Console.WriteLine("Titulo: " + rccRow["Title"] + " - Ruta: " + rccRow["Path"] + " - Fecha: " + rccRow["Write"]); } }
  11. 11. API REST de SharePoint 2013 ¿Por qué REST?  + simple y sencillo de usar:  vs Servicos Web clásicos (SOAP)  Mayor productividad cuando se usa JavaScript y jQuery  Los resultados se pueden devolver en formatos JSON y ATOM  Minimiza la barrera de entrada a diferentes tipos de clientes potenciales  Cada consulta se envía con una URL única
  12. 12. API REST de SharePoint 2013 URLs REST en SharePoint 2013:  Las URLs para el CSOM pueden ir a través de _api  Se elimina la referencia a client.svc de la URL Se puede reemplazar la URL:  http://contososerver/_vti_bin/client.svc/web  Por http://consotoserver/_api/web
  13. 13. API REST de SharePoint 2013 Mapeo de objetos a recursos:  Ejemplos de URLs REST apuntando a sitios de SharePoint:  _api/web/lists  _api/web/lists/getByTitle(„Announcements‟)  _api/web/getAvailableWebTemplates(lcid=1033)  Ejemplos de URLs REST apuntado a servicios de SharePoint:  Servicio de Traducción:  http://<servername>/_api/TranslationJob.EnumerateSupportedLanguages  http://<servername>/_api/TranslationJob.EnumerateSupportedFileEXtensions  Servicio de búsquedas:  http://<servername>/_api/search/query?querytext=Test
  14. 14. API REST de SharePoint 2013 Consultas REST desde código manejado:  Usar HttpWebRequest y HttpWebResponse  Consultar el XML usando XDocument.Descendants
  15. 15. API REST de SharePoint 2013 Consultas REST desde código manejado:  Para servicios la misma filosofía string sURLConsulta = "http://c4431163311" + "/_api/TranslationJob.EnumerateSupportedLanguages"; Uri uRESTService = new Uri(sURLConsulta); //Petición REST HttpWebRequest hwrPeticion = (HttpWebRequest)WebRequest.Create(uRESTService); hwrPeticion.Credentials = CredentialCache.DefaultNetworkCredentials; hwrPeticion.Accept = "application/atom+xml"; //Envío de la petición al servidor HttpWebResponse hwrRespuesta = (HttpWebResponse)hwrPeticion.GetResponse(); StreamReader srReader = new StreamReader(hwrRespuesta.GetResponseStream()); //Procesando la respuesta XDocument xdDoc = XDocument.Load(hwrRespuesta.GetResponseStream()); XNamespace xnEspacioNombres = "http://schemas.microsoft.com/ado/2007/08/dataservices"; Console.WriteLine(xdDoc.ToString()); var eIdiomas = xdDoc.Descendants(xnEspacioNombres+ "element"); //….
  16. 16. API REST de SharePoint 2013 Las operaciones CRUD requieren el uso de Form Digest:  Es un “valor especial” creado por medio de criptografía  Se utiliza para proteger contra ataques de tipo “Replay attack”  Las páginas de SharePoint disponen de un control que mantiene “Form Digest”  Los clientes de servicios web tienen que adquirir de forma separada “Form Digest”. Por ejemplo, se puede hacer a través de _vti_bin/sites.asmx
  17. 17. API REST de SharePoint 2013 Creación de elementos de SharePoint:  Para crear una lista, es necesario:  Parsear la URL que apunta a la colección de listas: _api/web/lists  Añadir una cabecera X-RequestDigest que incluye el valor de “Form Digest”  Fijar el método HTTP a POST  Crear el documento XML que contiene la información de la lista a crear
  18. 18. API REST de SharePoint 2013 Creación de elementos de SharePoint: //The body of the REST request is ASCII encoded and inserted into the request stream. string listPostBody = "{__metadata:{type:SP.List}, Title:" + newListName + ", BaseTemplate: 100}"; byte[] listPostData = System.Text.Encoding.ASCII.GetBytes(listPostBody); HttpWebRequest listRequest = (HttpWebRequest)HttpWebRequest.Create(sharepointUrl.ToString() + "/_api/lists"); listRequest.Method = "POST"; listRequest.ContentLength = listPostBody.Length; listRequest.ContentType = "application/json;odata=verbose"; listRequest.Accept = "application/json;odata=verbose"; listRequest.Headers.Add("Authorization", "Bearer " + accessToken); listRequest.Headers.Add("X-RequestDigest", formDigest); Stream listRequestStream = listRequest.GetRequestStream(); listRequestStream.Write(listPostData, 0, listPostData.Length); listRequestStream.Close(); HttpWebResponse listResponse = (HttpWebResponse)listRequest.GetResponse();
  19. 19. Uso de la API RESTde SharePoint 2013
  20. 20. Aprende de los expertos Descárgate CompartiMOSS:  http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx
  21. 21. Descuentos Campus MVP10% de descuentoen todos nuestros cursos y libros hasta el 31 dediciembreIntroduce el cupón PECIIN12SN al realizar tucompraen nuestra tienda online.
  22. 22. Prueba SharePoint a tope CloudShare:  http://www.cloudshare.com/  Disponen de varias plantillas de SharePoint 2013 listas para probar 
  23. 23. Nos vemos en los foros Foro de desarrollo:  http://social.msdn.microsoft.com/Forums/es-es/mossdeves/threads Foro de IT  http://social.technet.microsoft.com/Forums/es-ES/mosses/threads Foro de Office 365:  http://community.office365.com/es-es/default.aspx
  24. 24. GRACIAS POR SU ATENCIÓN

×