Content query web part – get it all in one place and style it!

16,778 views

Published on

Session first given at SharePoint Fest in Chicago. It cover the Content Query Web Part or CQWP of SharePoint 2010.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,778
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
168
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Content query web part – get it all in one place and style it!

  1. 1. Content Query Web Part – Get it all in one place and style it! Benjamin NiaulinPresented at: SharePoint Fest Chicago SharePoint Geek
  2. 2. Description More than once people have customized or developed a solution or web part to accommodate certain needs. Many times, these needs could have been met with a simple Out-of- the-Box Web Part called the Content Query Web Part. In this session we will explore the possibilities of querying the right content as well as changing the style to display these results.@bniaulin Share-gate.com
  3. 3. Who is this guy talking? Benjamin Niaulin Speaker, Trainer, Consultant, SCRUM Master Blog bniaulin.wordpress.com Website share-gate.com Email benjamin.niaulin@share-gate.com TWITTER!: @bniaulin @bniaulin Share-gate.com
  4. 4. Agenda Introduction The Content Query Web Part DEMO The XSL Files – What is that? What do they do? DEMO Dynamic Filtering DEMO Advanced CQWP Stuff@bniaulin Share-gate.com
  5. 5. INTRODUCTION
  6. 6. Problems we face Showing data from multiple lists/libraries at the same time Change the date format in a list/library Dynamic filtering Changing the look of a list/library Showing specific data from lists/libraries to the relevant audience@bniaulin Share-gate.com
  7. 7. CONTENT QUERY Web Part - Overview
  8. 8. Content Query Web Part (CQWP) Requires Site Collection Feature: Publishing Infrastructure* Helps create dynamic views based on what the user is looking at Power User can Edit the Query and the Style Aggregate content from the Site Collection Reusable and customizable styles@bniaulin Share-gate.com
  9. 9. Web Part Properties - Query Query Source List Type Content Type Audience Targeting Additional Filters@bniaulin Share-gate.com
  10. 10. Web Part Properties - Presentation Presentation Grouping and Sorting Sorting Item Limit Styles Fields to display Feed <-- Don’t underestimate!@bniaulin Share-gate.com
  11. 11. Examples By Ben Tedder on NBSP http://labs.steveottenad.com/sharepoint- 2010-xslt-date-formatting/ By Yohan Belval from Sharegate@bniaulin Share-gate.com
  12. 12. DEMO
  13. 13. XSL FILES – HUH?
  14. 14. Understanding XSLT XSLT: Extensible Stylesheet Language Transformations Basically transforms XML Ref: http://en.wikipedia.org/wiki/XSLT@bniaulin Share-gate.com
  15. 15. Understanding XSLT Debug itemstyle: <xsl:template name="Debug"match="Row[@Style=Debug]" mode="itemstyle"> <xsl:for-each select="@*"> P:<xsl:value-of select="name()" /> </xsl:for-each> </xsl:template> Learn xslt: http://www.w3schools.com/xsl/default.asp@bniaulin Share-gate.com
  16. 16. Display RAW Data of Query<xsl:template name="DisplayRawData"match="Row[@Style=DisplayRawData]" mode="itemstyle"><xsl:for-each select="@*"><xsl:value-of select="name()"/><xsl:text> = </xsl:text><xsl:value-of select="."/><br/></xsl:for-each><br/><br/><br/></xsl:template>@bniaulin Share-gate.com
  17. 17. XSL Files used by SharePoint There are 3 files used by the CQWP ContentQueryMain.xsl ItemStyle.xsl Header.xsl Files are located in the Style Library at the Root of your Site Collection Style LibraryXSL Style Sheets@bniaulin Share-gate.com
  18. 18. ContentQueryMain.xsl Contains logic that generates the appropriate calls to the Header and Item templates for each item. Contains functions that help designers modify the Item and Header XSLT transforms. Receives all the content, parses it, and sends appropriate pieces to the ItemStyle and Header templates. Maintains the structure of the Content By Query Web Part. Stores data retrieved when querying content in the path /dsQueryResponse/Rows/Row. MSDN Definition In short….@bniaulin Share-gate.com
  19. 19. ContentQueryMain.xsl Think of it as the big container of the WebPart In charge of what isn’t repeated (header, footer, calling CSS or JS to be used in your itemstyle after) It controls the flow of the content it receives Let’s check it out@bniaulin Share-gate.com
  20. 20. Header.xsl Contains templates that define how to display a header and ensure the consistency of group headers. Templates specified in Header.xsl receive the next item row to process, usually the first row in a group unless there are multiple columns. If there are multiple columns, the templates receive the first row of the column. You can retrieve data about the next item row by using the @Property directive. You can use the $Group parameter that contains the groupby column name and the $GroupType that represents the column type of the groupby column. MSDN Definition In short….@bniaulin Share-gate.com
  21. 21. Header.xsl When you use the CQWP with a GroupBy option the header.xsl is called.@bniaulin Share-gate.com
  22. 22. Itemstyle.xsl Contains templates that define how to display an item. These templates receive and process one row of data at a time, ensuring that the style and data in the item rows is consistent. You can retrieve data about a row by using the @Property directive. Basically it’s what gets applied to each “item” or row. <div class="right"> <span class="title"><xsl:value-of select="@Title" /></span> <span class="location">Location: <xsl:value-of select="@Location" /></span> @bniaulin Share-gate.com
  23. 23. Examples@bniaulin Share-gate.com
  24. 24. DEMO
  25. 25. DYNAMIC FILTERING
  26. 26. Dynamic Filters PageFieldValue Specify a field on the Page Layout to act as the filter for the Query PageQueryString Takes the value in the URL and applies it as the filter for the Query@bniaulin Share-gate.com
  27. 27. Example on MSDN BLogRef: MSDN Blog@bniaulin Share-gate.com
  28. 28. Morehttp://www.chakkaradeep.com/image.axd?picture=image_319.png @bniaulin Share-gate.com
  29. 29. ADVANCED PROPERTIES
  30. 30. Access the AdvancedProperties You can easily access advanced properties of the CQWP Edit Web Part Export into .webpart file Open with an XML editor (notepad, etc.) Modify the file Import .webpart back into your site@bniaulin Share-gate.com
  31. 31. More Advanced Stuff CommonViewFields Ask for additional fields By default the CQWP does not return all fields automatically QueryOverride When used, all settings for Query in the UI are greyed out Makes it possible to specify the query portion of a cross-list query in CAML.@bniaulin Share-gate.com
  32. 32. Still More Advanced Properties… WebsOverride Determines whether the cross-list query should recurse subsites. ListsOverride Specify which lists/library you want to query<property name="ListsOverride" type="string"><![CDATA[<Lists><List ID="31A7C09D-52CC-4585-B998-A3F180A9BD07"/><List ID="7382D66D-2E4C-47CB-A95C-5EECD68F5E61"/></Lists> ]]></property>@bniaulin Share-gate.com
  33. 33. DEMO Filter by File Extension
  34. 34. Q&A
  35. 35. THANK YOU!KEEP IN TOUCH ON TWITTER @BNIAULIN Benjamin Niaulin@bniaulin Share-gate.com

×