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

Jednym ze sposobów, w jaki nauczyciele mogą dodawać do Classroom treści innych firm, jest wklejenie linku jako załącznika linku na stronie tworzenia projektu. Aby bazować na tym, co już znają nauczyciele, możesz teraz skonfigurować dodatek tak, aby pozwolić nauczycielom na uaktualnianie załącznika z linkami do załączników dodatku.

Przegląd

Jeśli skonfigurujesz dodatek z tą funkcją, nauczyciele zostaną poproszeni o uaktualnienie linku do załącznika dodatku, gdy wkleią załącznik z linkiem na stronie tworzenia projektu. Nauczyciele są proszeni o zrobienie tego tylko wtedy, gdy mają już zainstalowany dodatek.

Gdy nauczyciel wyrazi zgodę na uaktualnienie linku do załącznika dodatku, uruchamia się element iframe Uaktualnienie linku z tymi parametrami zapytania:

  • courseId
  • itemId (zmieniono nazwę z postId)
  • itemType (nowość!)
  • addOnToken
  • login_hint lub hd
  • urlToUpgrade (nowość!)

Pierwsze 4 parametry zapytania odzwierciedlają parametry zapytania uruchomione w elemencie iframe wykrywania załączników. Parametr zapytania urlToUpgrade jest nowy i może pomóc Ci 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 pokazać nauczycielowi, że trwa tworzenie załącznika dodatku.

Po utworzeniu załącznika dodatku element iframe jest zamknięty, a nauczyciel może wyświetlić załącznik w projekcie w zwykły sposób.

Szczegóły implementacji technicznej

W tej sekcji znajdziesz istotne szczegóły techniczne tej funkcji.

Odczytuj parametr zapytania urlToUpgrade

Parametr zapytania urlToUpgrade jest zakodowany jako identyfikator URI, gdy jest przekazywany w elemencie iframe uaktualnienia linku. Aby uzyskać adres URL w oryginalnej postaci, musisz go zdekodować. Jeśli używasz na przykład JavaScriptu, możesz użyć do tego funkcji decodeURIComponent().

Aby zapewnić optymalną wygodę użytkownikom 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

Poniższe konfiguracje wymagają integracji tej funkcji z dodatkiem:

  • URL elementu iframe z aktualizacją linku: adres URL, który otwiera się w elemencie iframe, gdy nauczyciel zgadza się na uaktualnienie.

  • Wzorce adresów URL, które Classroom ma wykryć i próbować uaktualnić: wzorce adresów URL mogą zawierać hosta i wiele 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 może zostać uaktualniony.
    • Można uaktualnić tylko adresy URL ze schematem https.
    • Wzorce adresów URL nie mogą zawierać ciągu localhost.
    • Prefiksy ścieżki nie mogą zawierać parametrów zapytań ani fragmentów adresów URL.
    • Prefiksy ścieżki mogą obecnie obsługiwać symbole wieloznaczne, ale hosty nie mogą:
      • example.com to prawidłowy host, 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 pojedynczego komponentu i nie pasuje do wielu komponentów rozdzielonych ukośnikami. Weźmy pod uwagę wzorzec adresu URL zawierający hosta example.com i prefiks ś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, ponieważ symbol wieloznaczny w prefiksie ścieżki nie pasuje do /123/456/.

Proces programowania

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

Najpierw możesz podać konfiguracje prywatnego dodatku oraz dowolnego środowiska testowego lub programistycznego, którego jesteś właścicielem. Zespół Classroom może włączyć te konfiguracje testowe przed włączeniem konfiguracji produkcyjnych, aby umożliwić przetestowanie przepływu w domenie demonstracyjnej. Gdy konfiguracje zostaną włączone, otrzymasz odpowiedź na swojego e-maila. Pamiętaj, że ta funkcja nie obsługuje wzorców adresów URL korzystających z protokołu localhost.

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 dodatek jest powiązany.
  • LINK_UPGRADE_IFRAME_URL adres URL, który powinien się otworzyć w elemencie iframe uaktualnienia linku.
  • HOST_1: host, który ma wykryć Classroom. Obsługiwany jest tylko schemat https.
  • PATH_PREFIX_1 i PATH_PREFIX_2: prefiksy ścieżki powiązane z HOST_1, które Classroom ma wykryć i podjąć próbę uaktualnienia.
  • HOST_2: host, który ma wykryć Classroom. Obsługiwany jest tylko schemat https.
  • PATH_PREFIX_3i PATH_PREFIX_4: prefiksy ścieżki powiązane z HOST_2, które Classroom ma wykryć i podjąć próbę uaktualnienia.

Poniżej znajdziesz sugestie, które warto wziąć pod uwagę przy wdrażaniu tej funkcji.

Unikaj dodatkowej pracy dla nauczycieli

Zdecydowanie zalecamy korzystanie z elementu iframe, by w razie potrzeby ułatwić logowanie, lub wyświetlanie wskaźnika wczytywania. Ze względu na wygodę użytkowników nauczyciel nie powinien być pytany o żadne dodatkowe informacje, gdy już 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 uaktualnienia linku, aby zebrać dodatkowe potrzebne informacje. Element iframe może też służyć do informowania nauczyciela, że uaktualnienie linku jest niemożliwe lub że wystąpił błąd.

Dołącz łatwe w użyciu komunikaty o błędach dostępu

Jeśli nauczyciel wklei i uaktualni link, do którego nie mają dostępu, w elemencie iframe wyświetli się łatwy w użyciu komunikat o błędzie, aby nauczyciele wiedzieli o problemie. Element iframe może też posłużyć do przyznania nauczycielowi odpowiednich uprawnień dostępu do treści.