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

Jednym ze sposobów dodawania przez nauczycieli do Classroom treści pochodzących od innych firm jest wklejając link jako Link do załącznika na stronie tworzenia projektu. Tworzenie co znają już nauczyciele, możesz skonfigurować swój dodatek umożliwić nauczycielom uaktualnianie załącznika z linkiem do załącznika dodatku.

Omówienie

Jeśli skonfigurujesz dodatek z tą funkcją, nauczyciele będą proszeni o chcą uaktualnić link do załącznika dodatku po wklejeniu załącznika z linkiem na stronie tworzenia projektu. Nauczyciel jest o to pytany tylko wtedy, gdy już to zrobił mają zainstalowany dodatek.

Gdy nauczyciel wyrazi zgodę na uaktualnienie linku do załącznika dodatku, link Uruchomiono aktualizację elementu iframe z tymi parametrami zapytania:

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

Pierwsze cztery parametry zapytania są odzwierciedleniem parametrów zapytań wprowadzonych w Element iframe wykrywania załączników. Parametr zapytania urlToUpgrade jest nowy i może pomogą Ci ocenić, jak należy utworzyć załącznik dodatku. Następnie możesz użyć funkcji inne parametry zapytania, by sprawdzić, czy użytkownik jest zalogowany i wywołać funkcję CreateAddOnAttachment metoda courseWork, courseWorkMaterials lub announcements na podstawie wartości itemType. W ramach elementu iframe możesz wyświetlić ekran wczytywania, aby wskazać nauczycielowi, że załącznik dodatku jest tworzona.

Po utworzeniu załącznika dodatku element iframe zostanie zamknięty, a element nauczyciel może wyświetlić załącznik w projekcie w normalny 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 linku Uaktualnij element iframe. Aby uzyskać adres URL w pierwotnej postaci, musisz go zdekodować. Jeśli używasz JavaScriptu, na przykład możesz użyć funkcji decodeURIComponent() .

Aby zapewnić optymalne działanie tej funkcji, wyślij raz postMessage załącznik dodatku został utworzony. Spowoduje to zamknięcie elementu iframe. Zobacz stronie z informacjami o implementacji iframe.

Szczegóły konfiguracji

Te konfiguracje są wymagane do integracji tej funkcji ze dodatek:

  • URL elementu iframe „Uaktualnienie linku”: to adres URL, który otwiera się w Element iframe, gdy nauczyciel wyrazi zgodę na uaktualnienie.

  • Wzorce adresów URL, które Classroom powinien wykryć i próbować Uaktualnienie: wzorce adresów URL mogą składać się z hosta i wielu ścieżek prefiksy.

    • Możesz podać wiele wzorców adresów URL.
    • Jeśli nie podasz żadnych prefiksów ścieżki, każdy URL pasujący do hosta 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, i /foo i /bar/*/baz są prawidłowymi prefiksami ścieżek.
      • example.*.host.com to nie z prawidłowym hostem.
    • Symbol wieloznaczny między komponentami prefiksu ścieżki pasuje tylko do jednego i nie pasuje do wielu komponentów rozdzielonych ukośnikami. Rozważ użycie wzorca adresu URL z hostem example.com i prefiksem ścieżki. /bar/*/baz:
      • Tag https://example.com/bar/123/baz pasuje do adresu URL wzorcem.
      • https://example.com/bar/123/baz/456/789 pasuje do Wzorzec adresu URL.
      • https://example.com/bar/123/456/baz nie jest prawidłowym dopasowaniem dla Wzorzec adresu URL, ponieważ symbol wieloznaczny w prefiksie ścieżki nie pasuje /123/456/

Proces programowania

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

Możesz podać konfiguracje dla dowolnego projektu Google Cloud, który reprezentuje Dodatek do Classroom. Zalecamy, aby najpierw podać konfiguracji dodatku z widocznością prywatną, dzięki czemu możesz w domenie demonstracyjnej bez wpływu na aktywnych użytkowników.

Po wprowadzeniu ustawień otrzymasz odpowiedź na swojego e-maila . Pamiętaj, że wzorce adresów URL z adresem localhost nie są obsługiwane w przypadku tej funkcji 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 on powiązany.
  • LINK_UPGRADE_IFRAME_URL: adres URL, który powinien się otworzyć w aplikacji Element iframe uaktualnienia linku.
  • HOST_1: host, który powinien wykryć Classroom. Tylko Schemat https jest obsługiwany.
  • PATH_PREFIX_1 i PATH_PREFIX_2: ścieżka prefiksy powiązane z wartością HOST_1, które Classroom ma wykryć i próbować .
  • HOST_2: host, który powinien wykryć Classroom. Tylko Schemat https jest obsługiwany.
  • PATH_PREFIX_3 i PATH_PREFIX_4: ścieżka prefiksy powiązane z wartością HOST_2, które Classroom ma wykryć i próbować .

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, aby ułatwić logowanie, jeśli wymagane lub wyświetli się wskaźnik wczytywania. Aby zapewnić użytkownikom najlepsze wrażenia, nauczyciel nie powinien być pytany o dodatkowe informacje, jeśli otrzymał zgodził się na uaktualnienie wklejonego linku do załącznika dodatku. Jeśli jednak jest to nie jest możliwe w przypadku Twojego dodatku, za pomocą elementu iframe Uaktualnienia linku możesz zbierać dodatkowych informacji, których potrzebujesz. Element iframe może też informować nauczyciela, jeśli 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 uaktualnią link, do którego nie mają dostępu, wyświetl łatwy w użyciu komunikat o błędzie w elemencie iframe, aby nauczyciele wiedzieli o problemie. Element iframe może też posłużyć do przekazania nauczycielowi odpowiednich dostępu do treści.