SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
C&B207
Mejorando la interfaz de SharePoint
2010 con Silverlight 4
Guillermo Bas - Javier Yagüe
SharePoint Developer - DPS
MCTS y MCPD en SharePoint 2010
gbas@solid.com – jyague@solidq.com
Objetivos de la sesión
Desarrollando aplicaciones Silverlight para SharePoint 2010

α Identificar cómo puede ayudarnos Silverlight a mejorar la
   interfaz de SharePoint 2010

α Identificar el mejor método de despliegue en cada
   proyecto

α Comprender cómo funciona el acceso a datos desde
   Silverlight
En capítulos anteriores…

  Silverlight y SharePoint 2007

  α Requería modificar Web.Config

  α Despliegue más complejo

  α Solo posible a través de HTML
Ahora

 Silverlight y SharePoint 2010
  α Soportado de serie

  α Silverlight WebPart (Solo
    necesita la ruta del .xap)

  α Posibilidad de crear nuestra
    propia WebPart personalizada

  α Despliegue muy sencillo
Interacción mejorada
Desarrollando nuestra aplicación
Ubicaciones para el .xap


          Sistema físico               Sistema virtual
         Carpeta Layouts          Biblioteca de documentos

     Carpeta Layouts/ClientBin   En la raíz o en una subcarpeta
                                   bajo el sitio de SharePoint
                                            (Designer)
Métodos de despliegue

  αSubir el .xap a una biblioteca de documentos


  αEmpaquetar el .xap en un WSP para su despliegue
   β Módulo
   β Directorio mapeado


  αWebPart personalizado de Silverlight (ej. Media
   WebPart)
Métodos de despliegue
API de Silverlight para SP2010

  ¿Cómo funciona?

  α Encapsulando los Servicios Web WCF de SharePoint
   2010

  ¿Qué nos proporciona?

  α Una capa de abstracción fácil de utilizar

  α Integración del modelo de objetos SharePoint con
    aplicaciones que se ejecutan en el cliente
API de Silverlight para SP2010
  Ensamblados (Referencias necesarias)
  α Microsoft.SharePoint.Client.Silverlight.dll (265 KB)

  α Microsoft.SharePoint.Client.Silverlight.Runtime.dll (141 KB)

  Ubicación
  α 14TEMPLATELAYOUTSClientBin

  Espacio de nombres
    Using Microsoft.SharePoint.Client;
Elementos principales

  α El contexto remoto (ClientContext)

    ClientContext ctx;
    if (ClientContext.Current == null)
    {
           ctx = new ClientContext("http://mysite");
    }
    else
    {
           ctx = ClientContext.Current;
    }
Elementos principales

  α Cola de consultas (Load)
  List listaNoticias =
  ctx.Web.Lists.GetByTitle("Noticias");
  itemsNoticias =
  listaNoticias.GetItems(CamlQuery.CreateAllItemsQuery());
  ctx.Load(itemsNoticias);
Elementos principales

  α Contexto de ejecución (ExecuteQuery vs ExecuteQueryAsync)
   ctx.ExecuteQueryAsync(NoticiasCargadas,
  ErrorCargaNoticias);

            void ErrorCargaNoticias(object sender,
  ClientRequestFailedEventArgs args)
          {
               //HasLoaded = true;
               string mensajeError = args.Message;
          }

          void NoticiasCargadas(object sender,
  ClientRequestSucceededEventArgs args)
          {
              HasLoaded = true;
          }
Añadiendo Silverlight
Asincronía con Sharepoint
O cosas que no se pueden hacer a la vez con Silverlight


α Actualizar la interfaz
  β   Dispatcher.BeginInvoke


α En XAML, usar Converters
  β   Convertir objetos antes


α Masificar con controles de usuario
  β   Posible, pero costoso
XAML
Desarrollo reutilizable

α Utilizar un modelo de capas como:
 β   ModelViewViewModel
 β   ModelViewController

α Permite ports sencillos para:
 β   Windows Presentation Foundation
 β   Silverlight OutOfBrowser
 β   Windows Phone 7
Silverlight OOB
O de como usarlo en el escritorio


α Definir el contexto adecuado (ClientContext)

α Configurar Silverlight para OOB

α Listo!
OutOfBrowser
Sitios anónimos
Silverlight y el usuario anónimo

α GetItems restringido de serie para la API de Silverlight

α Permitimos el acceso con PowerShell
    $webapp = Get-SPWebApplication -Identity
    "http://demo.spdev.local"

    $webapp.ClientCallableSettings.AnonymousRestrictedTypes
    .Remove([Microsoft.SharePoint.SPList], "GetItems")

    $webapp.Update()
Anónimo
¿Cómo lo hicimos?
Colaboración entre desarrollador y diseñador
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4

Weitere ähnliche Inhalte

Was ist angesagt?

Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
Gonzalo C.
 
3. Crear Formularios Web Forms
3.  Crear Formularios Web Forms3.  Crear Formularios Web Forms
3. Crear Formularios Web Forms
guest3cf6ff
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0
Jose Rojas
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share point
Roberto Carlos
 

Was ist angesagt? (20)

Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
Apex nuevas caracteristicas
Apex nuevas caracteristicasApex nuevas caracteristicas
Apex nuevas caracteristicas
 
Ajax
AjaxAjax
Ajax
 
Usando plsq
Usando plsqUsando plsq
Usando plsq
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones web
 
Scripting cliente
Scripting clienteScripting cliente
Scripting cliente
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
 
3. Crear Formularios Web Forms
3.  Crear Formularios Web Forms3.  Crear Formularios Web Forms
3. Crear Formularios Web Forms
 
Desarrollo en oracle a bajo costo apex
Desarrollo en oracle a bajo costo   apexDesarrollo en oracle a bajo costo   apex
Desarrollo en oracle a bajo costo apex
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Introducción a asp
Introducción a aspIntroducción a asp
Introducción a asp
 
Presentación de Be Ruby en la conferencia Rails
Presentación de Be Ruby en la conferencia RailsPresentación de Be Ruby en la conferencia Rails
Presentación de Be Ruby en la conferencia Rails
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0
 
Asp
AspAsp
Asp
 
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
[Code Camp 2009] Introducción a ASP.NET 4.0 con Visual Studio 2010 (Ignacio L...
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share point
 
Asp.Net Core fundamentals - Plain Concepts Web Day Madrid
Asp.Net Core fundamentals - Plain Concepts Web Day MadridAsp.Net Core fundamentals - Plain Concepts Web Day Madrid
Asp.Net Core fundamentals - Plain Concepts Web Day Madrid
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHP
 

Andere mochten auch (7)

SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object Model
 
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
 
Maraton SharePoint 2010, nuevas características para desarrolladores
Maraton SharePoint 2010, nuevas características para desarrolladoresMaraton SharePoint 2010, nuevas características para desarrolladores
Maraton SharePoint 2010, nuevas características para desarrolladores
 
SharePoint 2010 - Introducción para Desarrolladores
SharePoint 2010 - Introducción para DesarrolladoresSharePoint 2010 - Introducción para Desarrolladores
SharePoint 2010 - Introducción para Desarrolladores
 
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
 
Msdn optimizando la performance en la web
Msdn   optimizando la performance en la webMsdn   optimizando la performance en la web
Msdn optimizando la performance en la web
 
Top 10 sharepoint interview questions with answers
Top 10 sharepoint interview questions with answersTop 10 sharepoint interview questions with answers
Top 10 sharepoint interview questions with answers
 

Ähnlich wie Mejorando interfaz de SharePoint 2010 con Silverlight 4

SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
Andrés Iturralde
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.Net
Esteban Soraire
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
aydimdagam
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Andrés Iturralde
 
SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolución
goreorti
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
Fabian Imaz
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
Eva Ordoñez Perez
 

Ähnlich wie Mejorando interfaz de SharePoint 2010 con Silverlight 4 (20)

Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)
SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)
SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
Oracle Web Util
Oracle Web UtilOracle Web Util
Oracle Web Util
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.Net
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
 
Curso ajax
Curso ajaxCurso ajax
Curso ajax
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y ColaboraciónAplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
 
SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolución
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
 

Mehr von SolidQ

Mehr von SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Mejorando interfaz de SharePoint 2010 con Silverlight 4

  • 1. C&B207 Mejorando la interfaz de SharePoint 2010 con Silverlight 4 Guillermo Bas - Javier Yagüe SharePoint Developer - DPS MCTS y MCPD en SharePoint 2010 gbas@solid.com – jyague@solidq.com
  • 2. Objetivos de la sesión Desarrollando aplicaciones Silverlight para SharePoint 2010 α Identificar cómo puede ayudarnos Silverlight a mejorar la interfaz de SharePoint 2010 α Identificar el mejor método de despliegue en cada proyecto α Comprender cómo funciona el acceso a datos desde Silverlight
  • 3. En capítulos anteriores… Silverlight y SharePoint 2007 α Requería modificar Web.Config α Despliegue más complejo α Solo posible a través de HTML
  • 4. Ahora Silverlight y SharePoint 2010 α Soportado de serie α Silverlight WebPart (Solo necesita la ruta del .xap) α Posibilidad de crear nuestra propia WebPart personalizada α Despliegue muy sencillo
  • 7. Ubicaciones para el .xap Sistema físico Sistema virtual Carpeta Layouts Biblioteca de documentos Carpeta Layouts/ClientBin En la raíz o en una subcarpeta bajo el sitio de SharePoint (Designer)
  • 8. Métodos de despliegue αSubir el .xap a una biblioteca de documentos αEmpaquetar el .xap en un WSP para su despliegue β Módulo β Directorio mapeado αWebPart personalizado de Silverlight (ej. Media WebPart)
  • 10. API de Silverlight para SP2010 ¿Cómo funciona? α Encapsulando los Servicios Web WCF de SharePoint 2010 ¿Qué nos proporciona? α Una capa de abstracción fácil de utilizar α Integración del modelo de objetos SharePoint con aplicaciones que se ejecutan en el cliente
  • 11. API de Silverlight para SP2010 Ensamblados (Referencias necesarias) α Microsoft.SharePoint.Client.Silverlight.dll (265 KB) α Microsoft.SharePoint.Client.Silverlight.Runtime.dll (141 KB) Ubicación α 14TEMPLATELAYOUTSClientBin Espacio de nombres Using Microsoft.SharePoint.Client;
  • 12. Elementos principales α El contexto remoto (ClientContext) ClientContext ctx; if (ClientContext.Current == null) { ctx = new ClientContext("http://mysite"); } else { ctx = ClientContext.Current; }
  • 13. Elementos principales α Cola de consultas (Load) List listaNoticias = ctx.Web.Lists.GetByTitle("Noticias"); itemsNoticias = listaNoticias.GetItems(CamlQuery.CreateAllItemsQuery()); ctx.Load(itemsNoticias);
  • 14. Elementos principales α Contexto de ejecución (ExecuteQuery vs ExecuteQueryAsync) ctx.ExecuteQueryAsync(NoticiasCargadas, ErrorCargaNoticias); void ErrorCargaNoticias(object sender, ClientRequestFailedEventArgs args) { //HasLoaded = true; string mensajeError = args.Message; } void NoticiasCargadas(object sender, ClientRequestSucceededEventArgs args) { HasLoaded = true; }
  • 16. Asincronía con Sharepoint O cosas que no se pueden hacer a la vez con Silverlight α Actualizar la interfaz β Dispatcher.BeginInvoke α En XAML, usar Converters β Convertir objetos antes α Masificar con controles de usuario β Posible, pero costoso
  • 17. XAML
  • 18. Desarrollo reutilizable α Utilizar un modelo de capas como: β ModelViewViewModel β ModelViewController α Permite ports sencillos para: β Windows Presentation Foundation β Silverlight OutOfBrowser β Windows Phone 7
  • 19. Silverlight OOB O de como usarlo en el escritorio α Definir el contexto adecuado (ClientContext) α Configurar Silverlight para OOB α Listo!
  • 21. Sitios anónimos Silverlight y el usuario anónimo α GetItems restringido de serie para la API de Silverlight α Permitimos el acceso con PowerShell $webapp = Get-SPWebApplication -Identity "http://demo.spdev.local" $webapp.ClientCallableSettings.AnonymousRestrictedTypes .Remove([Microsoft.SharePoint.SPList], "GetItems") $webapp.Update()
  • 23. ¿Cómo lo hicimos? Colaboración entre desarrollador y diseñador