Personalización y extensión del WebPart de
Consulta de Contenidos (CQWP): Tu otro
nuevo mejor amigo
Cristian M. Zaragoza G...
Objetivos de la sesión
Conocer el funcionamiento base y el alcance.
Aprender cómo personalizar el aspecto visual.
Apren...
 ¿Qué es el Content By Query Web Part?
 Demo 1: Toma de contacto
 ¿Qué lo hace especial?
 Personalización del aspecto ...
 ¿Eso es todo?
 Cómo extender CQWP paso a paso
 Demo 4: Paginación + filtrado dinámico
 Insisto, ¿Eso es todo?
 .NET ...
CQWP para la gente de a pie
 Herramienta orientada a diseñadores/desarrolladores,
que…
 permite reunir “trozos” de información con diferentes
orígen...
CQWP para la gente de a pie
¿Qué esel Content By Query Web Part?
35
4 1
97
35
7 9
Lista de SharePoint CQWP Query Resultado
DEMO
Demo 1: Toma de contacto con CQWP
 Herramienta Nativa (OOTB)
 SharePoint Server (2007 y 2010)
 Separación de capas: datos y
presentación.
 Mejorado en 2...
 Implementa un
sistema de caché para
optimizar las
consultas.
 Para ello se apoya en
dos clases:
 CrossListQueryCache
...
 ¿Qué lo hace especial? (3)
CQWP para la gente de a pie
CQWP para la gente de a pie
Personalización del aspecto visual (1)
Archivo Descripción
ContentQueryMain.xsl
Contiene la ló...
CQWP para la gente de a pie
Personalización del aspecto visual (2)
XML
ContentQueryMain.xsl
Header.xsl
ItemStyle.xsl
HTML
 En SharePoint 2010 aparece el concepto de slot.
 Los slots permiten crear plantillas de presentación
semánticas y reusa...
CQWP para la gente de a pie
Personalización del aspecto visual (4)
<xsl:template name="DetailedOverview" match="Row[@Style...
DEMO
Demo 2: Slider de imágenes
CQWP para superhéroes
 En muchas ocasiones, podemos necesitar “algo más”:
 Mostrar contenidos según idioma.
 Paginar elementos.
 Parámetros ...
CQWP para superhéroes
CómoextenderCQWPpasoapaso(1)
' Incluir DLL y referencia.
Imports Microsoft.SharePoint.Publishing.Web...
CQWP para superhéroes
CómoextenderCQWPpasoapaso(2)
' Añadir parámetros al fichero XSLT.
Protected Overrides Sub ModifyXslt...
CQWP para superhéroes
CómoextenderCQWPpasoapaso(3)
' Sobrescribir esta función para filtrados dinámicos.
Protected Overrid...
CQWP para superhéroes
CómoextenderCQWPpasoapaso(4)
'A esta función llegamos después de haber filtrado.
'Podemos “refinar” ...
CQWP para superhéroes
CómoextenderCQWPpasoapaso(5)
' Recibe un DataTable con las filas ya procesadas (filtradas)
' Devuelv...
DEMO
Demo 4: Paginación + filtrado dinámico
CQWP para superhéroes
Insisto, ¿Eso estodo?
 Con CQWP hay que tocar XSLT…
 y no es el mejor amigo del
desarrollador.
 .NET si puede serlo…
 Sería genial ejecutar ...
DEMO
Demo 5: Invocado funciones .NET desde CQWP
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
ésta es tu oportunidad.
http...
Personalización y extensión del webPart de consulta de contenidos (CQWP)
Personalización y extensión del webPart de consulta de contenidos (CQWP)
Upcoming SlideShare
Loading in...5
×

Personalización y extensión del webPart de consulta de contenidos (CQWP)

176

Published on

http://summit.solidq.com/
A lo largo de esta sesión, veremos como puede Windows PowerShell ayudar en tareas de desarrollo para SharePoint 2010. Empezaremos con un breve repaso a la programación en Windows PowerShell, para seguidamente poner todo en práctica, desarrollando scripts con los que resolver en segundos, problemas cotidianos que pueden llevar horas.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
176
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Personalización y extensión del webPart de consulta de contenidos (CQWP)

  1. 1. Personalización y extensión del WebPart de Consulta de Contenidos (CQWP): Tu otro nuevo mejor amigo Cristian M. Zaragoza Gómez CyB200002 Desarrollador SharePoint – Colaboración y Búsqueda MCTS, SharePoint 2010, Configuración & Desarrollo czaragoza@solidq.com
  2. 2. Objetivos de la sesión Conocer el funcionamiento base y el alcance. Aprender cómo personalizar el aspecto visual. Aprender cómo extender la funcionalidad nativa. Llamar a funciones .NET personalizadas desde el propio XSLT.
  3. 3.  ¿Qué es el Content By Query Web Part?  Demo 1: Toma de contacto  ¿Qué lo hace especial?  Personalización del aspecto visual  Demo 2: Slider de imágenes Agenda CQWP para la gente dea pie
  4. 4.  ¿Eso es todo?  Cómo extender CQWP paso a paso  Demo 4: Paginación + filtrado dinámico  Insisto, ¿Eso es todo?  .NET desde XSLT  Demo 5: Invocando funciones .NET desde CQWP Agenda CQWP para superhéroes
  5. 5. CQWP para la gente de a pie
  6. 6.  Herramienta orientada a diseñadores/desarrolladores, que…  permite reunir “trozos” de información con diferentes orígenes (listas, sitios…).  para después filtrar la información obtenida según se requiera…  y finalmente mostrar el conjunto de información filtrada en un único bloque. CQWP para la gente de a pie ¿Qué esel Content By Query Web Part?
  7. 7. CQWP para la gente de a pie ¿Qué esel Content By Query Web Part? 35 4 1 97 35 7 9 Lista de SharePoint CQWP Query Resultado
  8. 8. DEMO Demo 1: Toma de contacto con CQWP
  9. 9.  Herramienta Nativa (OOTB)  SharePoint Server (2007 y 2010)  Separación de capas: datos y presentación.  Mejorado en 2010 con los “Slots”.  Sencillo personalizar aspecto visual.  Requiere conocimientos en XSLT. RENDIMIENTO CQWP para la gente de a pie ¿Qué lo hace especial? (1)
  10. 10.  Implementa un sistema de caché para optimizar las consultas.  Para ello se apoya en dos clases:  CrossListQueryCache  CrossListQueryInfo  A su vez éstas usan internamente SPSiteDataQuery. CQWP para la gente de a pie ¿Qué lo hace especial? (2) SPSiteDataQuery Caché CQWP CrossListQueryCache
  11. 11.  ¿Qué lo hace especial? (3) CQWP para la gente de a pie
  12. 12. CQWP para la gente de a pie Personalización del aspecto visual (1) Archivo Descripción ContentQueryMain.xsl Contiene la lógica que genera las llamadas adecuadas a las plantillas de encabezado y elemento para cada elemento. ItemStyle.xsl Contiene plantillas que definen cómo mostrar un elemento. Estas plantillas reciben y procesan una fila de datos cada vez, lo que permite garantizar que el estilo y los datos de las filas de elementos sean coherentes. Header.xsl Contiene plantillas que definen cómo mostrar un encabezado y garantizan la coherencia de los encabezados de grupo.
  13. 13. CQWP para la gente de a pie Personalización del aspecto visual (2) XML ContentQueryMain.xsl Header.xsl ItemStyle.xsl HTML
  14. 14.  En SharePoint 2010 aparece el concepto de slot.  Los slots permiten crear plantillas de presentación semánticas y reusables.  ¿Cómo funcionan? CQWP para la gente de a pie Personalización del aspecto visual (3)
  15. 15. CQWP para la gente de a pie Personalización del aspecto visual (4) <xsl:template name="DetailedOverview" match="Row[@Style='DetailedOverview']" mode="itemstyle"> <xsl:variable name="SafeLinkUrl"> <xsl:call-template name="OuterTemplate.GetSafeLink"> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="DisplayTitle"> <xsl:call-template name="OuterTemplate.GetTitle"> <xsl:with-param name="Title" select="''"/> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> <xsl:with-param name="UseFileName" select="1"/> </xsl:call-template> </xsl:variable> <p> <strong><xsl:value-of select="$DisplayTitle"/></strong><br /> <xsl:value-of select="@Author"/>, <xsl:value-of select="@Date"/> </p> <p> <xsl:value-of select="@RollupImage"/> <xsl:value-of select="@Details"/> </p> <p> <a href="{$SafeLinkUrl}">Read more</a> </p> </xsl:template>
  16. 16. DEMO Demo 2: Slider de imágenes
  17. 17. CQWP para superhéroes
  18. 18.  En muchas ocasiones, podemos necesitar “algo más”:  Mostrar contenidos según idioma.  Paginar elementos.  Parámetros propios.  Filtrados dinámicos.  Contenidos aleatorios.  Etc.  Tendencia natural  Desarrollar un nuevo Web Part.  Nueva tendencia natural  Extender CQWP. CQWP para superhéroes ¿Eso es todo?
  19. 19. CQWP para superhéroes CómoextenderCQWPpasoapaso(1) ' Incluir DLL y referencia. Imports Microsoft.SharePoint.Publishing.WebControls Public Class CQWPEx Inherits ContentByQueryWebPart Protected Overrides Sub CreateChildControls() End Sub End Class
  20. 20. CQWP para superhéroes CómoextenderCQWPpasoapaso(2) ' Añadir parámetros al fichero XSLT. Protected Overrides Sub ModifyXsltArgumentList(ByVal e As System.EventArgs) ... argList.AddParameter(“Locale", "", “1033”) MyBase.ModifyXsltArgumentList(argList) End Sub
  21. 21. CQWP para superhéroes CómoextenderCQWPpasoapaso(3) ' Sobrescribir esta función para filtrados dinámicos. Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) MyBase.OnLoad(e) ' Operador lógico (And, Or) Me.Filter1ChainingOperator = FilterChainingOperator.And ' ID de la lista en la que vamos a filtrar Dim filterField1ID As Guid = miLista.Id Me.FilterField1 = filterField1ID.ToString ' Valor que ha de cumplir. Ej: Valor de la Query String Me.FilterValue1 = “Categoria 1” End Sub
  22. 22. CQWP para superhéroes CómoextenderCQWPpasoapaso(4) 'A esta función llegamos después de haber filtrado. 'Podemos “refinar” los resultados  Paginado 'También podemos establecer configuración extra  Ficheros XSLT Protected Overrides Sub OnInit(ByVal e As System.EventArgs) MyBase.OnInit(e) ' Establecemos ficheros XSLT propios Me.ItemXslLink = "/.../ItemStyleEx.xsl" Me.MainXslLink = "/.../ContentQueryMainEx.xsl" ... End Sub
  23. 23. CQWP para superhéroes CómoextenderCQWPpasoapaso(5) ' Recibe un DataTable con las filas ya procesadas (filtradas) ' Devuelve otro DataTable que será con que se cree el XML final. ' ¿Paginación?. Protected Function processData(ByVal dt As DataTable) As DataTable ... End Sub
  24. 24. DEMO Demo 4: Paginación + filtrado dinámico
  25. 25. CQWP para superhéroes Insisto, ¿Eso estodo?
  26. 26.  Con CQWP hay que tocar XSLT…  y no es el mejor amigo del desarrollador.  .NET si puede serlo…  Sería genial ejecutar .NET desde XSLT, ¿verdad?  CQWP aprueba esta “unión”   CQWP prácticamente para todo. CQWP para superhéroes .NET desdeXSLT
  27. 27. DEMO Demo 5: Invocado funciones .NET desde CQWP
  28. 28. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/ Síguenos:
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×