How to create custom checklists in Sharepoint 2007? - sharepoint-2007

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.

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 functionality, 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.

Related

I want to check information contained in a Google sheet, as the respondent is completing a form

We are using forms to allow people (staff) to book equipment out of a store, self service. We record who took what, and when they book it back in. They are asked if the tool condition is good, and if not, are taken to another part of the form to select a fault category. I record this information in the linked sheet.
so my question is can I read the information in the "fault" column of the linked sheet for that item ID, and generate a message to the form user such as "This item has been reported as faulty - please do not use it!" etc etc
If I could script the form so that it scans the linked sheet in the relevant column / row for the item they are trying to scan out, and then warn them that is has an entry in the "Fault" column, that would be perfect. Ideally as they scan the barcode of the item they are taking, before submitting the form, but after submit would be fine too.
I have searched widely and not yet found a solution
Since the only triggers which are available for Forms are the onOpen, onInstall and onFormSubmit, this cannot be done directly.
Possible solutions
1. You can develop your own form
This can be done by using Apps Script & HTML & JavaScript and creating your own Sheets add-on which will interract with the sheet you have in order to check the status of the tool.
2. You can programmatically update either the question name or the form description in order to include the accepted values for the question regarding the tools.
This can be done by creating a script attached to the sheet and using the onEdit(). So whenever a change is made in the tools section for example, this new data can be gathered as a string and update the fields to contain the updated values for the tools.
Reference
Apps Script Simple Triggers;
Extending G Suite with Add-ons.

Google Sheets - Make a tab change not visible to other users

I am trying to work on a google sheet where one Tab will be an entry form and another will be a database. I need the form to be used by multiple users. Currently the Form tab displays all changes to other users so multiple users cannot use it at the same time.
Is there a way to allow 1 user to see their own entries and a 2nd user to see different entries. When they press my button it should record their individual entries on the database tab.
I cannot use Google Forms for this project due to the complexity of the form and the need for cascading drop-down lists and dynamically available information on the form.
Thanks
After researching extensively, the answer to my question is that there does not seem to be a good way of doing this.
My final approach was to create a tab for each user with the calculations, cascading dropdowns, and buttons/scripts that affected their specific sheet and recorded data on the database tab based on their specific sheet.
Hopefully, this helps the next guy who is searching for this answer. If anyone has found a way to solve this, let me know so I can test and give you credit for solving what I could not.

How to handle a change in acceptance criteria for a user story? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm interested to find out how people deal with changes to acceptance criteria of user stories on a process level.
Example:
You write a user story with acceptance criteria for feature XYZ. That
user story gets implemented in a sprint of release 1.0. Some time
later for the 1.2 release the product owner wants the acceptance
criteria to be different (e.g. 1 minute timeout instead of 30
seconds).
How do you handle this change? How does it change the status of your original user story? We're using JIRA/JIRA Agile and I'd be specifically interested in hearing if you e.g. re-open your closed user stories and work on them in a new Sprint.
We're using Confluence to write our product specifications and the user stories in the PS are loaded directly from JIRA via a query. If one was to change acceptance criteria of the original user story and reopen it - how would one ensure that the product specification for version 1.0 wouldn't change?
EDIT:
I need to add some more information about our process: every user story has as well as the acceptance criteria some steps which can be used to test these criteria. These steps are used to generate a verification/test protocol which is used to check that all product specifications have been implemented properly.
Now this means a change to the user story would directly affect even already reviewed and signed off product specifications and test protocols since data is loaded via the jira query. I guess that this might not be an adequate way to pull the content into Confluence, something more permanent seems advisable.
Even if we weren't using these direct/dynamic queries, the question is still valid: how does a change in requirements/acceptance criteria affect the user story?
I would consider this to be a new user story, like "As a user, I would like the timeout increased to 1 minute for reasons best known to myself".
So after the product has been released the Product Owner comes back to you and says that they would like:
1 minute timeout instead of 30 seconds
This could be deemed an issue; It's not a bug as the timeout facility works fine, it's just that they have an issue with the period. Hence you could create an issue, associate it with the original story, and then break it up into tasks to implement this change.
However:
how would one ensure that the product specification for version 1.0 wouldn't change?
If the original product specification stated a timeout of 30 seconds, but you have now changed it to one minute, then there is no getting away from the fact that the specification has been changed. Creating an issue and linking it to the original story will mean that you won't need to edit the original story though.
Thank you everyone for your answers. We have since found a way suitable for us to handle changes to user stories.
What we ended up with are the following principles/steps:
Once a software version has been released all user stories which are part of the product specification for that release must not be changed anymore
If the acceptance criteria of the user story should be changed after the release, a change request is filed and linked against the story
The change request is then processed - in the course of it the affected user story is cloned, adapted to the changed acceptance criteria and then added to the product specification for the next release while the old user story is removed
The new user story can now be implemented during a sprint
This way we have a product specification for v1.0 which contains the unchanged user story and a product specification for v2.0 which contains the updated user story.
The important fact is that years later you could pick up the product specification for any version and test it against the acceptance criteria and still get a PASS. This wouldn't be the case if the original user story had been modified.
I hope I managed to explain this in sufficient clarity. Please let me know if I need to elaborate on any parts of the solution.
I would say that your original story remains good. Given that there is value in the change of timeout, you have a clear need to change the acceptance criteria for your original story. This is especially true where your tests are automated. I would create a new story:
As a
I Want to change the timeout value for fraggle thrunge bracket manipulation
So That
Writing this new story will focus the mind wonderfully on the value that this change will bring about. If it adds no value, then don't do it.
You can not change the acceptance criteria of the user story once it is done(yes, refer to definition of done).
If the product owner needs to change the user story acceptance criteria, he/she has to create new feature/user story with "Acceptance criteria".
If the change has come in the middle of the sprint and existing Acceptance Criteria will not make any sense to project, remove the user story from the sprint backlog and add this to new(change should not be accepted in the middle of the sprint) sprint with new/modified acceptance criteria.

Populating dropdownlists for mult-tenant applications

I am building an mvc 3 application that will be multi-tenant, which means it will use the same basic data structure, but provide different data depending on the domain name used to access it.
A problem I am trying to solve is this. How best do I populate a number of dropdown lists with selection choices based on the site being rendered. To add another wrinkle, I will need to localize the strings as well.
An obvious choice is to simply create a table with columns for website id and language id, plus field id and string value. This seems ok, but also seems to ignore possible mechanisms that are already in place for localization. I feel like i'm recreating the wheel here.
As an example, site 1 might have a dropdownlist for Favorite Activities, and have ranges items that are geared toward musical interests. Site 2 might have the same dropdown, but have items geared for sports intersts.
So my question is, how would you go about solving this problem? Also, in a similar vein... If you have selection lists, say State codes, cities, etc.. would you tend to create seperate tables to populate this data (states table, cities table, etc..) or would you put all this information in a common table and have an ID to indicate which dropdown it was to be used for? The former seems more normalized, but the latter seems more efficient (less code to write).
Thoughts about Common Lookup Tables. This guy is definitely against.
http://www.projectdmx.com/dbdesign/lookup.aspx
I have used it and believe that I have saved some time, or at least some keystrokes. Might be sorry later on.

ASP MVC Creating Form Rows Dynamically

I haven't even attempted this yet and am creating this question for advice really.
I have a strongly typed page which receives a form model composed of several components. It is to create a mitigating circumstance (MC) for a student at a university for my final year project. A MC can be composed of the initial problem, assessment extensions, and I use a multi select box to allow the user to select staff retrieved from the database which are able to view the MC once created.
The thing is I feel that a student could be granted many assignment extensions for one problem. I am wander if it is possible to include a button/image on the form which when clicked will create a new assessment extension object, and duplicate the form components to set the values for the object? This would all need to occur without any page refreshes.
Any advice, or links to good tutorials would be appreciated. I have so far been unable to find any suitable examples.
Thanks,
Jon
There are a number of ways to do this, but the fastest is to create a javascript handler which creates the form controls without any sort of server request, all you need to do is keep track of how many items are in your list so you can name the form controls correctly.
Start by making a button that when you click on it creates form controls. Once you get that, work on the naming.

Resources