This blog entry is more of an "in the realm of the possible" entry vs. concrete info.
We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. Basically, users enter data into a "new customer" custom list and then when they have finished and validated the data entry process, we need to create a site for that customer.
I’m both a big fan of declarative workflow as well as a weak visual studio workflow programmer, so I wanted to meet the requirement using SharePoint Designer.
I plan to write about this in greater detail (and hopefully present to a user group or two in the coming year), but here’s the overall solution:
- Create a custom action that integrates with SPD.
- The custom action allows SPD to invoke a web service and pass it a string of XML.
- Web service locates the row in the custom list and creates a new site as per the data for that new client using a custom site definition.
- Web service then updates the custom list with some information such as a link to the new site.
We considered other approaches, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, there’s a lot of C# code in this solution, but it’s wrapped inside a declarative workflow, so we get some of the benefits of declarative workflow while hooking into the site-creation service.
All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.