SUAI conference automation scripts
Скрипты для автоматизации процессов подготовки и проведения конференций в ГУАП, а также сбора статей по итогам конференций
Конференции, проводимые в ГУАП:
- Международная Студенческая Научная Конференция (МСНК), участники - студенты. См. например http://msnk.guap.ru
- Научная Сессия ГУАП, участники - аспиранты, преподаватели.
- Приказ о проведении: http://fs.guap.ru/docs/2018/pr_guap_2018-005-28_05-139-18.pdf
- Пример заполненной формы представления материалов для программы 72-й МСНК ГУАП: https://docs.google.com/document/d/12QSuZgxSY40YRi2Eu5I5scfobLDzEPoOitMiIH-bsqg/edit?usp=sharing
- Пример заполненного отчета конференции: https://docs.google.com/document/d/1Q7KXTWOZm_qa-4k3IHK5LIQNmQeOW1JXoN9BONUmAyo/edit?usp=sharing
- Пример списка представляемых к публикации докладов: https://docs.google.com/document/d/1CK-jHP1xHWp6BtpnjrxG1qPrrIAlQiPZvgTpo1D6pmU/edit?usp=sharing
- Внутренняя таблица для учета всех этапов организации конференции (доступ по запросу): https://docs.google.com/spreadsheets/d/1zkLdYvq8qjKB4pOM6h8OwDPHahfrH9n8_GOUtySW-p0/edit?usp=sharing
- Подача заявок на участие (студенты ГУАП и др. ВУЗов)
- Формирование программы конференции на основе поданных заявок
- Проведение заседаний в рамках конференции, заслушивание докладов участников
- Формирование отчета о проведенных заседаниях
- Сбор статей (письменных версий докладов) для публикации в сборнике по итогам конференции
- Формирование перечня представляемых к публикации докладов
- Гугл-форма (анкета) "Заявка на участие", все поля кроме телефона обязательны для заполнения:
- e-mail участника
- ФИО докладчика (отдельно фамилия, имя и отчетсво при наличии)
- Название доклада
- ФИО руководителя (фамилия и инициалы)
- Организация, направляющая участника на конференцию (по умолчанию ГУАП, но можно вписать другой ВУЗ)
- Номер группы (только для студентов ГУАП)
- Контактный телефон
- Гугл-форма (анкета) для подачи статьи для публикации
- email автора (должна проводиться верификация электронного адреса)
- ФИО основного автора (отдельно фамилия, имя и отчетсво при его наличии)
- ФИО соавторов, при наличии (полностью фамилия, имя, отчество; если соавторов несколько - через запятую; напр.: "Иванов Иван Иванович, Сидоров Сидр Сидорович")
- Название статьи
- Файл с текстом статьи
- Контактный телефон
- Внутренняя таблица для учета всех этапов организации конференции (см. пример по ссылке выше):
- Фамилия студента
- Имя студента
- Отчество студента
- Группа (для студентов ГУАП) или название ВУЗа (для студентов не из ГУАП)
- Тема доклада (из заявки на участие)
- телефон
- ФИО руководителя
- Дата выступления с докладом
- Рекомендация к опубликованию по итогам заслушивания доклада (логическое значение 1 или 0)
- Наличие распечатки статьи, поданной для публикации, с подписью руководителя (логическое значение 1 или 0)
- Наличие электронной версии статьи, поданной для публикации
- Название статьи, поданной для публикации (может отличаться от темы доклада)
- Соавторы (полное ФИО каждого соавтора, если соавторов несколько - через запятую)
- Дата заполнения гугл-формы "Заявка на участие" (в примере отсутствует)
- Дата заполнения гугл-формы для подачи статьи для публикации (в примере отсутствует)
- Студент заполняет гугл-форму "Заявка на участие"
- С помощью Google Script введенные студентом данные записываются во внутреннюю таблицу
- если студент с таким ФИО и номером группы (или ВУЗом для студентов не из ГУАПа) во внутренней таблице уже есть, то информация об этом студенте перезаписывается (обновляется)
- если студента с таким ФИО и номером группы (или ВУЗом для студентов не из ГУАПа) во внутренней таблице нет, то информация из гугл-формы заносится в конец таблицы
- данные записываются в таблицу автоматически, т.е. скрипт вызывается по нажатию на кнопку "Отправить" в гугл-форме
- дата и время заполнения гугл-формы сохраняются в соответствующем поле во внутренней таблице
- При необходимости во внутреннюю таблицу вручную добавляются данные (записи) о студентах, желающих принять участие в конференции
- По завершении приема заявок от студентов с помощью Google Script (или Python + Google Sheets API) формируется документ - программа конференции, см. пример формы представления материалов для программы кофнеренции выше
- скрипт запускается вручную в нужный момент времени, но неплохо было бы предусмотреть интерфейс для запуска скрипта "в один клик" (например, отдельная гугл-форма, при оправке которой будет запускаться скрипт для генерации программы конференции)
- На кафедре проводятся заседания, заслушиваются доклады и во внутренней таблице вручную заполняются столбцы "Дата выступления с докладом" и "Рекомендация к опубликованию"
- С помощью Google Script (или Python + Google Sheets API) формируется документ - отчет о проведенных заседаниях в рамках конференции, см. пример отчета о проведенных заседаниях выше
- в отчет попадают все студенты из внутренней таблицы, для которых заполнено поле "Дата выступления с докладом"
- если в поле "Рекомендация к опубликованию" во внутренней таблице стоит 1 или "Да" (логическое
true
), то в отчете для этого студента указывается соответствующий текст о рекомендации к опубликованию; если в этом поле пусто или стоит любое другое значение, кроме 1 и "Да", то в отчете для этого студента указывается текст о том, что доклад плохо подготовлен (см. пример) - скрипт запускается вручную в нужный момент времени, но неплохо было бы предусмотреть интерфейс для запуска скрипта "в один клик" (например, добавить в гугл-форму для запуска скрипта-генератора программы конференции выбор, какой именно скрипт запустить - генератор программы или генератор отчета)
- Студенты заполняют гугл-форму для подачи статьи для публикации
- С помощью Google Script введенные студентом данные записываются во внутреннюю таблицу
- если студент с таким ФИО и номером группы (или ВУЗом для студентов не из ГУАПа) во внутренней таблице уже есть, то информация об этом студенте перезаписывается (обновляется)
- если студента с таким ФИО и номером группы (или ВУЗом для студентов не из ГУАПа) во внутренней таблице нет, то информация из гугл-формы в таблицу не заносится, а пользователю выводится предупреждение о необходимости проверить правильность заполнения ФИО и группы/ВУЗа либо связаться с администратором по электронной почте m.polyak@guap.ru
- тема статьи может не совпадать с темой доклада, поэтому тема статьи заносится в отдельное поле в таблице
- в поле "Наличие электронной версии статьи" проставляется значение 1 (число, не строка)
- данные записываются в таблицу автоматически, т.е. скрипт вызывается по нажатию на кнопку "Отправить" в гугл-форме
- дата и время заполнения гугл-формы сохраняются в соответствующем поле во внутренней таблице
- С помощью Google Script (или Python + Google Sheets API) формируется документ - список представляемых к публикации статей, см. пример списка представляемых к публикации докладов выше
- в список попадают все студенты из внутренней таблицы, для которых оба поля "Наличие электронной версии статьи" и "Наличие распечатки статьи" содержат логическое значение
true
(может обозначаться числом 1 или строкой "Да" в ячейке таблицы) - если хотя бы в одном из полей "Наличие электронной версии статьи" или "Наличие распечатки статьи" нет логического значения
true
, то этот студент и его работа в список представляемых к публикации докладов не вносится - скрипт запускается вручную в нужный момент времени, но неплохо было бы предусмотреть интерфейс для запуска скрипта "в один клик" (например, добавить в гугл-форму для запуска скрипта-генератора программы конференции выбор, какой именно скрипт запустить - генератор программы конференции, генератор отчета или генератор списка представляемых к публикации статей)
- в список попадают все студенты из внутренней таблицы, для которых оба поля "Наличие электронной версии статьи" и "Наличие распечатки статьи" содержат логическое значение
- 1. Изучить существующие бесплатные решения для организации конференций, составить перечень достоинств и недостатков для каждого
- 2. Изучить существующие бесплатные решения для сбора (подачи) статей для публикации, составить перечень достоинств и недостатков для каждого
- 3. Написать скрипт на Google Script для внесения данных во внутреннюю гугл-таблицу при заполнении формы "Заявка на участие" (пункт 2 в рабочем процессе)
- 4. Написать скрипт на Google Script для формирования программы конференции в виде документа в Google Docs (пункт 4 в рабочем процессе)
- 5. Написать скрипт на Python 3.6 (или выше) с использованием Google Sheets API для формирования программы конференции в виде документа MS Word (файл в формате docx) (пункт 4 в рабочем процессе)
- Учесть ограничение бесплатной версии Google Sheets API на количество запросов в единицу времени, сделав в скрипте соответствующие задержки
- Скрипт запускается вручную из командной строки - 6. Написать скрипт на Google Script для формирования отчета о заседаниях в виде документа в Google Docs (пункт 6 в рабочем процессе)
- 7. Написать скрипт на Python 3.6 (или выше) с использованием Google Sheets API для формирования отчета о заседаниях в виде документа MS Word (файл в формате docx) (пункт 6 в рабочем процессе)
- Учесть ограничение бесплатной версии Google Sheets API на количество запросов в единицу времени, сделав в скрипте соответствующие задержки
- Скрипт запускается вручную из командной строки - 8. Написать скрипт на Google Script для внесения данных во внутреннюю гугл-таблицу при заполнении формы для подачи статьи для публикации (пункт 8 в рабочем процессе)
- 9. Написать скрипт на Google Script для формирования списка представляемых к публикации докладов (статей) в виде документа в Google Docs (пункт 9 в рабочем процессе)
- 10. Написать скрипт на Python 3.6 (или выше) с использованием Google Sheets API для формирования списка представляемых к публикации докладов в виде документа MS Word (файл в формате docx) (пункт 9 в рабочем процессе)
- Учесть ограничение бесплатной версии Google Sheets API на количество запросов в единицу времени, сделав в скрипте соответствующие задержки
- Скрипт запускается вручную из командной строки
- Как запустить скрипт для добавления данных в гугл-таблицу из гугл-формы: https://stackoverflow.com/questions/46902126/triggering-script-in-google-sheets-after-forms-submit