Building Dashboard in Sharepoint using Sharepoint search (with no custom code)

Building Dashboard in Sharepoint using Sharepoint search (with no custom code)

Build a custom dashboard the other day base on the Sharepoint search, want to share with you all how I did it.  Hope someone else will also find this useful.

  • I need to get data from various site collections
  • The users wants to make a Announcements in a site collections and certain Announcements needs to roll up into a page to form a dashboard.
  • These Announcements can be anywhere on the farm.

The good old way to do this would be to create a custom app that loop thru all the pages to Identify all content marked to include in the dashboard.  BUT here is a new way to approach this with NO CUSTOM CODE:

  • Create a new content type for Announcements (its optional, but this way you can save it as a List Template and reuse it)
  • Add a column to the Announcements list, for the purpose of this article we will call it “Announcements Type”, have this as a Choice and set the choice as “Include in Dashboard” and “Exclude in Dashboard” (the name and field type is entity up to you)
  • Let the Sharepoint Search runs a crawl
  • The new column “Announcements Type” should now be available in SSP.  Add this to Metadata Property Mappings in your SSP.  Call it “AnnouncementsTypeData”.  Check the box to allow this metadata to be usable in Scope.
  • Go to the place where you want to have the dashboard and create a “search result page” (or blank  page and then add the Search Core Result web part)).
  • Modify the Search Core web part.
  • Modify the Results Query Options and add AnnouncementsTypeData to Selected Columns in the Search Core Result Web.
  • Create a scope call “Dashboard” and set the rule to include all contents base on the following rule “AnnouncementsTypeData = Include in Dashboard”
  • The Core Search Result should now be able to understand AnnouncementsTypeData.
  • Set the Cross-Web Part query ID not to use User Query, but manually define the Query.
  • Set the Scope in this web parts to “Dashboard”.
  • Save your changes and Exit
  • Now whenever you access this page, you should only see all Announcements that the user mark as Include in Dashboard.
  • To make your dashboard looks better, edit the XSL in the core result (I highly recommend you edit the XSL so it doesn’t look like the sharepoint out of the box search.  I made it so no one notice the back end was base on the sharepoint search J, by editing the XSL you can make it look and feel like a “fancy” dashboard.)