Wednesday, February 13, 2013

SharePoint 2010 Workflows broken OOTB

I just setup a Disposition Approval workflow in SharePoint 2010 on a wiki site. More SharePoint functionality that is broken out-of-the-box (OOTB).

What I’d like to do is get reminders to review wiki content periodically so we can tidy up stale information – seems simple enough.

SharePoint 2010 appears to offer this through it’s Disposition Approval (who names these things?) workflow. This turns out to be fairly complicated to configure. There’s an Information Management Policy Settings link to find on the library settings page which kicks off the workflow, and a timer job that only runs once a week by default.

The workflow is defined on the wiki site’s page library, but relocating the workflow once it is created is a pain as not all “workflow settings” buttons go to the same place. The tasks, however, get created in another list under the wiki site, so are a sibling to the wiki pages.

The whole feature looks like it’s bolted together out of pre-existing parts that don’t really fit.

However, after running that gauntlet I find the following 3 total fails that make the whole feature more trouble that it’s worth:

  1. The tasks created by the workflow don’t get assigned to anyone. It expects you to come and look for them. Setting up an alert on the task list gets around this.
  2. The bulk workflow tool from 2007 is missing or hidden or something in 2010 so you have to open each task individually, which makes the whole thing too much effort to bother with.
  3. There’s a stupid bug which means all my existing wiki pages throw an error when I try to open them for editing. Chasing down the correlation id in the logs (blech) and googling the stack trace leads me to some mumbo-jumbo about some missing Data Association XML or some-such.

In the end I just switched off the retention approval again and deleted the workflow. Too much pain for a crap little feature.

UPDATE: Now when we try to create a page in the wiki we get an Article Page instead of an Enterprise Wiki Page. I deactivated the SharePoint Server Publishing feature from Site Settings, but this didn’t fix it and also caused this error when I tried to save an existing wiki page after editing it:

System.ArgumentException: Invalid SPListItem. The SPListItem provided is not compatible with a Publishing Page

I activated the feature again and can now edit existing wiki pages without error. Eventually I found Site Settings > Page Layouts and Site Templates > New Page Default Settings. This was “Inherit Default Page Layout From Parent Site”. Changed to “Select The Default Page Layout > (Enterprise Wiki Page) Basic Page” and now new pages are wiki pages again.