SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
Apex nuevas caracteristicas
Apex nuevas caracteristicasApex nuevas caracteristicas
Apex nuevas caracteristicasDaniel Bozzolo
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones webSaul Mamani
 
Scripting cliente
Scripting clienteScripting cliente
Scripting clienteUAEH
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Gonzalo C.
 
3. Crear Formularios Web Forms
3.  Crear Formularios Web Forms3.  Crear Formularios Web Forms
3. Crear Formularios Web Formsguest3cf6ff
 
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 apexDaniel Bozzolo
 
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 RailsAgustin Cuenca
 
Joserojas Web 2.0
Joserojas Web 2.0Joserojas Web 2.0
Joserojas Web 2.0Jose Rojas
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 
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 pointRoberto Carlos
 
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 MadridPlain Concepts
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPJavier López López
 

Mais procurados (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
 

Destaque

SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelAndrés Iturralde
 
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...Andrés Iturralde
 
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 desarrolladoresAndrés Iturralde
 
SharePoint 2010 - Introducción para Desarrolladores
SharePoint 2010 - Introducción para DesarrolladoresSharePoint 2010 - Introducción para Desarrolladores
SharePoint 2010 - Introducción para DesarrolladoresAndrés Iturralde
 
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.5Andrés Iturralde
 
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 webAndrés Iturralde
 
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 answerswillhoward459
 

Destaque (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
 

Semelhante a Mejorando interfaz de SharePoint 2010 con Silverlight 4

Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
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 onlineMario Cortés Flores
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresAndrés Iturralde
 
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)SolidQ
 
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...SOFTENG
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetEsteban Soraire
 
Presentación html5
Presentación html5Presentación html5
Presentación html5aydimdagam
 
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 2010Andrés Iturralde
 
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 servidorJose Felix Moran Agusto
 
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ónJuan Carlos Gonzalez
 
SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolucióngoreorti
 
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 2014Adrian Diaz Cervera
 
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 spsFabian 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 owaEva Ordoñez Perez
 
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 TypeScriptLuis Guerrero
 

Semelhante a 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
 

Mais de SolidQ

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 ServicesSolidQ
 
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. RLSSolidQ
 
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
 
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
 
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 mutantesSolidQ
 
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?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
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 stocksSolidQ
 
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 BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
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!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
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 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿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 2018SolidQ
 
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 2018SolidQ
 
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...SolidQ
 

Mais de 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...
 

Último

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 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
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 estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Último (10)

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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

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