Category: SharePoint 2007

SharePoint 2007 workflows missing after migrating to SharePoint 2010

After migrating SharePoint 2007 portal to 2010, I noticed that the workflows associated with lists were not available and after researching a bit, I found something interesting on TechNet.

If you had disabled the Workflow Auto Cleanup timer job in your Office SharePoint Server 2007 environment, make sure that you disable this timer job in your new environment also. If this timer job is enabled in the new environment and disabled in the previous version environment, you might lose workflow associations when you upgrade. For more information about this timer job, see Disable preservation of workflow history (SharePoint Server 2010).

I checked the timer job and it was running on both machines so something else was at play here so later I found out here that

“In SharePoint 2010 the 2007 workflows are there to allow any running workflows to complete, but by default creating new instances of the workflows is disabled as the expectations are that you will want to move forward to the SharePoint 2010 workflows.”

And to allow creation of SharePoint 2007 workflows instances, I followed Vinit’s solution which was

  1. Activate SharePoint 2007 workflows feature in Site Collection Features
  2. Remove ‘none’ from <AssociationCategories>none</AssociationCategories>




Don’t’ forget take backup of these files before modifying them.

I hope you find this post useful, thanks for reading.


10 easy steps to create an elegant jQuery slide show in SharePoint 2007 using Content Query Web Part

Recently I’d a requirement to create a slideshow in SharePoint 2007 and content query web part is great for these types of scenarios where a list has to be query and list items are to be rendered with some HTML. There are a lot of great jQuery plugins available for slideshow, we’ll be using jQuery.Popeye. You can use the following steps to use any other plugin if you like, okay so let’s get started.

  1. Download jQuery and jQuery.Popeye plugin
  2. Go to Style Library, open with explorer and paste jQuery.Popeye folder from the downloaded archive along with jquery-1.8.1.min.js
  3. Create a Picture Library and upload images that you’d like to be displayed in Slide Show.
  4. We’ve to create a new XSL template which will generated the necessary HTML for slide show so open the site in SharePoint Designer and then navigate to All Files, Style Library, XSL Style Sheets, make copy of ItemStyle.xsl and then edit ItemStyle.xsl
  5. Go to bottom of the file and paste the following XSL before </xsl:stylesheet>

    <xsl:template name="PopeyeSlideShow" match="Row[@Style='PopeyeSlideShow']" mode="itemstyle">
    <xsl:variable name="DisplayTitle">
    <xsl:call-template name="OuterTemplate.GetTitle">
    <xsl:with-param name="Title" select="@Title"/>
    <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>

    <xsl:variable name="SafeLinkUrl">
    <xsl:call-template name="OuterTemplate.GetSafeLink">
    <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>

    <xsl:variable name="Header">
    <xsl:if test="count(preceding-sibling::*)=0">
    <div id="ppy1">

    <xsl:variable name="Footer">
    <xsl:if test="count(following-sibling::*)=0">
    <a title="Previous image">Previous Image</a>
    <a title="Enlarge">Enlarge</a>
    <a title="Close">Close</a>
    <a title="Next image">Next Image</a>

    <xsl:value-of select="$Header" disable-output-escaping="yes" />
    <xsl:attribute name="href">
    <xsl:value-of select="$SafeLinkUrl"></xsl:value-of>
    <xsl:attribute name="src">
    <xsl:value-of select="$SafeLinkUrl"></xsl:value-of>
    <xsl:value-of select="$Footer" disable-output-escaping="yes" />

  6. Create a new page, drop content query web part, edit web part, collapse query section, select show items from following list and select the library you created in Step 4, also select picture library as List Type.
  7. Collapse presentation section and select PopeyeSlideShow as ItemStyle so that the HTML we wrote while creating XSL template in step 5 is applied while rendering images returned.
  8. Now all that’s missing is to include CSS for this plugin along with including references to JavaScripts and then finally calling the plugin so let’s add this now.
  9. Now again open SharePoint Designer, go to All Files, Style library and create a new js file, name it jquery.popeye.loader.js, edit it and paste the following

    <link type="text/css" rel="stylesheet" href="/Style%20Library/jQuery.popeye/css/popeye/jquery.popeye.css" media="screen" >
    <link type="text/css" rel="stylesheet" href="/Style%20Library/jQuery.popeye/css/popeye/" media="screen" >
    <script src="/Style%20Library/jquery-1.7.2.min.js"></script>
    <script src="/Style%20Library/jQuery.popeye/lib/popeye/jquery.popeye-2.1.min.js"></script>
    <script type="text/javascript">
  10. Now edit the page which we created in step 6 and drop content editor web part so we can include jquery.popeye.loader.js. Modify the shared web part and enter /Style%20Library/jquery.popeye.loader.js in the content link box, test the link and then click ok

Now you should have something like the following image.

Creating a jquery slideshow in SharePoint_2007 using Content Query Web Part

Hope you find this post useful, thanks for reading.

How to generate short URLs for content in SharePoint

Sharing generated short URLs is very common these days. For example if you want to send a link to a document hosted in your SharePoint 2010/2007 document library it would be something like


So you would probably include something like above in your email. Now instead of doing this, it would be aesthetically pleasing to generate a short URL like If you are interested in doing so, following are some solutions that might be of interest to you.

How to approve or reject SharePoint workflow using Nintex workflow

To approve or reject a SharePoint Workflow from a Nintex Workflow is very easy. There is a web service exposed from SharePoint which is Workflow.asmx, you can access it at

http:// server /_vti_bin/workflow.asmx

Now the method that we will be using to action our SharePoint workflow is AlterToDo. This method takes the following arguments:

  • Item (The URL location of an item on which a workflow is being run)
  • todoId (Unique identifier of the assigned task)
  • todoListId (Globally unique identifier (GUID) of the assigned task list containing the task)
  • taskData (Task data for conversion into a hash table)

Okay so back to Nintex now.

Step 1: Add a call web service workflow action and configure it.

Step 3: Add URL of workflow.asmx web service in the URL field, specify username and password and click refresh to update list of available methods in the Web Service

Step 3: Select SOAP Editor in editor mode, this is necessary as you will be adding some xml in TaskData parameter and select SOAP builder mode seems to html encode < > signs which results in error

Step 4: Specify item, todoId, todoListId and paste the following xml in tag.

<my:myFields xmlns:my=”; >






Your configuration should look something like this

Calling Workflow.asmx using Nintex workflows

Try some fixed values first for testing purposes and click run and then replace them.

I hope you find this post useful. Thanks for reading.

Capacity and performance considerations for planning a SharePoint Farm

In the midst of all the excitement of creating a new SharePoint 2010 farm or upgrade an existing SharePoint 2007 farm, capacity planning seem to be often ignored.

As Benjamin Franklin said “If you fail to plan, you are planning to fail”, so investing sometime on researching a bit about capacity management in SharePoint can save you a lot of agony in the future.

Following articles contain good details which can help you in planning.

3 reasons to choose Nintex as a Workflow Solution for SharePoint

I’ve used Nintex in a few projects both for SharePoint 2007 and 2010. My experience has been very good and I usually recommend it to medium sized organizations. Why I think Nintex is good solution, following are top three reasons.

  1. Creating a workflow is as easy as visualizing one, check out the two-minute overview
  2. Rich documentation and support, check out Nintex Connect
  3. Great return on investment, see what their customers are saying.


Process workflow based on email replies using K2

Today while researching I came across K2underground and found this amazing feature in K2 called K2 SmartActions.

I’m pasting some details from the article which I read (

K2 SmartActions is a technology that allows for Process participants that receive email Task Notifications to interact with the Workflow Task and the underlying K2 Process via email messages between the user and the K2 Process Server.  The goal of this technology is to allow mobile users or user that live within email clients (Outlook, Mail, etc.) the same functionality as users that either interact with K2 Tasks via the K2 Task Worklist or via the associated Task form directly.  To accomplish this, we have provided the ability to automatically embed both Task-specific Actions (things like the Approve, Deny, Confer that you’re already building into your Tasks today) along with the standard Redirect, Delegate and Sleep actions that are natively exposed on our K2 Worklist.

More details

K2 SmartActions Configuration Tips