Jednym ze sposobów, w jaki nauczyciele mogą dodawać do Classroom treści pochodzące od innych firm, jest wklejenie linku jako załącznik z linkiem na stronie tworzenia projektu. Aby poszerzyć wiedzę nauczycieli, możesz teraz skonfigurować dodatek, aby umożliwić nauczycielom uaktualnianie załącznika linku do załącznika dodatku.
Przegląd
Jeśli skonfigurujesz dodatek z tą funkcją, nauczyciele zostaną poproszeni o uaktualnienie linku do załącznika dodatku, gdy wkleją załącznik z linkiem na stronie tworzenia projektu. Nauczyciele zobaczą prośbę o zalogowanie się tylko wtedy, gdy mają już zainstalowany dodatek.
Gdy nauczyciel wyrazi zgodę na uaktualnienie linku do załącznika dodatku, uruchamiany jest element iframe Uaktualnij link z następującymi parametrami zapytania:
courseId
itemId
itemType
addOnToken
urlToUpgrade
login_hint
(tylko jeśli użytkownik już autoryzował Twoją aplikację)
Pierwsze 4 parametry zapytania są odzwierciedleniem parametrów zapytania wprowadzonych w elemencie iframe wykrywania załączników. Parametr zapytania urlToUpgrade
jest nowy i może Ci pomóc ocenić, jak należy utworzyć załącznik dodatku. Następnie możesz użyć innych parametrów zapytania, aby sprawdzić, czy użytkownik jest zalogowany, i wywołać metodę CreateAddOnAttachment
courseWork
, courseWorkMaterials
lub announcements
na podstawie wartości itemType
. W elemencie iframe możesz wyświetlić ekran wczytywania, aby wskazać nauczycielowi, że właśnie tworzony jest załącznik dodatku.
Po utworzeniu załącznika dodatku element iframe zostanie zamknięty, a nauczyciel może go wyświetlić w projekcie w zwykły sposób.
Szczegóły implementacji technicznej
W tej sekcji znajdziesz istotne szczegóły techniczne tej funkcji.
Odczytywanie parametru zapytania urlToUpgrade
Parametr zapytania urlToUpgrade
jest zakodowany w identyfikatorze URI, gdy jest przekazywany w elemencie iframe uaktualniania linku. Aby uzyskać adres URL w pierwotnej postaci, musisz go zdekodować. Jeśli np. używasz JavaScriptu, możesz to zrobić za pomocą funkcji decodeURIComponent()
.
Zamknij element iframe „Uaktualnienie linku”
Aby zapewnić optymalną wygodę korzystania z tej funkcji, po utworzeniu załącznika dodatku wyślij postMessage
. Spowoduje to zamknięcie elementu iframe. Więcej informacji znajdziesz na stronie z informacjami o implementacji iframe.
Szczegóły konfiguracji
Te konfiguracje są wymagane do zintegrowania tej funkcji z dodatkiem:
URL elementu iframe uaktualnienia linku: to adres URL otwierany w elemencie iframe, gdy nauczyciel zgodzi się na uaktualnienie.
Wzorce adresów URL, które Classroom powinna wykryć i próbować uaktualnić: wzorce adresów URL mogą składać się z hosta i wielu prefiksów ścieżek.
- Możesz podać wiele wzorców adresów URL.
- Jeśli nie podasz żadnych prefiksów ścieżek, każdy adres URL pasujący do hosta będzie można uaktualnić.
- Uaktualniać można tylko adresy URL ze schematem
https
. - Wzorce adresów URL nie mogą zawierać
localhost
. - Prefiksy ścieżki nie mogą zawierać parametrów zapytania ani fragmentów adresów URL.
- Prefiksy ścieżki mogą obecnie obsługiwać symbole wieloznaczne, ale hosty nie mogą:
-
example.com
jest prawidłowym hostem, a/foo
i/bar/*/baz
to prawidłowe prefiksy ścieżek. -
example.*.host.com
nie jest prawidłowym hostem.
-
- Symbol wieloznaczny między komponentami prefiksu ścieżki pasuje tylko do jednego
komponentu i nie pasuje do wielu komponentów rozdzielonych ukośnikami.
Rozważmy wzorzec adresu URL z hostem
example.com
i prefiksem ścieżki/bar/*/baz
:-
https://example.com/bar/123/baz
to prawidłowe dopasowanie do wzorca adresu URL. -
https://example.com/bar/123/baz/456/789
pasuje do wzorca adresu URL. -
https://example.com/bar/123/456/baz
nie jest prawidłowym dopasowaniem do wzorca adresu URL, bo symbol wieloznaczny w prefiksie ścieżki jest niezgodny z/123/456/
.
-
Proces programowania
Wyślij URL elementu iframe uaktualnienia linków oraz wzorce adresów URL dla dodatku testowego lub produkcyjnego, wysyłając e-maila na adres classroom-link-upgrade-external@google.com.
Najpierw możesz podać konfiguracje dla prywatnego dodatku oraz dowolnego własnego środowiska testowego lub programistycznego. Zespół Classroom może włączyć te konfiguracje testowe przed włączeniem konfiguracji produkcyjnych, aby umożliwić Ci przetestowanie przepływu w domenie demonstracyjnej. Po włączeniu konfiguracji otrzymasz odpowiedź na swojego e-maila. Pamiętaj, że wzorce adresów URL korzystające z dyrektywy localhost
nie są obsługiwane w przypadku tej funkcji.
Sformatuj e-maila tak, aby zawierał te informacje:
Google Cloud Project number: GCP_PROJECT_NUMBER
Link Upgrade iframe URL: LINK_UPGRADE_IFRAME_URL
URL Patterns:
- Host:HOST_1
- Path prefixes:
- PATH_PREFIX_1
- PATH_PREFIX_2
- Host:HOST_2
- Path prefixes:
- PATH_PREFIX_3
- PATH_PREFIX_4
// add more hosts and path prefixes as needed
Zastąp następujące elementy:
- GCP_PROJECT_NUMBER: numer projektu Google Cloud, z którym jest powiązany dodatek.
- LINK_UPGRADE_IFRAME_URL adres URL, który powinien się otworzyć w elemencie iframe uaktualnienia linku.
- HOST_1: host, który powinien wykryć Classroom.
Obsługiwany jest tylko schemat
https
. - PATH_PREFIX_1 i PATH_PREFIX_2: prefiksy ścieżek powiązane z adresem
HOST_1
, które Classroom ma wykryć i próbować uaktualnić. - HOST_2: host, który powinien wykryć Classroom.
Obsługiwany jest tylko schemat
https
. - PATH_PREFIX_3i PATH_PREFIX_4: prefiksy ścieżek powiązane z identyfikatorem
HOST_2
, które Classroom ma wykryć i próbować uaktualnić.
Zalecane wrażenia użytkowników
Poniżej znajdziesz kilka sugestii, które warto wziąć pod uwagę podczas wdrażania tej funkcji.
Unikanie dodatkowej pracy przez nauczycieli
Zdecydowanie zalecamy korzystanie z elementu iframe, by w razie potrzeby ułatwić logowanie lub wyświetlać wskaźnik wczytywania. Ze względu na wygodę użytkowników nauczyciel nie powinien być pytany o żadne dodatkowe informacje, gdy zgodzi się na uaktualnienie wklejonego linku do załącznika dodatku. Jeśli jednak nie jest to możliwe w przypadku Twojego dodatku, możesz użyć elementu iframe uaktualniania linków, aby zebrać potrzebne dodatkowe informacje. Element iframe może też służyć do informowania nauczyciela, że uaktualnienie linku jest niemożliwe lub wystąpił błąd.
Uwzględnij komunikaty o błędach łatwego dla użytkownika dostępu
Jeśli nauczyciele wkleją i zaktualizują link, do którego nie mają dostępu, wyświetlaj w elemencie iframe łatwy dla użytkowników komunikat o błędzie, aby poinformować nauczycieli o problemie. Element iframe może też służyć do nadawania nauczycielowi odpowiednich uprawnień dostępu do treści.