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 wklejanie 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 zgodzi się 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 istotne szczegóły techniczne tej funkcji.

Odczytywanie parametru zapytania urlToUpgrade

Parametr zapytania urlToUpgrade jest kodowany w formacie URI, gdy jest przekazywany w ramach elementu iframe LinkUpgrade. 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 informacjami o 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 prefiksów ścieżek, można uaktualnić dowolny adres URL pasujący do hosta.
    • Przejście na wyższy abonament jest możliwe tylko w przypadku adresów URL o schemacie https.
    • Wzorce adresów URL nie mogą zawierać localhost.
    • Prefiksy ścieżek nie mogą zawierać parametrów zapytania ani fragmentów adresu URL.
    • Prefiksy ścieżki mogą obecnie obsługiwać symbole wieloznaczne, ale hosty nie mogą:
      • example.com to prawidłowy host, a /foo/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 komponentu 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 adresu URL, bo symbol wieloznaczny w prefiksie ścieżki jest niezgodny z /123/456/.

Proces tworzenia

Wyślij adres URL iframe Link Upgrade i wzorce adresów URL dla 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.

Po włączeniu konfiguracji otrzymasz odpowiedź na swojego e-maila. 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: prefiksy ścieżki powiązane z identyfikatorem HOST_2, które Classroom ma wykryć i próbować uaktualnić.

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

uniknąć dodatkowej pracy 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 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.

Uwzględnij komunikaty o błędach łatwego dla użytkownika 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 poinformować ich o problemie. Iframe może też służyć do nadawania nauczycielowi odpowiednich uprawnień dostępu do treści.