Archive for July, 2008

The best use of SharePoint Workflow is … sparing!

I’m with Bob Mixon - Business Process Management Does Not Equal Workflow. Go read that post now.

Like him, I hear the terms ‘Workflow’ and ‘BPM’ used interchangably, but he is right - workflow is a technology that can be used to support a business process. It’s not the only technology, though, and it isn’t always appropriate to use. Too often I see workflows with some horrible process in them for dealing a with a variety of edge cases where actually all the customer needs is to record that this is an exception to their normal process, and that it was sent to Joe Bloggs to deal with.

I’m a big fan of allowing human intelligence a role in the process. But I digress…

The point I was leading around to is that you don’t have to use just workflow to support a business process. You can actually achieve quite a lot with views, and you can provide some of the automation with just event handlers. Or, if you’re brave, you can use workflow - but Keep It Simple, Stupid! A lot of the example workflow projects are pretty simple, and short - keeping yours the same seems a safer plan.

Also, I do think keeping workflows short and simple, and having a number of them supporting a business process is generally a good idea.

We did a project just after SharePoint RTM was released where I was supposed to be using workflow. I’d been trying to build this particular workflow since the Beta 1 release, but there were still a lot of issues in the TRM version, Read more »

Stupid Visual Studio 2005 MSDN DVD

A note for myself. The MSDN DVD for April 2007 (Disc 3070.1) with Visual Studio 2005 on it can’t be installed directly from the DVD. The installer asks you to ‘Install Disk 1′, which is unfortunate, as there is no disc 1, and the DVD contains both CDs in different directories on it.

The solution is to copy both CDs to a single directory on the hard disc of the machine, and run the installer from there.

Unfortunately, for some reason my virtual machine won’t let me do that directly - it complains about copying one of the files from the DVD - but I can share a folder on the host, and copy the installation files into the VM via that folder.

Once you’ve copied the files on, though, the ‘pre-filled’ licence key isn’t there anymore. You can get the key by starting installing from the DVD, writing it down, and then using it when you install from the hard disc.

It’s crazy the work-arounds you have to go through sometimes :(

MSI Setup projects in Visual Studio : 2005 != 2008

I’ve been working on a project that is a shared plugin to Office 2003. I was writing this in Visual Studio 2005, but for a variety of reasons (not least of which was having a tidier dev environment), I decided to move this onto a convenient VM which happened to have a lot of the things I needed (MOSS, a domain controller, AD, exchange).

Unfortunately, it also had Visual Studio 2008 too. I didn’t think this would be a problem, though, and so I when I opened the project on it for the first time and it asked me to upgrade the project to 2008, I was happy do. I didn’t think there’d be a problem.

Well, during development, there wasn’t. Whenever I went to test my MSI installer, though, I started to have problems. Installation kept failing and I kept getting the error:

Error 1937. An error occurred during the installation of assembly ‘Extensibility,Version=”7.0.3300.0″,Culture=”neutral”,PublicKeyToken=”B03F5F7F11D50A3A”,ProcessorArchitecture=”MSIL”‘. The signature or catalog could not be verified or is not valid. HRESULT: 0×80131045. assembly interface: IAssemblyCacheItem, function: Commit, component: {8C306A7E-AE8E-14F0-4168-C43060985CF4}

This was surprising. Extensibility.dll isn’t one of mine - it’s a Microsoft one that should’ve been in the Primary Interop Assemblies for Office. Anyway, it’s not one of mine, it hadn’t changed, and it was signed correctly. So what gives? Read more »

Interference between SharePoint ItemEventReceivers and Web Services

So, I’ve been working on an application that uploads documents to SharePoint and sets metadata on the item via web services. I’ve made a note about how to do this before - although I’ve yet to vent my frustration at not having a web service call to upload a document in a single transaction that either fails or succeeds. Anyway, the result is that I have to upload the file and then set the metadata against it. Unfortunately, this wasn’t working for one of our customers - sometimes it would work, and sometimes it wouldn’t set the metadata. Read more »

Browse Directories Permission and Webs.GetWebCollection strangeness

I’ve had a support call from a client; an application that I’d written wasn’t letting some users see the subsites of a particular site. However, in the web browser, they could see (and navigate) to those sites. “Strange”, I thought, “they must’ve misconfigured their permissions”. Well, they hadn’t. Read more »

Quite Impressed by Camtasia

Okay, so many of my colleagues are away on holiday at the moment, and that can make getting everyone into one room to show them a presentation difficult.

Unfortunately, I wanted to show some of out Sales and pre-sales guys some of the ’standard’ customisations to search that I was working on last month. I could do screenshots and Powerpoint - but it’s slower to create, and not as easy to see as a video.

Well, I’d heard of Camtasia, and it transpires they’ve a 30 day free, so I thought I’d give it a go. Well, it is very good. Clearly, there is a lot to the program - much more than I’ve used - but I was able to get a video recorded showing my stuff in an hour. Not bad when the film itself is 20 minutes long!

It has some really neat features, too, like zooming and panning to where you’ve clicked, so that if you’ve only got a small video resolution you can still see the important bits on an activity at 100% zoom.

What I would say is that the documentation and introductory videos do seem to gently suggest that planning what you’re going to demonstrate might be useful - and they’re right. I’d say from my short experience that planning what you’re going to do is essential. As is a decent mike - my seemed to struggle a bit.

Anyway, would I pay $300 for it? Well, for the company, yes, it’s a snap. It isn’t something that a ‘home’ user is likely to pay that for, but for business quality screen recordings, I wouldn’t look any further.

Managed paths and folders interferring in a Virtual Directory

I had a call from a colleague today. He’d created a SharePoint site collection inside an existing and working web-app, using the standard ’sites’ managed path (e.g. http://server/sites/newSiteCollection). It seemed to have created it okay, but if he went to it he got a HTTP 404 - yup, “Page not found”.

This seemed a bit weird, so I went to see what he’d done wrong. I looked in Central admin - it showed his site collection as existing, but going to it, I got a 404 too. So I created my own - and after it was create, if I went to it, it 404′d too.

(The examples below use the managed path ‘demos’ - I took the screenshot when I was reproducing the problem, having apparently fixed it for the ’sites’ managed path already. Trust me, this happens just the same if the items involved are using the text ’sites’).

404 Page for the newly created site collection

If you look at the screenshot you’ll see that I’m trying to go to the site collection ‘vaa’ inside the ‘demos’ managed path.

Well, at this point I tried using some other managed paths to create a site collection, and they worked fine - no 404s when you try going to them just after creation. I began to wonder if it was something about this path, so I opened IIS Manager to see if anything was going on.

Inside my virtual directory for my web app, I found a ’sites’ folder (or ‘demos’ in this screenshot):

Screenshot of IIS Manager showing spurious directory

That was a bit strange - normally I wouldn’t expect to see ’sites’ folder. It seemed empty, so I deleted it, and then I could access my new site collection without getting a 404. I then created a folder to interfer with one of my working managed paths (I created a folder called ‘demos’), and suddenly I started getting 404 errors if I tried going to it.

I don’t know why there was a ’sites’ folder in that virtual directory, but it was definitely causing problems. I guess I won’t be using a managed path of ‘bin’ or ‘aspnet_client’ then :)

« Previous Page