I'm working on a project where I need to create some custom task forms for a workflow. I've been looking into a few different ways of doing it and I ended up deciding on using custom aspx pages to do the job. I figured I should share how to do it although it's not all that hard.
But hang on... Why aspx pages? Why not InfoPath? You'd think using InfoPath would be a no-brainer, considering creating custom forms is it's entire purpose in life.
We recently put a rather complex SharePoint workflow into production. Our workflow is creates a lot of tasks, and each time a task is created a custom email is sent to that user with a link to the task. We create the body of this email ourselves, including the link to the task. The user clicks on the link and the task opens up in Internet Explorer and they can do whatever they need to do. We always want the forms to open in the browser and to begin with everything was peachy.
However after a few pilot users had been upgraded to Office 2010, which included the InfoPath client, it came to our attention that when they clicked on the link in the email it would open it up in the InfoPath client rather than opening it up in the browser. We would want the experience to be consistent so obviously this was not desirable.