Создайте форму Google (или аналогичную), которая проверяет идентификатор студента перед отправкой

Контекст: я преподаю в университете, где в основном англоговорящие преподаватели, говорящие на одном языке, а также студенты с русскими и казахскими именами.

Я хочу создать простую форму (например, https://docs.google.com/forms/d/1zo0vSfrH-xIosENy1wVjOd_VvPL5LL6UX6g4VqIPFn0/viewform), который будет отслеживать отчеты о плагиате в Google Таблице (например, https://docs.google.com/spreadsheets/d/1h2lcv4pppvc/d/1h2xvcpvcvc8/d/1h2xv4vcqq/edit?usp=sharing)

Если англоговорящие учителя будут вводить русские и казахские имена, это может привести к ошибкам. В университете слишком много студентов, чтобы выбрать их из раскрывающегося меню, и было бы слишком много учителей и курсов, чтобы создавать отдельные формы Google для всех из них или использовать варианты страниц ветвления Google (для этого потребовалось бы создать сотни страниц). Поэтому я хотел бы, чтобы инструкторы могли ввести номер студента и свой собственный номер инструктора, а затем иметь какой-нибудь способ проверить, что они ввели эту информацию в правильно (так что у нас нет неправильных учеников, которые наказываются, или штрафов, которые вообще не назначаются ни одному ученику).

Вопросы: 1. Есть ли какой-либо способ (с помощью сценариев, надстройки и т. Д.) Заставить Google Forms взять идентификатор студента со страницы 1, затем найти имя студента на вкладке «Информация о студенте» в Google Sheet и вставить его в текстовое поле на второй странице формы Google, чтобы преподаватель мог проверить, что это правильный ученик? (Или любой другой метод, который может придумать кто угодно, который позволит пользователю Google Form проверить, что он ввел правильные данные, или поможет управлять огромным количеством вариантов выбора студентов в университете с несколькими тысячами студентов.)

  1. Если (как я боюсь), нет способа сделать это с помощью Google Forms, может ли кто-нибудь предложить платформу для создания форм, которая будет делать что-то подобное, и которая будет интегрирована с Google Sheets или чем-то еще? похожий?

Любая помощь будет оценена по достоинству. Заранее спасибо.


person Beau Branson    schedule 29.06.2016    source источник
comment
В Google Forms нет возможности выполнять проверку данных на основе данных вне формы. Сценарий может проверить данные после отправки формы и отправить электронное письмо в случае ошибки.   -  person Alan Wells    schedule 29.06.2016


Ответы (1)


Если вы готовы поступить иначе, я бы пошел по этому пути ...

1) Используйте поле для коротких ответов и разрешите редактирование ответов.
2) Поместите триггер onSubmit () в лист. При поступлении заявки отправьте дополнительное электронное письмо человеку с введенным идентификатором и именем студента, которому он соответствует. Сообщите им, что никаких действий не требуется, если это правильно. Если это неверно, они должны отредактировать свой ответ с помощью ссылки редактирования ответа, которую вы можете получить с помощью getEditResponseUrl (). Я бы назвал это готовым прямо здесь и беспокоился только о дополнительных функциях, если они необходимы. Это не так идеально, как проверка в то время, но будет делать то же самое для людей, которые не могут правильно хранить свои идентификаторы. :-)
3) Но ... если у вас есть люди, которые продолжают путаться и не исправляют свои проблемы или что-то еще, добавьте ссылку в электронное письмо, чтобы подтвердить, что запись верна. Если это не так, то выполняется еженедельная / ежедневная задача, которая удаляет все записи, которые не были подтверждены и старше Y дней.
4) В качестве альтернативы, вместо проверки того, что они вводят, дайте им выпадающие списки, составленные комбинации студенческого билета и имени. У меня было бы несколько списков, в зависимости от количества активных студентов. Тем не менее, один или несколько, создайте сценарий на листе, который обновляет раскрывающиеся списки в форме либо при редактировании, либо путем ручного запуска сценария, либо из пункта меню, либо путем прикрепления его к значку на странице, где идентификаторы / имена находятся в . Они должны увидеть 12345 - Джо Смит в качестве варианта и могут найти правильный, если это имя ученика не соответствует идентификатору, который, по их мнению, им следует использовать.

У меня есть сценарий типа №4, который я использую для заполнения формы обновленными продуктами при каждом изменении списка. Я привязал его к большой красной кнопке JPG, чтобы помочь конечным пользователям не забывать запускать его, когда они что-то меняют, так как пункт меню не работал и запускался каждый раз, когда редактировалось слишком много.

Если список студентов / идентификаторов также включает учителей / классы / и т. д., вы даже можете создавать собственные формы для каждого сотрудника, который использует форму, которая заполняет только их студентов. Не уверен, сколько у вас сотрудников, так что это может быть непрактично. Хотя, опять же, если у вас есть сценарий и данные точны, обновления выполняются одним щелчком мыши.

person Rodger    schedule 29.06.2016
comment
Как подключить скрипт к кнопке «Далее»? - person Alan Wells; 29.06.2016
comment
Вам нужно будет начинать новую цепочку каждый раз, когда вы сталкиваетесь с проблемой, чтобы заголовок соответствовал содержанию вопроса и ответа. Вы можете начать с поиска в Google скриптов форм Google и работать с тем, что найдете. - person Rodger; 29.06.2016
comment
Вам нужно будет установить триггеры, чтобы можно было использовать эти developers.google.com/apps-script/guides/triggers/events#edit На первой странице, если у вас есть идентификатор (студент) и идентификатор (профессор), вы можете установить его так, чтобы при их редактировании / изменении вы запустите сценарий, который проверяет эту запись. Таким образом, он на самом деле не работает, когда они нажимают «Далее», а скорее работает, когда они заканчивают этот пробел. Это также позволит вам сделать больше, чем просто два идентификатора на первой странице, кстати. Удачи! - person Rodger; 29.06.2016
comment
Однако имейте в виду, что SO - это не сервис кодирования. Поэтому, когда вы копаетесь в битах кода, вы должны опубликовать код, который вы пробовали. Что происходит, чего не должно / чего не должно происходить, что должно / сообщения об ошибках и строка, в которой они произошли, и все, что вы пытались решить. Все рады помочь другим научиться ловить рыбу, но обычно мы не просто раздаем рыбу. :-) - person Rodger; 29.06.2016
comment
Нет встроенного способа назначить скрипт кнопке «Далее». Есть разница между тем, что возможно, и тем, что практично. - person Alan Wells; 29.06.2016
comment
Триггер onEdit (), на который ссылается @Rodger, недоступен для форм. Чтобы решить эту конкретную проблему в нашем учреждении, я использовал автозаполнение JQuery в настраиваемой форме, размещенной на сайтах Google, обслуживаемых с помощью HTMLService. - person Sam Scholefield; 30.06.2016
comment
да, я вытащил это. Вы можете сделать это при отправке, но не при редактировании. :( - person Rodger; 30.06.2016
comment
Спасибо @samScholefield, я думаю, что эта проблема (отсутствие функции onEdit () в формах) была причиной того, что мои попытки испортились. У меня нет на это бюджета, поэтому я не хочу использовать сайты Google. У университета есть собственная интранет, но ИТ-отдел ненадежен, и мы не хотим давать им контроль над этим. Я думаю, что простым обходным решением было бы дать каждому инструктору отдельную вкладку, которую он может редактировать в листе Google, и просто использовать ВПР в одной ячейке, чтобы отображать имя на основе идентификатора, который они поместили в другую ячейку. В противном случае я не знаю, как бы я это сделал в (бесплатной) форме. :( - person Beau Branson; 02.07.2016
comment
Я отредактировал ответ. Если вы открыты для немного другого процесса, это может сработать для вас немного лучше, чем с vlookup на листе. - person Rodger; 02.07.2016
comment
@BeauBranson Я предположил, потому что вы использовали Google и упомянули студентов, что вы используете пакет Google Apps для образования (GAFE), который является полностью бесплатным для образовательных учреждений - возможно, вы захотите изучить. - person Sam Scholefield; 04.07.2016
comment
@Beau Branson Если вы все еще работаете над этим, свяжитесь со мной по [email protected], и я поделюсь своими разработками. Спасибо, Эд - person Ed Nelson; 26.07.2016
comment
Судя по тому, чем поделился со мной @Ed Nelson, похоже, что Formfuse позволяет мне достичь того, что я искал: youtube.com/watch?v=pXUsW6VRQak - person Beau Branson; 31.07.2016