Create an Image Rotator in SharePoint Using jQuery

A while ago, I wrote an article for SharePoint Briefing (www.sharepointbriefing.com) that describes how to create an image rotator in SharePoint. Here’s a teaser:

image

Read the whole article here: http://sharepointbriefing.com/spcode/article.php/3861121/Create-an-Image-Rotator-in-SharePoint-Using-jQuery.htm

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Use jQuery to Kill Spell Checker in SharePoint Lists

“Use jQuery to Kill Spell Checker in SharePoint Lists” – that’s the title of a recent article of mine that the good folks at www.sharepointbriefing.com posted earlier this month.

Here’s a teaser:

image

Read about how and why I wanted to kill the poor spelling checker here: http://sharepointbriefing.com/features/article.php/3869816/Use-jQuery-to-Kill-Spell-Checker-in-SharePoint-Lists.htm

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Solution: SPD Workflow and “The form cannot be rendered …” Message

I was preparing today to give a demonstration on SharePoint 2010 focusing on SPD 2010 workflows.  As I was prepping, I hit this error when I tried to run a workflow manually:

The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.

I had previously set up my farm on an underpowered laptop and in trying to help it out, I tried to turn off / disable a bunch of services, as shown:

image

It turns out that the State Service is pretty important 🙂

I reconnected my web app to the State Service I was immediately able to run my workflows.

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

BPOS HR Demo / Case Study Video

 

[Updated 12/07/09 to use gigantic windows live icons since the links were broken.  Windows live doens’t know how to embed .wmv files that are hosted on sky drive, apparently.  Or, I can’t figure it out, which is maybe more likely.]

A few weeks ago, I was scanning through my twitter stream and noticed a tweet from the Microsoft BPOS team.   They were looking for volunteers to do live meetings that show-cased business solutions delivered via BPOS.  (They still are and if you’re interested in doing that, message me via live spaces and I’ll make an introduction).

In the course of preparing for the live meeting, I created two recorded sessions using Camtasia (a really terrific tool, BTW).

The first session is about 16 minutes long and focuses almost entirely on the business solution with very little discussion about technology.   Click this giagantic windlows live icon thing to download and view it:

The second session is a much longer at 32 minutes.  It is more detailed and has more technical background info.  Click this other gigantic windlows live icon thingie to view the longer recording:

The actual live session took place a few days ago.  I zipped through the presentation itself and as a result, there’s a good 20 to 30 minutes of relentless ( 🙂 ) Q&A that is a great complement to the videos I link above.  When I get the recorded meeting link, I’ll post that too.  I think that in combination, they provide a really good foundation for understanding BPOS and its current capabilities.

If you have any questions, contact information is in the presentation itself, so feel free to ping me via email.

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Technorati Tags:

SharePoint Shop Talk Thursday 11/19, 12:30PM to 1:30 PM

SharePoint Shop Talk continues with our 14th session tomorrow at 12:30PM EDT.

This is a free ranging and open Q&A session free to everyone that wants to attend.  Dial in and ask questions or start a discussion on a topic of your choosing.

This week we’re definitely going to talk about:

  • Best practices around search scopes, crawling content, schedules, etc.
  • Data view web part and “current user” difficulties (DVWP is a weekly favorite).
  • Someone wants to talk about “Why pay thousands for a marketing list” from a Shop Talk newcomer, “185165@video.wokr13.com”.  This one should be interesting.  Very interesting.

I’ll also be performing a SharePoint magic trick you won’t want to miss!

If you have any questions, fire them off to questions@sharepointshoptalk.com, leave a comment or buzz me on twitter (@pagalvin).

Register here: https://www323.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=dlnf750v8cqsstzx

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Technorati Tags:

Announcing the Microsoft Enterprise Search User Group

I’m very excited to announce that Natalya Voskresenskaya, my fellow SharePoint MVP and partner (with far less help from me than she deserved) is launching a new user group devoted to enterprise search based on Microsoft technology.  As a practical matter, this boils down to SP 2010 search and a lot of talk about FAST, especially in our first session.  Natalya and I have written a lot about FAST over the last year on our blogs (Natalya has more and better stuff than I!).

Our first meeting is coming up in just a few weeks in New York at Microsoft’s newly renovated offices on 6th near Rock Center.  If you’re in New York on 12/9, you have no excuse not to make an appearance.  Likewise for you Jersey people.  Connecticut people can stay home (just kidding!). 

NY/NJ/CT people should skip this paragraph.  We also plan to record the session and run a live web session so if you live outside the tri-state area, you should be able to tune in. 

I’ll blog about this some more as this most auspicious day approaches but register now.  After you register, the long wait begins.  During that time, clear your schedule, break the news to your family and alert the media because you won’t want to miss Nate Treloar launch our group to the moon and beyond 🙂

Find out more from our official site: http://www.sharepointgroups.org/enterprisesearch/default.aspx.

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

SharePoint Shop Talk Tomorrow (11/12) from 12:30PM to 1:3PM EDT

The next SharePoint Shop Talk takes place tomorrow at 12:30 PM EDT.

This is a free event to anyone that has a telephone.  A panel of SharePoint pro’s take questions and do their best to provide useful guidance and advice.  We regularly hijack audience members and make them answer questions and try to have a good time.

Send your questions or topics to questions@sharepointshoptalk.com.

Register here: https://www.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=sx9p9r6prwxp5mk9

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Technorati Tags:

SharePoint Shop Talk for Thursday 11/05/09 @ 12:30PM EDT

The next edition of SharePoint Shop Talk takes place Thursday, 11/05/09 at 12:30 PM EDT.

Register here: https://www.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=gr5l4q66rv3f4xwj

SharePoint Shop Talk is an open phone line, open Q&A to talk about all things SharePoint.

If you have questions or topics that you’d like the panel to discuss, send them by email to questions@sharepointshoptalk.com or twitter them to me (pagalvin).

I’m badly rushed for time this week, so I’ll leave it at that.  I usually like to preview some of the already-emailed questions.  This week, you’ll have to dial in to hear about it 🙂

We hope to see you on line.

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Technorati Tags:

Comparing Dates in a Data View Web Part to Build a WSS KPI

Note: this was first posted at www.endusersharepoint.com here: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.

This is yet another blog post on comparing dates in XSL in a data view web part in SharePoint.

This is my scenario:

  • I have a custom list.
  • The business purpose of the list is to support the idea of a new employee and his/her tasks to be completed within 7 days of starting the job.
  • They are in a “warning zone” after 4 days if they have not completed these tasks.
  • I want to create a simple dashboard that shows green when they have either completed the task or if they have more than 4 days to complete it.
  • I want the dashboard to show yellow if they are in the warning zone.
  • I want to to show red if they have not completed the task after the due date.

I borrowed from this article at Marc Anderson’s blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) to get the comparison logic and this article at www.endusersharepoint.com for the basic ideas behind the dashboard (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) written by Toni Frankola.

You should read the supporting blogs, but the implementation goes like this:

  1. Create a content type (columns + CT)
  2. Create a custom list and associate it with the content type.
  3. Create a web part page.
  4. Add the custom list to the web part page.
  5. Open up the page in SPD.
  6. Convert the list to a DVWP.
  7. Modify the XSL to generate the dashboard bits.

I have two dates: a warning date and a due date.  To compare the dates, my xsl does the following:

 
 <xsl:choose>
 
 <!-- When both handbook and policy are signed, we are green regardless of dates. -->
 <xsl:when test="@Employee_x0020_Handbook_x003F_ = 1 and @Security_x0020_Policies = 1">
 <img src="/_layouts/images/KPIDefault-0.GIF" alt="No problems"/>
 <a href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID={@ID}&amp;Source=/HumanResources/Shared Documents/New Hire Dashboard.aspx"> [Edit]</a>
 </xsl:when>
 
 <!-- Show amber indicator if we're past the warning date. -->
 <xsl:when test="ddwrt:FormatDateTime(string(ddwrt:Today()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(string(@TaskDueDate), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-2.GIF" alt="Overdue"/>
 <a style="border: 0px" href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID={@ID}&amp;Source=/HumanResources/Shared Documents/New Hire Dashboard.aspx"> [Edit]</a>
 </xsl:when>
 
 <!-- Show red indicator if we're passed the due date. -->
 <xsl:when test="ddwrt:FormatDateTime(string(ddwrt:Today()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(string(@Warning_x0020_Date), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-1.GIF" alt="Warning"/> 
 <a href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID={@ID}&amp;Source=/HumanResources/Shared Documents/New Hire Dashboard.aspx"> [Edit]</a>
 </xsl:when>
 
 <!-- If we get here, we're earlier than the warning date, so we're green. -->
 <xsl:otherwise>
 <img src="/_layouts/images/KPIDefault-0.GIF" alt="No problems"/>
 <a href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID={@ID}&amp;Source=/HumanResources/Shared Documents/New Hire Dashboard.aspx"> [Edit]</a>
 </xsl:otherwise>
 
 </xsl:choose>

 

A few key points from above:

  • I tried to compare dates without using the ddwrt functionality and got nowhere.  I still don’t understand that.  They dates displayed correctly, but both “>” and “<” comparisons always failed.  In the end, ddwrt came to my rescue (thanks, again, Marc).
  • I’m also displaying an [Edit] link to the item.  I mainly did this so that I could easily test this out.  The link itself may be useful to someone trying to figure it out.
  • This is implemented in SharePoint online and works nicely.
  • The images I reference in the _layouts directory (/_layouts/images/KPI…) are available out of the box in my environment so they are probably available for you as well.

Here’s a screen shot of what it looks like for me:

image

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin