Обычно аддоны — это способ распространения скрипта Google Sheets, но я не знаю, подходит ли это для моего случая:
- Пользователь будет вручную заполнять список своих контактов/друзей и отвечать на настраиваемые вопросы о них. Так что им в каком-то смысле определенно понадобится собственная копия.
- Это должно достаточно хорошо масштабироваться. то есть O (пользователи) копии невидимых вкладок на листе не будут работать.
- Пользователь должен уметь переходить от клика по ссылке с минимальными усилиями. то есть диалоговое окно с надписью «Пожалуйста, сделайте свою собственную копию этого листа!» и заставлять их разветвляться не идеально (хотя я думаю, это может сработать).
Идея №1: ручная вилка
Очень не идеально, чтобы заставить пользователя пройти через этот рабочий процесс, и сложно реализуемый. то есть диалоговое окно для копирования и разветвления, конечно, будет присутствовать в copy, поэтому потребуется дополнительная логика, чтобы (каким-то образом) отключить это.
Идея № 2: начальная загрузка + копирование
Следующая идея, которая у меня есть, это два приложения: 1) установщик, которому нужен доступ к их Google Диску, и 2) лист, который он скопирует на свой Google Диск.
Это хорошо. Но мне не нравится, что пользователь должен разрешить неизвестному скрипту произвольный доступ к своему Google Диску (!!). Даже более конкретный вопрос, такой как «добавить файл на ваш диск», выйдет из этой привязки.
Другая проблема заключается в том, что пользователь, увидев лист с примерами, ясно дает понять, что, черт возьми, происходит. Это должно быть так же безопасно, как копирование листа (и быть настолько безопасным), а не как относительная проблема «установки приложения», а тем более с конфиденциальными данными.
Идея № 3: Непонятный аддон
Я не уверен, что аддон, который находится внутри электронной таблицы, может быть обнаружен самостоятельно.
Но оттуда, я полагаю, аддон распаковал бы всю структуру листа из скрипта. Это то, с чем я могу справиться, хотя это все еще кажется неуклюжим. И это может даже потребовать, чтобы пользователь сначала подготовил чистый лист?
Сначала я спросил о вилки отслеживания. Теперь я гораздо более амбициозен в том смысле, что ищу действительно правильный механизм распространения, который не просит пользователей просто вручную разветвлять все.