We’ve had a large number of requests for this sort of functionality, but if you aren’t one of the customers making this request then you may not entirely understand what we are talking about here. What I mean by dynamic forms, is that the SR/IR/CR form changes the fields it shows and the ordering of the fields as you see fit based on the template id of the WorkItem. Let’t look at a few scenarios where this would be useful.
One common scenario is when you have a particular Request Offering in the Service Catalog that serves a very particular purpose, most commonly something like a project request or a new user access request. In either of these scenarios the general information you might be requesting from the user is not going to fit readily into the standard fields for the service request.
With this in mind you are left with a few options. You can extend the service request class to contain additional fields to hold this information and name each field according to the information it will contain, or you can extend the workitem with a generic set of fields to contain the information from both types of request (we consider this best practice), or you can try and fit the information into the default fields. For this article we are going to work with what we consider to be best practice.