Przenoszenie załączników z linkami do załączników dodatków do Classroom

Jednym ze sposobów dodawania treści innych firm do Classroom jest wklejenie linku jako załącznika linku na stronie tworzenia projektu. Aby ułatwić nauczycielom korzystanie z funkcji, z których już korzystają, możesz skonfigurować dodatek, aby umożliwić nauczycielom przekształcenie załącznika Link w załącznik dodatku.

Omówienie

Jeśli skonfigurujesz dodatek z tą funkcją, nauczyciele otrzymają prośbę o uaktualnienie linku do załącznika dodatku, gdy wklejają załącznik linku na stronie tworzenia projektu. Nauczyciele otrzymują taką prośbę tylko wtedy, gdy mają już zainstalowany dodatek.

Gdy nauczyciel wyrazi zgodę na uaktualnienie linku do załącznika dodatku, zostanie wyświetlony iframe Link Upgrade z tymi parametrami zapytania:

  • courseId
  • itemId
  • itemType
  • addOnToken
  • urlToUpgrade
  • login_hint (tylko jeśli użytkownik zatwierdził już Twoją aplikację)

Pierwsze 4 parametry zapytania odpowiadają parametrom zapytań wywoływanych w elementach iframe usługi Attachment Discovery. Nowy parametr zapytania urlToUpgrade może Ci pomóc w ocenie, jak 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 ramach iframe możesz wyświetlić ekran wczytywania, aby poinformować nauczyciela, że tworzony jest załącznik dodatku.

Gdy załącznik dodatku zostanie utworzony, iframe zostanie zamknięty, a nauczyciel będzie mógł wyświetlić załącznik w projekcie w zwykły sposób.

Szczegóły techniczne implementacji

W tej sekcji znajdziesz ważne informacje techniczne dotyczące tej funkcji.

Czytanie parametru zapytania urlToUpgrade

Parametr zapytania urlToUpgrade jest kodowany w identyfikatorze URI, gdy jest przekazywany w ramce elementu odnośnika Upgrade. Aby uzyskać pierwotną postać adresu URL, musisz go zdekodować. Jeśli na przykład używasz JavaScriptu, możesz użyć funkcji decodeURIComponent().

Aby zapewnić użytkownikom optymalną obsługę tej funkcji, po utworzeniu załącznika dodatku wyślij postMessage. Spowoduje to zamknięcie elementu iframe. Więcej informacji znajdziesz na stronie z szczegółami implementacji iframe.

Szczegóły konfiguracji

Aby zintegrować tę funkcję z dodatkiem, musisz ustawić te opcje:

  • Adres URL elementu iframe Link Upgrade: adres URL, który otwiera się w elemencie iframe, gdy nauczyciel zgadza się na przeniesienie.

  • Wzorce adresów URL, które Classroom powinien wykrywać i próbować uaktualniać: wzorce adresów URL mogą składać się z hosta i wielu prefiksów ścieżki.

    • Możesz podać wiele wzorców adresów URL.
    • Jeśli nie podasz żadnych prefiksów ścieżki, można uaktualnić dowolny adres URL pasujący do hosta.
    • Tylko adresy URL o schemacie https można przekształcić.
    • Wzorce adresów URL nie mogą zawierać localhost.
    • Prefiksy ścieżek nie mogą zawierać parametrów zapytania ani fragmentów adresu URL.
    • Prefiksy ścieżek mogą obecnie obsługiwać symbole wieloznaczne, ale hosty nie:
      • example.com to prawidłowy host, a /foo i /bar/*/baz to prawidłowe prefiksy ścieżki.
      • example.*.host.com nie jest prawidłowym hostem.
    • Symbol wieloznaczny między komponentami prefiksu ścieżki pasuje tylko do jednego komponenta i nie pasuje do wielu komponentów rozdzielonych ukośnikami. Rozważ wzór adresu URL z hostem example.com i prefiksem ścieżki /bar/*/baz:
      • https://example.com/bar/123/baz jest prawidłowym dopasowaniem do wzorca adresu URL.
      • https://example.com/bar/123/baz/456/789 jest prawidłowym dopasowaniem do wzorca adresu URL.
      • https://example.com/bar/123/456/baz nie jest prawidłowym dopasowaniem do wzorca URL, ponieważ symbol wieloznaczny w prefiksie ścieżki nie pasuje do /123/456/.

Proces tworzenia

Wyślij adres URL iframe Link Upgrade i wzorce adresów URL wersji testowej lub produkcyjnej dodatku, wysyłając e-maila na adres classroom-link-upgrade-external@google.com.

Konfiguracje możesz podać dla dowolnego projektu Google Cloud, który reprezentuje dodatek do Google Classroom. Zalecamy najpierw udostępnienie konfiguracji dodatku z prywatną widocznością, aby umożliwić tworzenie i testowanie w domenie demonstracyjnej bez wpływu na użytkowników w wersji produkcyjnej.

Otrzymasz odpowiedź na e-maila, gdy skonfigurujemy Twoje konto. Pamiętaj, że wzorce adresów URL, które używają localhost, nie są obsługiwane w przypadku tej funkcji.

W e-mailu umieść 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 otwierać się w elementzie iframe Link Upgrade.
  • HOST_1: host, który powinien wykryć Classroom. Obsługiwany jest tylko schemat https.
  • PATH_PREFIX_1 i PATH_PREFIX_2: ścieżki z prefiksami powiązanymi z HOST_1, które Classroom powinien wykryć i spróbować uaktualnić.
  • HOST_2: host, który powinien wykryć Classroom. Obsługiwany jest tylko schemat https.
  • PATH_PREFIX_3 i PATH_PREFIX_4: ścieżki z prefiksami powiązanymi z HOST_2, które Classroom powinien wykryć i spróbować uaktualnić.

Oto kilka sugestii, które warto wziąć pod uwagę podczas implementowania tej funkcji.

Unikaj dodatkowej pracy nauczycieli

Zdecydowanie zalecamy użycie ramki iFrame, aby ułatwić logowanie (jeśli jest wymagane), lub wyświetlić wskaźnik wczytywania. Ze względu na wygodę użytkowników nauczyciel nie powinien otrzymywać prośby o dodatkowe informacje po wyrażeniu zgody na przekształcenie wklejonego linku w załącznik dodatku. Jeśli jednak nie jest to możliwe w przypadku Twojego dodatku, możesz użyć iframe Link Upgrade, aby zebrać potrzebne informacje. Element iframe może też służyć do informowania nauczyciela, jeśli nie można uaktualnić linku lub wystąpił błąd.

Dołącz przyjazne dla użytkownika komunikaty o błędach dostępu

Jeśli nauczyciele wklejają i aktualizują link, do którego nie mają dostępu, wyświetl w iFrame przyjazny dla użytkownika komunikat o błędzie, aby nauczyciele wiedzieli o problemie. Iframe może też służyć do nadawania nauczycielowi odpowiednich uprawnień dostępu do treści.