SharePoint 2007 – Simple Task Dashboard

In a few of my classes lately, we have gone through an example of creating a simple Task Dashboard. I wanted to do a quick blog so my students would have something to reference if they needed it. This is a pretty basic example of using all OOTB (out of the box) features and combining them to quickly build a solution.

Scenario:

  • We want to provide a way for users to easily see a summary of the current project tasks.
  • We want them to be able to see the following information:
    • Open Tasks Assigned to Them
    • Overdue Tasks
    • Tasks Due This Week
    • Task Calendar
    • Tasks Assigned to Others

Solution:

To build this solution we will be using several different tools available in SharePoint, all included in the list below:

  • Task List
  • Task List Views
    • We will create views for each of the different ways we want to see the data displayed on our dashboard.
  • Web Part Page
  • List View Web Parts
  • Custom Navigation

The first thing we will do is create our task lists and then configure all the views that we need. To create the list, go to View All Site Content, Create and then select the Task list.



Next, we will need to configure our custom views. To do this, we can select the view drop down and select to create new views.


Now, we just need to give our view a name and set the specific criteria.



Below is a table that describes the configuration for the different views we are creating for this example:

View Description Image
Open Tasks Assigned to Them Show all open tasks that are assigned to me.

 

Overdue Tasks Show all open tasks that the due date is less than today.

 

Tasks Due This Week Show all tasks that are due in the next 7 days.

 

Task Calendar Show the tasks in a calendar format that shows the start and end date as the duration.

 

Tasks Assigned to Others Show all the tasks grouped by the person they were assigned to and the status.

 

Now that we have the views created, we will create the web part page. We are creating this web part page to give us some more real estate to display the data. We could in theory add the web parts to the home page; however we want to be careful not to get our home page too cluttered. Since we don’t want to clutter the home page, the web part page is a good alternative. Once we have the page created, we will simply add it is a tab to our home site so users can easily access it. To create the web part page go to view all site content and then create (same steps that we used to create the task list). This time on the selection page we will choose to create a web part page.


On the creation page you will need to give the page a name, select a layout and also select the library that will be used to store the list. Every web part page you create must be stored in a document library. If you are going to create many pages, or if you think having the page in an existing library would be confusing, you could create a library dedicated to storing only web part pages.


Now that we have the page created, we can simply add our web parts to the page and select the view that we want to be displayed in each of the web parts. We can also modify the Title Bar properties to change the page title, image and add a caption.

Here are the steps that would need to be repeated for each web part you add to the page:

  1. Add the Web Part
  2. Modify the Properties to change the View and the Web Part Title





Here is a screenshot of the finished Dashboard page.


And here is the page in edit view to show how the web parts have been arranged on the page.


As a final last step, we are going to add a link to this page to the global navigation for the site. To access the settings, go to the site settings page and then select the navigation link. We are working with a site that has publishing enabled, so our link is for navigation. If you don’t have publishing enabled you will want to use the Top Link Bar link.



Once this step has been completed, you will be able to easily access the Task Dashboard using the global navigation.


SharePoint 2010 Disable Navigation Security Trimming

In most cases, you would want the SharePoint navigation to be security trimmed based on a user’s access to the site. If they have no access then you wouldn’t want them to see the link. In some cases however, you would like users to see the items and get an access denied message with the ability to request access. Once the publishing features have been activated within a site collection, this setting can easily be configured from the UI.

From Site Settings select the Site Collection Navigation Settings:


Remove the option for security trimming:


When a user doesn’t have access they will see an access denied link, with the option to request access.



You can configure the email address that the request is sent to in the Manage Permissions page.


This will remove the security trimming from both the Global Navigation (top bar) and the Current Navigation (Quick Launch).

SharePoint 2010: Creating a Filtered Dropdown Using InfoPath 2010

I have heard a lot of request on the steps required to create a filtered dropdown within SharePoint 2010. I wanted to just create a quick post that will walk you through the steps. The example is pretty simple, but should be enough to get you started.

In our example we are entering data into a timesheet. We want to be able to select a client and a project. Once the client is selected then we would want to filter the list of projects to show only projects related to that client.

To get started we need 3 lists:

  • Clients
  • Projects
  • Timesheet

At a high level, here are the steps we are taking:

  1. Create the Client Lists in SharePoint.
  2. Create the Projects List in SharePoint and add a lookup column to link with the Client.
  3. In the Timesheet list add two lookup columns, one for client and one for project.
  4. Edit the Timesheet list form in InfoPath 2010 :
    1. Apply and desired style changes
    2. Add a Data Connection that we can use for the Filtering
    3. Add a Rule to Reset the Projects Field whenever the Client Field is updated

Since I am assuming you are familiar with creating lists and adding lookups, I will spend the rest of the blog focused on step 4, editing the form in InfoPath.

From the library Ribbon, select the Customize Form option.


The form will open in InfoPath and you can then make any desired design changes to the form. In my example I have changed the background style, inserted an image, added some header text and removed the attachments row. My changes to the form are shown below:


Next up, we will want to create a data source that we can use for the filtering. We already have 2 data sources that have been added from our lookup columns, but those only retrieve the title and we are looking for additional information from the list. To add a new data source select the Manage Data Connections link on the toolbar.


From this menu, select to add a new data source connection to receive data from a SharePoint list. As you work through the menu, you will be prompted to enter the particular list data that you want to reference in your lookup. We will first enter the URL for the site we are referencing, then the specific list and then finally the fields that we want to use in our data source. As a final step you will need to give this connection a unique name, in my example we are using Project_Details.




Now that we have the data source in place we can create the filter on our projects field. We will need to right click on the field we want to filter and select the option for the Drop-Down List Box Properties.


We first need to update the Data Source to point to the data source we added earlier. Once we do this, we can filter the entries (to enter in the option to see the entries, select the icon next to the entries field).


The filter we want to set up can be explained like this: Only show the Project Options when the Client field on the form is equal to the Client field in the Projects list. Below are the screenshots for the configuration.



For the filter we will first select the client field on the form:


Our operator will be “is equal to” and our final selection will be the client field in the projects list:



Now that we have the filter configured, the final step is to add a rule that resets the project field whenever the client field is modified. This way we can be sure that if they change the client, they will also need to update the project. The ribbon makes creating rules in InfoPath very easy. Simply select the field the rule will apply to and then select the rule you want to apply. In our case we want to set the rule to occur whenever the field changes and we want to reset another field’s value.


The menu screen is displayed and we can quickly use the icons to pick the field we want to set and then enter the value. In our case we leave value blank because we want the value to reset to a blank entry.


Now, we simply need to publish the form back to SharePoint using the Quick Publish option.


Now whenever we select to create a new item, our custom form is displayed and the options for project will filter based on the client selected.



Here is a screenshot of our list, which allows you to see that the filters about are working correctly.


SharePoint 2010 Create a New Quick Step & Custom Actions

Creating a new Quick Step allows you to add a ribbon item to perform a custom action, such as a workflow. When you create this Quick Step users can easily activate the workflow from the Ribbon. Below is a screenshot of the configured Quick Step in the ribbon:


To create this, from the Browser, select the List Ribbon and then select the Library Tab and the New Quick Step button.


From here, SharePoint Designer will open and you will be able to enter the data for the Quick Step:


You will notice that once you select ok you are redirected to the list page in SharePoint Designer and your Quick Step is listed under the Custom Action section.


Also notice the Ribbon. You will see that you have another location to create the custom actions. From this menu you can see that we can create the custom action in different locations and when you click one of those options you will see we have more options than just linking to a workflow.


When you select one of the items, you will see a similar entry screen that allows you to select the custom action you want to complete. You can navigate to a form, start a workflow or navigate to a URL.


Below are some screenshots with samples of the locations that you can add the items. I used a document library, so I don’t have an example from the new item form that you would have in a list.






SharePoint 2010 Example: Update Total in List Based off Values in Another List

I have heard a lot of request on the steps required to create a filtered dropdown within SharePoint 2010. I wanted to just create a quick post that will walk you through the steps. The example is pretty simple, but should be enough to get you started.

In our example we are entering data into a timesheet. We want to be able to select a client and a project. Once the client is selected then we would want to filter the list of projects to show only projects related to that client.

To get started we need 3 lists:

  • Clients
  • Projects
  • Timesheet

At a high level, here are the steps we are taking:

  1. Create the Client Lists in SharePoint.
  2. Create the Projects List in SharePoint and add a lookup column to link with the Client.
  3. In the Timesheet list add two lookup columns, one for client and one for project.
  4. Edit the Timesheet list form in InfoPath 2010 :
    1. Apply and desired style changes
    2. Add a Data Connection that we can use for the Filtering
    3. Add a Rule to Reset the Projects Field whenever the Client Field is updated

Since I am assuming you are familiar with creating lists and adding lookups, I will spend the rest of the blog focused on step 4, editing the form in InfoPath.

From the library Ribbon, select the Customize Form option.


The form will open in InfoPath and you can then make any desired design changes to the form. In my example I have changed the background style, inserted an image, added some header text and removed the attachments row. My changes to the form are shown below:


Next up, we will want to create a data source that we can use for the filtering. We already have 2 data sources that have been added from our lookup columns, but those only retrieve the title and we are looking for additional information from the list. To add a new data source select the Manage Data Connections link on the toolbar.


From this menu, select to add a new data source connection to receive data from a SharePoint list. As you work through the menu, you will be prompted to enter the particular list data that you want to reference in your lookup. We will first enter the URL for the site we are referencing, then the specific list and then finally the fields that we want to use in our data source. As a final step you will need to give this connection a unique name, in my example we are using Project_Details.




Now that we have the data source in place we can create the filter on our projects field. We will need to right click on the field we want to filter and select the option for the Drop-Down List Box Properties.


We first need to update the Data Source to point to the data source we added earlier. Once we do this, we can filter the entries (to enter in the option to see the entries, select the icon next to the entries field).


The filter we want to set up can be explained like this: Only show the Project Options when the Client field on the form is equal to the Client field in the Projects list. Below are the screenshots for the configuration.



For the filter we will first select the client field on the form:


Our operator will be “is equal to” and our final selection will be the client field in the projects list:



Now that we have the filter configured, the final step is to add a rule that resets the project field whenever the client field is modified. This way we can be sure that if they change the client, they will also need to update the project. The ribbon makes creating rules in InfoPath very easy. Simply select the field the rule will apply to and then select the rule you want to apply. In our case we want to set the rule to occur whenever the field changes and we want to reset another field’s value.


The menu screen is displayed and we can quickly use the icons to pick the field we want to set and then enter the value. In our case we leave value blank because we want the value to reset to a blank entry.


Now, we simply need to publish the form back to SharePoint using the Quick Publish option.


Now whenever we select to create a new item, our custom form is displayed and the options for project will filter based on the client selected.



Here is a screenshot of our list, which allows you to see that the filters about are working correctly.


SharePoint 2010 – List Validation

In one of my previous posts we looked at the different ways you could validate column content, but what happens if you want to compare one column value with another for validation before the item is saved? Well with SharePoint 2010 you can do this using the list validation features. In this post we are going to walk through a simple example, where we want to make sure that users enter a due date for the tasks that is greater than the start date. This can be configured using a very simple formula, show in the example below.

First, start with a Task List:


From the Ribbon, select the List Settings option:


Under the General Settings you should see an option for Validation Settings:


On this screen you can enter the formula that must equate to true and the message to present to the user if it does not evaluate to true (for our example, our formula is [Due Date] > [Start Date]:


Once you save these settings, the user will get the following message if they enter a due date that is prior to the start date:


This is just one example of the features inside SharePoint 2010 that can help ensure only meaningful data is added to the site.

SharePoint 2010- Per Location View Settings

Have you ever wished that you could create a view that could only be accessed from certain locations within a document library? For example, what if you want to display the default view with limited details and then as you drill down into the folders you want to show more options? You can easily create multiple views for a library, but until 2010 you couldn’t limit what views were available at what levels. I’ll keep this example pretty quick with the intent of just simply showing off the new features.

We have a document library with several views:



The per locations views are configured from an option in the list settings page:


From the settings page you can select a location and then the options for the views (inheritance & available views):



Once this has been configured, only the views allowed for each location will be available in the list navigation dropdown. Notice in the image above, the only view available for the top level of the library is the All Documents View and the only view available for Folder 1 is the Folder 1 View. Below is a screenshot of both the Shared Documents and the Folder 1 List navigation view, showing that only certain views are available within the navigation:



Are you making SharePoint Governance work for you?

In the past month I have had two clients share success stories with me on how they have been making governance work for them. I love stories like these, because it just re-enforces what has been preached to us all along! Maintaining governance within your SharePoint environment will only help you do your job better Specifically they have had two major successes through their governance team structure. I just wanted to take a quick minute and share about those wins and encourage you to follow in their footsteps!

  • Maintain control of Project List: SharePoint gets implemented and everyone wants everything yesterday. It happens everywhere! I see it happen again and again at clients and it seems there is no way to stop the flood of incoming requests! That is…unless you have a management approved process to deal with them. Both clients have dealt with this by creating a request and approval process for managing these requests. Requests come in and the committee discusses them together. Some of the items discussed for each project include:
    • How does this jive with what we currently have going on?
    • Do we have available resources to help get this out when they need it? If not, do we have funds to secure those resources?
    • Would this fit better in a later stage of our implementation?
    • If we do this, what impact will it have on our ability to support the users who will access it?
    • What impact does the solution have to our organization?

    Once they have worked together to answer these questions, they are then able to respond to the users requests. Sometimes the project is done immediately, sometimes the project is put on hold for a future phase and sometimes a completely new alternative is developed that meets the current needs until the ultimate needs can be met in a future phase. No matter the end solution, the business is presenting a request and a committee of users, all from different areas is making a decision for what is best for the organization. The requestor working with this committee is included in the process and included in the decision making.

  • Adding Resources to the SharePoint Team: The other big win that I have seen firsthand is the addition of resources to the team, based on repeated needs. In this scenario, it became clear that while users were requesting solutions, they needed assistance layout the sites in a meaningful way. Users knew the basic content they needed on the site, however lacked in the ability to lay content out in a meaningful way. This includes things from look and feel to layout. After several iterations of requests a pattern from the organizations culture had been identified. Since identifying the need, a new team member has been brought on board that will made available to help assist with the site designs. This new resource has been added to the team and will be given time to learn and develop their SharePoint skills. The great thing about this example is that 6 months ago when we started to plan out their implementation, we never would have identified this skill set as a missing gap in the team. Because of the way they have structured their team and their approach to dealing with their implementation, this common need was identified. And once the need was identified they were able to address it by expanding their team and including a new resource in the existing structure. Their work as a team provided all the business justification they needed for the additional resources.

These are just two simple examples of making governance work for you. If you have any other examples, share them by posting a comment to this blog. These are the real life examples that people love to hear about.

Using the Preview Pane to Create a Contacts Directory

I love seeing the simple things inside of SharePoint combined together to create solutions. I was recently at a client site where a team had a need to create a contacts directory for their team. They were looking for a way to provide a list of people that users could select from the list to see more information. The solution they chose was very simple and accomplished exactly what they had wanted. They created a contacts list and then used the “Preview Pane” style to display the list data in a view. Once they had all the data loaded, they simply loaded a web part on one of the pages and users were able to scroll through the list to find information on each of the team members.

Below are some screenshots of an example of the solution:



Such a simple design, but really provides value quickly to the users. Another example where I have seen this used is for a directory of classes. Users can scroll over the title of the class and immediately see all the detailed information such as next class date, description, audience and cost.

I think it is so easy sometimes to overlook what we can easily do with SharePoint out of the box. This post if just a simple reminder of some of the quick solutions we have available just using the tools we have out of the box.

SharePoint 2010: Using the Lookup Column to Provide a Multi-Field Drop Down

Recently a question was posted to the comments of my blog that in summary was asking if there is a way to combine several fields into the value that is used for the lookup. The specific scenario was that they wanted to show the users more of a description of the lookup item than just the title (or in their case, an ID number). There is no way to configure this using the lookup column settings, however below I will describe a way that can be used to easily get you to the same point. Here are two screenshots of what our overall goals:

  • Allow Users to be able to see a multi-field description for their lookup item:


  • Have the items used in the lookup be individual columns in the list, for filtering, sorting and grouping purposes:


We are basically going to use the same instructions found in this blog post, with just a few minor changes. The first change is in the list that we are looking up. We will still build the list normally; we are just going to add one additional column, a calculated column that will be used to build the lookup value we want our users to see. In my example, the calculated column is just a concatenation of 3 text fields.



Now, on the list we where we want to use the lookup, we will configure that list to look up against the Filter Value column we created and then to also pull to the list the additional columns we want to view. The final step is to then remove the Filter Value from the view. This will then allow you to see the filter value when you add / edit items, but when you view the list you will just see the associated columns.



Doing this allows us to reach the goals stated at the beginning of this post. Now, since we are using the calculated column, we would have any limitations that apply to those columns applied to our solution. So this is one of those cases that might not work for everything, but should definitely be a tool in your toolbox in case it comes up!

Thanks for the great questions in the comments section! I hope you will post more as you have them.