Everything starts with a simple business requirement: the customer wants a simple ticketing solution. This ticketing solution ought to have the following features:
- The information kept should be: Title, Description, Comments, Status of the Issue, Due Date, possibility to attach files.
- The Due Date has to be at least one week from the creation date of the ticket unless the user is not member in a special team which is allowed to brake this rule.
- The information displayed into the New, Display, Edit has to be different based on the user role. For example when adding a new ticket the Status field should always be New.
- The is an attached approval workflow mainly based on the status of the ticket: New – Assigned – Working – Waiting for Approval – Approved – Closed.
The first step was to create a new site content type which inherits the built-in Issue content type. I created it at the Site Collection level and this way I got the possibility to use it in every sub-site of the site collection.
The second step was to create the Ticketing list based on the Issue list template and enable content types on it (from Advanced settings). Then I removed the default content type and added my content type as the default content type for this list.
The question was how to implement further. If for the process it was clear that I was going to use a SharePoint Designer Workflow, for the data views (New, Display, Edit) there was a big question: which of the two available options to choose: InfoPath List Forms or SharePoint Default List Forms.