views:

687

answers:

1

Hello,

I want to create many checklist templates and let users fill those in. For example,

Task      |  done?   | Notes

Do Task 1 |  yes/no  | bal

Do Taks 2 |  yes/no  | bla

Do task 3 |  yes/no  | bala

Think about server checklist. It can be performed for different clients by different employees, so I want to have that information as well.

Any ideas on how to do it in Sharepoint? Preferably not using Sharepoing Designer or InfoPath. The best solution would be purely web-based.

+1  A: 

This kinda looks like a combination of a questionnaire and a task list. I think using a questionnaire list might be able to provide this funtionality, at least the yes no -> continue to next task bit, the notes i'm not so sure about. And a questionnaire stores information about the user who filled it in as well.

Another option is working with workflows, fired each time a user fills in a yes/no to take him to the next question, then goes to sleep until the user completes that task. This is SharePoint designer based though. (Or code based, if you go for creating a custom workflow in visual studio.)

The problem with questionnaire lists is that it would have to filled in completely in one time, there is no "save and continue later" functionality in a questionnaire list.

Another big issue here is security. You don't want employees of client A see what those of client B are doing. (A questionnaire list has the option of disallowing viewing of any answers but your own I believe).

Conclusion:

The security issue combined with the fact that a questionnaire will only get you so far (especially the fact it needs to be completed in one time) brings me to the complusion this is going to take some custom development. i.e.:

  • a custom page on which a user can fill in a checklist
  • a list to hold the different checklists
  • a list that holds the questions with a lookup to the checklist definition list
  • an answer list, where the answer plus notes are stored, with a lookup the the question list

the answer list will need to be able to set the security on the item level upon item creation (i.e. an itemeventreceiver), giving the person who answered nothing but read permissions to his / her own items only.

new answers will need to be added to the answer list using custom code that uses RunWithElevated priviliges, because the list itself will be full accessible to admins only.

The checklist entry page will need to check how far the user filled in a checklist. The checklist could be determined by:

  • a dropdown showing all checklists,
  • a link on the (support) homepage, by including the uniqueid of the checklist item in the querystring. Since i proposed to store checklists in a list, you can use the checklist listitem's uniqueid, which is a guid, so any tampering with the querystring is very unlikely to get them to another checklist.
Colin
thanks for this great comment, I will test some of your options on monday....but so far it looks like it will easier to create a custom app and then embed(drop it into layouts folder of the site) it into sharepoint. The only thing about this approach is that it is impossbile to debug
Chicago
Debugging is still very much possible, just attach visual studio to the w3wp.exe process of your sharepoint app. Any dll's used (i.e. that are in the GAC / bin folder by your app should be debuggable.
Colin
decided to go with a custom app....however options above all valid...another idea I have is to embed custom app into SharePoint via web particle or _layouts folder
Chicago