Speaking at Baltimore SharePoint Saturday: On what?

SharePoint Saturday, Baltimore, July 25, 2009Eric Harlan, coordinator of SharePoint Saturday in Baltimore, just confirmed that I will be one of the presenters on July 25th. Good news… but now what? What should I talk about?

Here are three topics I think are extremely interesting. Which one would you like to hear me talk about and demo? Leave a comment and then I’ll record my hour long presentation so you’ll get a chance to see it if you can’t attend.

  • 5 Absolutely Bullet Proof Ways to Get End User Buy-in
  • Charts, Graphics and Dynamic Analysis without Excel Services
  • Hack the SharePoint Interface – 9 No Code Solutions

If you haven’t attended a SharePoint Saturday session before, you’re missing out. This is a FREE event, where over 25 SharePoint Experts donate their time to show you what they’ve been working on. You’ll get free training packages, free assessment packages, free netbooks, TONS of books and goodies!

Put a marker on your calendar. Registration opens at 10am on July 13th. I look forward to seeing you there.

Create a SharePoint Multi-Media Resource Center

I’ve had over 50 requests in the past two weeks asking for the "Create a SharePoint Multi-Media Resource Center" live online workshop, so I’ve scheduled one for July 21st.

In this live online workshop, you create a multi-media management center that stores your screencasts and allows easy access through the SharePoint interface. This solution works in WSS as well as MOSS. Along the way, we’ll talk about how to store large video files and access them through a customized SharePoint list. At the conclusion of the workshop, you will have the tools, resources and expertise needed to construct a fully functioning, multi-media management center on your company’s SharePoint site.

Here’s a six minute screencast to show you how the solution is architected. You can also read a complete description of the workshop on the registration page.

If, after taking the workshop, you decide the solution isn’t what you are looking for, I will personally refund your entire registration fee and you get to keep all the resources from the project. — Mark Miller, Founder and Editor

Netbooks and Load Time: Windows 7 vs XP

Over the 4th of July weekend, I read an article in Technology Review, Light, but not Light Weight, that convinced me it is time to seriously consider the purchase of a NetBook. Mike Herrity at NetBooks in Education put up a 16 second video to demo the load time of Windows 7 vs Windows XP. With SharePoint being browser based, this is an interesting alternative to lugging around a massive machine to give demos and deliver training.

To quote Mike: "The difference was simply staggering with the Windows 7 Samsung NC20 logging on in just 5 seconds. The XP netbook? In the end it would have been unfair for me to let you endure 3 minutes and 6 seconds of pain while we waited for the machine to log in."

Thanks, Mike. Keep ‘em coming. Love to see this stuff.

EndUserSharePoint.com: How To Use This Site

EndUserSharePoint.com started less than two years ago as a simple way for me to keep track of ideas I came across while working with SharePoint. Over time, it has grown way beyond what I originally anticipated. As a result of publishing over 900 articles and hundreds of screencasts, the site has gotten a little more complicated to navigate.

In this short screencast, I demonstrate the easiest ways to find content on the site.

Embed this screencast on your site.


jQuery to the Rescue – Automate All Day Event

Jim Bob HowardContributing Author: Jim Bob Howard
Jim Bob Howard is a web designer / web master in the healthcare industry. He has been working with SharePoint only since March 2009 and enjoys sharing what he has learned. You can email him at jimbobhoward@gmail.com.


I was working on a mileage reimbursement project that required a user to associate travel mileage with a specific date. To make things easy for the user, I wanted to use a Calendar list so they could easily choose a travel date. That would also give me built-in date validation and makes things easier all around.

But, there were some things I didn’t need: Recurrence, Workspace, End Time, or times in general. I wanted the functionality of an All Day Event so that specific times were not necessary. And I only wanted one date associated with the mileage entry.

So, I hid the End Time and set up a workflow to copy the Start Time into the End Time on create. Since it defaults to [Today], its "requiredness" is satisfied by default.

I also wanted Recurrence and Workspace hidden, as well as the time portion of Start Time. And I needed the All Day Event to be checked automatically, and then hidden so it couldn’t be unchecked.

jQuery to the rescue again.

  1. Enter edit mode on NewForm.aspx, by adding ?PageView=Shared&ToolPaneView=2 to your URL
  2. Add the Content Editor Web Part and move it to the bottom of the page
  3. Click on Source and enter the following text

You�ll need to do something similar to your EditForm.aspx:

  1. Enter edit mode the same way was above, leaving the ID=x and changing the �?� before PageView to an �&� (i.e. ../EditForm.aspx?ID=1&PageView=Shared&ToolPaneView=2)
  2. Add the Content Editor Web Part and move it to the bottom of the page
  3. Add the same jQuery code from above, but delete the first two lines in the function (since it�s already an All Day Event, there�s no need to set it, and the times will already be hidden)

DispForm.aspx will be slightly different because the HTML is different:

  1. Enter edit mode the same way you did for EditForm.aspx
  2. Add the Content Editor Web part and move it to the bottom of the page
  3. Add the following code to the Source

This solution does leave 12:00 AM on the Start Time (on DispForm only) so I�d love to see a solution for removing that as well.

Thanks, Paul and Paul !

A while back I was tasked with creating a custom contact list in SharePoint. Only problem was that I didn’t want people to have to click New -> Item and manually enter people into the contact list when these same people are already sitting over in Active Directory. So I created a web part that allows me to search Active Directory, select people, then click an Add button to get their information from Active Directory and add them into my list. My web part consists of two controls: a PeopleEditor control that allows me to search for and select people in AD, and an Add Users button that adds those people into the list. I have a tutorial on this, complete with code, at http://simplesharepointsolutions.blogspot.com/2009/06/how-to-populate-custom-contact-list.html. Hopefully this simple solution will make things easy for someone out there!

When you create a web part and deploy it, the web part’s title and description, which shows up in the Web Parts Gallery and Add A Web Part, is taken from the .webpart file. Yesterday, I realized I needed to update the title and description of my web part. When I updated the .webpart and redeployed it to make sure the values would be updated in the Web Parts Gallery, I noticed it didn’t. After trying several combinations of things, I realized I had to do a few things in a specific order. I posted an article on this on my blog, here at http://simplesharepointsolutions.blogspot.com/2009/07/getting-web-parts-title-and-description.html. As long as you follow those steps in that order, it works just fine.

Gone fishing…

The family and I are headed for some down time in Black Mountain, N.C., so the site’s going to be a little slow with new content for the next week. No worries… we’ll be back at it again next Monday, July 6, with a fresh batch of ideas, articles and screencasts.

Please have a safe and fun filled 4th of July.


Item Expiration

Guest Author: Eric Alexander, Moderator, Stump the Panel

This article comes about from a question from illegal operation in Stump the Panel.  He writes:

I’ve been expermenting with workflows, and have one almost working the way I want. Basically what I want to do is this.

The list in question has these fields.

Staff Contact
Renewal Date

The worksflow starts when the item is created, then pauses until the renewal date. On the renewal date, it sends out an email to the staff contact reminding them that it’s due, and to update their subscription infomation.

So far I have it almost working, it pauses until the renewal date, and then sends the email. Then if the person goes back and updates the item, it then goes back to pausing until the new renewal date.


If a person goes in before it expires and updates the renewal date, the workflow doesn’t reflect the new date. For example, say it was to expire on 6/15 the users already knows this and goes in and updates their information today 6/12. They enter their new renewal date of 7/12. The workflow is still only paused til 6/12, and will send the email out too early.

So I need to add something to my workflow to always update that pause duration. Here is how my workflow is setup now. It’s set to automatically start when new item created, and start when item is changed.


If renweal date is greater then today
Pause until Subscription Data Renewal Date
Then send email Staff Contact.

What can I add to make it update the workflow when items are changed before they are due?

Jim Bob offered a possible solution with dual workflows on the list.  I thought of another solution using Information Policy Settings and a work flow.  The idea for this came from a screencast I saw that used document expiration policies to serve as a publishing mechanism for Announcements.  I thought information management could be a good candidate to solve this problem.  After some testing, it will work but there are some caveats to this solution:

  1. This is a MOSS only option.  WSS users will have to find another way.
  2. The timer job that handles expiration policy on the server runs only once per day.  It cannot be altered to run more frequently. 

If you can live with these caveats, let�s begin.