- Business logic
- application development
- Visual C#
- Visual Studio
- Microsoft Office
- Exchange server
- SharePoint 2010
- document management
- Web development
- Web sites
- Web Parts
- SharePoint Service Account
- SharePoint administration
Building Easy Dashboards with SharePointIn this article, we are going to briefly highlight how we can use the out-of-the-box SharePoint Web part to build compelling Web-based dashboards. While this article is focused on using the SharePoint 2010 tool, this is possible in any prior version of SharePoint as well.
Metadata -- the Key to Everything
Metadata, also known in SharePoint as "list columns", is the key to building meaningful Dashboards in SharePoint using out-of-the-box tools. The capability to build multiple list views that take advantage of different metadata values to filter, sort and group list items is at the crux of really tapping in to the power of SharePoint.
While I will not bore you with too much of the standard Knowledge Management fare here, suffice it to say that metadata does not begin at the column, list, content type, site, site collection, web application, or farm level, or at least it shouldn't begin in any of those places. A bona fide corporate metadata ontology, arrived at through the use of an honest-to-goodness Knowledge Management expert, as always the best place to begin.
Enough about that stuff -- it's complex. Let's go ahead and keep it simple.
Building a Dashboard
The first thing we need to do when building a dashboard is to find or create a SharePoint web part page. A good example of this is the standard Team Site Home Page.
In fact, let's take a quick look at that Team Site Home Page and see what is going on there.
So, we have a welcome message, a web part that lists documents in our Shared Documents library, a picture of 3 dorks, and a list of "Getting Started" links.
To build out a better experience, let's go ahead and build a simple dashboard that presents some information useful to the team and get rid of those dorks!
- Select the "Page" tab at the top of the screen and then choose the "Edit" icon.
- Click on the picture of the dorks and hit the delete key on your keyboard. Wow, that was easy! Now we can get started.
- Click the "Save & Close" icon in the ribbon
- Announcements (filtered to only show Announcements that are not expired)
- Team Calendar (daily view)
- Tasks (filtered to only show Tasks that are assigned to the current user)
- Left Column
- Welcome Message (already exists on the page)
- Announcements (need to add this)
- Shared Documents (already exists on the page)
- Your Tasks (need to add this)
- Right Column
- Team Daily Calendar (need to add this)
- Getting Started links (already exists on the page)
- Click on the "Lists" link in the Quick Launch bar
- Click on the "Announcements" list
- Click on the "List" tab at the top of the screen
Select "Standard View". On the next page, enter an intuitive name for the view (I will call mine "Current"), and add the view columns, like so.
In the "Sort" section, let's have this view bubble the most current announcements up to the top. NOTE: It's a good idea to use the "Modified" column, vice the "Created" column, here, so adding new information to the Announcement will bubble it up to the top. Also, notice that when using dates, the most current stuff has a "higher" value, so we must use the descending sort here.
Now, let's filter the view to only show announcements that are not expired. NOTE: We are making use of the keyword [Today] and the "greater than or equal to" operator, so announcements will expire at midnight of their expiration date. We are also going to display any Announcements where the expiration date is "null".
That's all we need for this one. Go ahead and click the "OK" button.
Now, we are going to repeat the preceding steps for the "Tasks" list. There is already a view of the "Tasks" list in the team site, called "My Tasks", that has almost everything we need. Follow the steps that we executed above for the Announcements list, but modify the "My Tasks" view instead of creating a new view.
The only change we need to make is to filter out the Tasks that are already completed. Your "Filter" section should look like this:
Now, we need to do the same thing for the "Calendar" list. We are going to create a new view, of the type "Calendar View". Name it "Daily View" and make sure that you set it to display only a day in the "Scope" section.
Now, we should have all the views created, from which we can add web parts to the Team Site Home Page. So, let's go ahead and do that now.
Just like we did earlier, we are going to browse to the home page, select the "Page" tab at the top of the screen and click the "Edit" icon to the far left of the ribbon. Now, let's add in the web parts.
Click directly above the "Getting Starts" links list. Now, Select the "Insert" tab at the top of the screen and click the "Web Part" icon in the ribbon.
Select "Calendar" from the list and click the "Add" button. The first thing you will notice is that the default view for the calendar list is displayed, and it is using a scope of "month". In order the change details about the web part, click the "down arrow" at the top right corner of the web part and chose the "Edit Web Part" option.
In the tool pane that opens, select your daily view from the "Selected View" dropdown. Click "OK" when you see the message about changing views. Now, click the "OK" button in the tool pane.
You should now see the daily calendar view on the home page!
NOTE: You can also change the name of your web parts in the "Appearance" section of the tool pane.
Now, we can use that same approach to add in the Announcements and Tasks web parts. In fact, to clean things up a bit, let's go ahead and remove the paragraph in the "Welcome" message and change the title to just welcome folks to the team site, like so:
Your page should now look something like this:
While a page like this is not what some purists would call a true dashboard, let's take some quick stock in what we have just done. We have pulled together a list of team-specific announcements, filtered to get rid of the announcements that are expired; recently shared documents that are germane to the user; a list of pending tasks for the current user; a series of relevant links; and the daily calendar of events for the team of users to the web site.
That sounds a bit like a dashboard when you put it that way, doesn't it? Please come back next week, when our proposed topic is to explore some of the more detailed dashboarding capabilities within the SharePoint 2010 Business Intelligence Center.
A Developer.com eBook
Discover how to start developing for the Android platform with this extensive guide, which provides a reference to the Android platform as well as a look at developing your first Android application. You'll explore the top 10 features for developers as well as learn design and development tips that go beyond the phone and target tablet development as well.