How to copy edited google forms entries to another sheet - Keeping original response and edited - forms

We are in the process of setting up a test for staff using google forms. It works great and I have enabled users to be able to edit their responses.
What we need the form to do is keep the original submitted data too so we can see how many questions the user got wrong and how many they got correct on a resubmit. Currently resubmitting the data overwrites the original. There are a lot of questions in the form so the user re submitting another would not work. Highlighting the ones they got incorrect and giving them a second chance is what I am after.
My thoughts were to copy the data to another sheet everytime either a new entry was made or when a form was edited.
I have not done much work with Google Forms or Sheets so I am starting from scratch.
Thanks,
Luke

Related

editing a google form response and data lost

I have created a standard google form and added a record. i have set options to edit the response . one of the questions i have added allows me to jump straight to submit or continue editing .
However When i am editing a response and i choose the my option to jump to submit and then press submit , i find the information is lost when i go back to edit the response.
However if i scroll through all my answers and submit at the end, then the data is saved.
Is there an issue with google forms ? i am not using any scripts - it is standard editing and form options.
This appears to be an issue with Google Forms when editing responses and changing the "go to" path from the initial submission. I've opened a question with a Google "Community Specialist" in the Google Help forums but so far she has not identified how to avoid this problem nor reported escalating it to get it fixed.
For those curious what to avoid, here is the scenario that causes a form to lose data:
Create a form with multiple Go To paths
Fill out a response using one Go To path of questions
Submit response
Click Edit Response
Choose an option that takes you down a different Go To path of questions
Submit the edited response
Click Edit Response
Going back to the original option Go To path, the earlier submitted data will now be gone.
Here is a form I've created that demonstrates the issue.
Here is the thread that as of this writing the Google Community Specialist has not yet solved. Perhaps if more people were to comment that it really is an issue she will pay more attention to it and bring it to the attention of who might be able to fix it.

Create a Google Form (or similar) that verifies Student ID before submission

Context:
I teach at a university with mostly monolingual, English-speaking teachers, and students with mostly Russian and Kazakh names.
I want to create a simple form (like this https://docs.google.com/forms/d/1zo0vSfrH-xIosENy1wVjOd_VvPL5LL6UX6g4VqIPFn0/viewform ) that would keep track of reports of plagiarism on a Google Sheet (like this https://docs.google.com/spreadsheets/d/1h2nAvCq31xumi4SvjMvWWp8RR7ppJ_NtLCiuvrLqVkc/edit?usp=sharing )
Having the English speaking teachers type in Russian and Kazakh names would likely lead to mistakes. There are too many students at the university to choose them from a drop-down menu, and would be too many teachers and courses to create separate Google Forms for all of them, or to use Google's branching page choices (it would require creating hundreds of pages). So I would like instructors to be able to type in the Student ID # and their own Instructor ID #, and then have some way to verify that they have typed that information in correctly (so we don't have the wrong students being penalized, or penalties that don't get assigned to any student at all).
Questions:
1. Is there any possible way (via scripting, an add-on, etc.) to have Google Forms take the Student ID from Page 1, then look up the student's name on the Student Info tab of the Google Sheet and insert it into the text field on the second page of the Google form, so the instructor can verify it's the correct student? (Or any other technique anyone can think of that would allow a Google Form user to verify that they had entered the correct data, or help manage the massive number of choices of students in a university of several thousand students.)
If (as I'm afraid), there is no way to do it with Google Forms, can anyone suggest a Form creation platform that would do something like this, and that would integrate with Google Sheets or something similar?
Any help would be appreciated. Thanks in advance.
If you are open to doing it differently I'd go this route...
1) Use a short answer box and allow edits to answers.
2) Put the onSubmit() trigger into the sheet. When a submission comes in, send a follow up email to the person with the ID that they typed and the student name that it corresponds to. Let them know that no action is required if that is correct. If it isn't correct, they should edit their response with the edit response link which you can get using getEditResponseUrl(). I'd call it done right here and only worry about additional features if they are needed. It isn't as ideal as verifying at the time but would get the same thing done for people that can't keep their IDs straight. :-)
3) But... if you have people that keep messing up and they don't fix their issues or whatever, add a link in the email to confirm that the entry is accurate. If it isn't then a weekly/daily task runs that deletes any entries that haven't been confirmed and are older than Y days.
4) Alternately, instead of verifying what they type, give them drop down lists made up of a combination of student ID and name. I'd have multiple lists, depending on the number of active students. One or many though, make a script in the sheet that updates the dropdowns in the form either on edit or by manually running the script, either from a menu item or by attaching it to an icon on the page where the IDs/names are at. They should see 12345 - Joe Smith as the option and can find the right one if that student name doesn't match the ID they thought they should use.
I have a script like #4 that I use to populate a form with updated products whenever the list changes. I tied it to a big red button JPG to help the end users remember to run it when they change something, as a menu option didn't work and running every time there was an edit was too much.
If you list of students/IDs also includes the teachers/classes/etc you could even do custom forms for each staff member that uses the form that only populates their students. Not sure how many staff you have so that might not be practical. Though again, once you have the script and the data is accurate, updates are a single click.

Export data from one Google sheet to another, but allow for editing without re-importing rows

I'm just going to start this by saying this is my first ever post here, so please excuse me if I've missed something!
I'm working on a project in Google Sheets that allows users to submit links that need to be looked over by an admin, upon which they're marked and copied to a new sheet for a second round of looking over by a different admin. At the moment users submit the link via a form which leads into a sheet (Sheet1). Once it's looked at by an admin they tag it "Accepted" or "Commented". If it's accepted it's moved into "Sheet2", where a different admin will need to publish the answer. If it's commented on then edits are needed and it's moved to "Sheet3", and again it's passed to a new admin.
Ideally once the process is complete I'd like the admins to be able to remove rows from Sheet2 and Sheet3 (without removing them from Sheet1) so as to cut down on the size, as there's often hundreds of entries a week and creating a new setup every few months to prevent lag is a pain. The problem is deleting them without them being re-imported or breaking the import range. I can't seem to find a solution that will import each row once (and only once) from Sheet1, rather than constantly updating as new rows come in to include the old deleted ones again along with the new ones.
If it helps this is the formula I'm using to pull rows into Sheet2 right now (import link removed for security, of course) =QUERY(IMPORTRANGE("sheet link" , "Sheet1!A2:F"),"SELECT * WHERE Col6='Accepted'")
This works fine until you try to delete a row, wherein it's immediate re-added.

How to track checkboxes with Django and endless pagination?

I am a Django noob and have a situation that goes beyond the basic documentation, etc.
I am updating an ordering webpage that has a form structured as follows:
several text boxes, etc to gather general info (name, date, etc)
two separate tables for selecting (via checkbox) catalogs that are generated/managed using endless_pagination. Each table can have thousands of records, hence the endless_pagination. The first column in each table is a checkbox with value = catalog.id.
a textbox where the user can manually enter catalog IDs
a submit button
I am not sure how to keep track of what a user has selected in the two paginated tables since the checked boxes are lost when choosing a different page. Also, when the user flips back and forth between the pages, the previoulsy checked catalogs will need to be re-checked(since the checked state is not maintained). I am also not sure which tool(s) to use to deal with this.
My thought is to use JavaScript (with which I have minimal experience) to update a list of catalog IDs whenever a checkbox is checked/unchecked and:
- and attach that list to the form or
- update a variable in the form or
- send as a variable separate from the form, whichever is possible/makes more sense.
I'm hoping that maintaining a list of catalog IDs is possible because the next iteration of this form will likely include some sort of filtering so I'm trying to devise a solution that will not have to be reworked later.
I have reviewed a lot of posts but I believe the closest solutions are rendered useless because of the endless_pagination.
Let me know if further clarification is required. Thanks in advance for any suggestions.
UPDATE
I tried using JavaScript to store the catalog IDs in an array when a checkbox is checked. This does not work when a user selects another page in the pagination. The array of checked catalog IDs is lost when the page 'reloads'.
I'm running into this problem right now as well. I'm handling this by writing the checked items to localStorage so they carry across to page 2, 3, etc.. as well as show up as already checked when you go back to page 1. Then every time the page loads, either find and check the existing checkbox, or create a hidden input with the appropriate name and value and append it to the main form.
var selected_items = []
function add_item_to_checkbox(item) {
localStorage.setItem('selected_items', JSON.stringify(selected_items));
checkbox.on("click", add_item_to_checkbox);
bahh... Just look at my jsfiddle it's easier to read and yeah. I don't have to type JS into a textarea on stackoverflow.
Here is my javascript minus a few things that are specific to my code. I'm sure it could be improved upon but it works really well for my application.

How to pre-populate custom field in signup form for secure zone in Adobe Business Catalyst?

I have created a signup form for secure zone in Business Catalyst. I want to give user access to that form in order to update the fields. I have created the page and its working only problem is there is no way to pre-populate custom fields in the form. I talked to their support and research a lot but all in vain. This is very basic thing BC missing. Is there a hack for it or some alternatives?
Just adding for anyone finding this that you can also populate fields that have been created and extended in the crm if they're stored against the customer record.
{module_customerfield,crmextformID,FieldID}
eg
{module_customerfield,7470,82256}
More info in the forums.
Good News Now Business Catalyst supports this feature for more information read:
Allowing Customers to view and update CRM details
I have had this same issue and hopefully there will be someway they can fix this in the future. What I did for the time being is I used other tags that I was not using. IE module_workcity was not and won't be used by me so I then put that in a field that I needed the custom tag for. Here is a screen shot of what I am referring to. - http://screencast.com/t/b3pvuOcTi one thing to note here the screen name is different than username for this site.
Note: When the user signs up I have the person filling out a field for the "workcity" and just change the labeling.
Not sure if this is an option for you, and it can take some work but might help.
Hope this helps. - Another note BC related question you will get quicker answers on the forums there - http://businesscatalyst.com/support/forums