लिंक अटैचमेंट को Classroom ऐड-ऑन अटैचमेंट में अपग्रेड करना

Classroom में तीसरे पक्ष का कॉन्टेंट जोड़ने का एक तरीका यह है कि शिक्षक, असाइनमेंट बनाने वाले पेज पर लिंक अटैचमेंट के तौर पर लिंक चिपकाएं. शिक्षकों को पहले से जो जानकारी है उस पर आधारित ऐड-ऑन बनाने के लिए, अब अपने ऐड-ऑन को कॉन्फ़िगर किया जा सकता है. इससे शिक्षक, लिंक वाले अटैचमेंट को ऐड-ऑन अटैचमेंट में अपग्रेड कर पाएंगे.

खास जानकारी

अगर आपने अपने ऐड-ऑन को इस सुविधा के साथ कॉन्फ़िगर किया है, तो शिक्षकों को असाइनमेंट बनाने वाले पेज में लिंक अटैचमेंट चिपकाने पर, लिंक को ऐड-ऑन अटैचमेंट में अपग्रेड करने के लिए कहा जाएगा. शिक्षकों को ऐसा करने के लिए सिर्फ़ तब कहा जाता है, जब उनके पास पहले से ही ऐड-ऑन इंस्टॉल हो.

जब शिक्षक, लिंक को ऐड-ऑन अटैचमेंट में अपग्रेड करने के लिए सहमत हो जाता है, तो लिंक अपग्रेड करने वाला iframe इन क्वेरी पैरामीटर के साथ लॉन्च होता है:

  • courseId
  • itemId
  • itemType
  • addOnToken
  • urlToUpgrade
  • login_hint (सिर्फ़ तब, जब उपयोगकर्ता ने आपके ऐप्लिकेशन को पहले ही अनुमति दी हो)

पहले चार क्वेरी पैरामीटर, अटैचमेंट डिस्कवरी iframe पर लॉन्च किए गए क्वेरी पैरामीटर को दिखाते हैं. urlToUpgrade क्वेरी पैरामीटर नया है. इससे आपको यह आकलन करने में मदद मिल सकती है कि ऐड-ऑन अटैचमेंट कैसे बनाया जाना चाहिए. इसके बाद, itemType वैल्यू के आधार पर, courseWork, courseWorkMaterials या announcements के CreateAddOnAttachment तरीके को कॉल करने के लिए, अन्य क्वेरी पैरामीटर का इस्तेमाल करके यह देखा जा सकता है कि उपयोगकर्ता ने साइन इन किया है या नहीं. iframe में, शिक्षक को यह बताने के लिए लोडिंग स्क्रीन दिखाई जा सकती है कि ऐड-ऑन अटैचमेंट बनाया जा रहा है.

ऐड-ऑन अटैचमेंट बन जाने के बाद, iframe बंद हो जाता है और शिक्षक, असाइनमेंट में अटैचमेंट को सामान्य तौर पर देख सकता है.

लागू करने से जुड़ी तकनीकी जानकारी

इस सेक्शन में, इस सुविधा के बारे में कुछ अहम तकनीकी जानकारी दी गई है.

urlToUpgrade क्वेरी पैरामीटर को पढ़ना

urlToUpgrade क्वेरी पैरामीटर को यूआरआई कोड में तब बदला जाता है, जब उसे लिंक अपग्रेड iframe पर पास किया जाता है. यूआरएल को उसके मूल फ़ॉर्म में पाने के लिए, आपको उसे डिकोड करना होगा. उदाहरण के लिए, अगर JavaScript का इस्तेमाल किया जा रहा है, तो ऐसा करने के लिए decodeURIComponent() फ़ंक्शन का इस्तेमाल किया जा सकता है.

इस सुविधा का मकसद उपयोगकर्ताओं को सबसे अच्छा अनुभव देना है. इसलिए, ऐड-ऑन अटैचमेंट बन जाने के बाद, postMessage भेजें. इससे iframe बंद हो जाता है. ज़्यादा जानकारी के लिए, iframe लागू करने के बारे में जानकारी देने वाला पेज देखें.

कॉन्फ़िगरेशन की जानकारी

इस सुविधा को अपने ऐड-ऑन में इंटिग्रेट करने के लिए, ये कॉन्फ़िगरेशन ज़रूरी हैं:

  • लिंक अपग्रेड करने के लिए iframe का यूआरएल: यह वह यूआरएल है जो शिक्षक के अपग्रेड करने के लिए सहमत होने पर, iframe में खुलता है.

  • ऐसे यूआरएल पैटर्न जिन्हें Classroom को पहचानना चाहिए और जिन्हें अपग्रेड करने की कोशिश करनी चाहिए: यूआरएल पैटर्न में होस्ट और कई पाथ प्रीफ़िक्स शामिल हो सकते हैं.

    • एक से ज़्यादा यूआरएल पैटर्न दिए जा सकते हैं.
    • अगर आपने कोई पाथ प्रीफ़िक्स नहीं दिया है, तो होस्ट से मैच करने वाले किसी भी यूआरएल को अपग्रेड किया जा सकता है.
    • सिर्फ़ https स्कीम वाले यूआरएल अपग्रेड किए जा सकते हैं.
    • यूआरएल पैटर्न में localhost नहीं होना चाहिए.
    • पाथ प्रीफ़िक्स में क्वेरी पैरामीटर या यूआरएल फ़्रैगमेंट नहीं होने चाहिए.
    • फ़िलहाल, पाथ प्रीफ़िक्स में वाइल्डकार्ड का इस्तेमाल किया जा सकता है, लेकिन होस्ट में नहीं:
      • example.com एक मान्य होस्ट है और /foo और /bar/*/baz, पाथ के मान्य प्रीफ़िक्स हैं.
      • example.*.host.com कोई मान्य होस्ट नहीं है.
    • पाथ के प्रीफ़िक्स कॉम्पोनेंट के बीच मौजूद वाइल्डकार्ड, सिर्फ़ एक कॉम्पोनेंट से मैच करता है. यह स्लैश से अलग किए गए एक से ज़्यादा कॉम्पोनेंट से मैच नहीं करता. होस्ट example.com और पाथ प्रीफ़िक्स /bar/*/baz वाले यूआरएल पैटर्न पर विचार करें:
      • https://example.com/bar/123/baz, यूआरएल पैटर्न के लिए एक मान्य मैच है.
      • https://example.com/bar/123/baz/456/789, यूआरएल पैटर्न के लिए मान्य मैच है.
      • https://example.com/bar/123/456/baz, यूआरएल पैटर्न के लिए मान्य मैच नहीं है, क्योंकि पाथ प्रीफ़िक्स में मौजूद वाइल्डकार्ड, /123/456/ से मेल नहीं खाता.

डेवलपमेंट प्रोसेस

अपने टेस्ट या प्रोडक्शन ऐड-ऑन के लिए, लिंक अपग्रेड iframe यूआरएल और यूआरएल पैटर्न भेजें. इसके लिए, classroom-link-upgrade-external@google.com पर ईमेल करें.

आपके पास किसी भी Google Cloud प्रोजेक्ट के लिए कॉन्फ़िगरेशन उपलब्ध कराने का विकल्प होता है. यह प्रोजेक्ट, Classroom का ऐड-ऑन होता है. हमारा सुझाव है कि आप पहले ऐसे ऐड-ऑन के लिए कॉन्फ़िगरेशन दें जिसे निजी तौर पर दिखाया जा सके. इससे, लाइव उपयोगकर्ताओं पर असर डाले बिना, डेमो डोमेन में ऐड-ऑन को डेवलप और टेस्ट किया जा सकता है.

कॉन्फ़िगरेशन चालू होने पर, आपको ईमेल का जवाब मिलेगा. ध्यान दें कि localhost का इस्तेमाल करने वाले यूआरएल पैटर्न, इस सुविधा के साथ काम नहीं करते.

ईमेल को इस तरह फ़ॉर्मैट करें कि इसमें ये चीज़ें शामिल हों:

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

इनकी जगह ये डालें:

  • GCP_PROJECT_NUMBER: उस Google Cloud प्रोजेक्ट का नंबर जिससे ऐड-ऑन जुड़ा है.
  • LINK_UPGRADE_IFRAME_URL: वह यूआरएल जो लिंक अपग्रेड iframe में खुलना चाहिए.
  • HOST_1: ऐसा होस्ट जिसे Classroom को पता चलना चाहिए. सिर्फ़ https स्कीम का इस्तेमाल किया जा सकता है.
  • PATH_PREFIX_1 और PATH_PREFIX_2: HOST_1 से जुड़े पाथ के प्रीफ़िक्स, जिन्हें Classroom को पहचानना चाहिए और अपग्रेड करने की कोशिश करनी चाहिए.
  • HOST_2: ऐसा होस्ट जिसे Classroom को पता चलना चाहिए. सिर्फ़ https स्कीम का इस्तेमाल किया जा सकता है.
  • PATH_PREFIX_3 और PATH_PREFIX_4: HOST_2 से जुड़े पाथ के प्रीफ़िक्स, जिन्हें Classroom को पहचानना चाहिए और अपग्रेड करने की कोशिश करनी चाहिए.

इस सुविधा को लागू करते समय, इन सुझावों का ध्यान रखें.

शिक्षकों को अतिरिक्त काम से बचाना

हमारा सुझाव है कि ज़रूरत पड़ने पर, साइन इन करने या लोडिंग इंडिकेटर दिखाने के लिए, iframe का इस्तेमाल करें. बेहतर उपयोगकर्ता अनुभव के लिए, शिक्षक को चिपकाए गए लिंक को ऐड-ऑन अटैचमेंट में अपग्रेड करने के लिए सहमति देने के बाद, किसी और जानकारी के लिए कहा नहीं जाना चाहिए. हालांकि, अगर आपके ऐड-ऑन के लिए ऐसा करना संभव नहीं है, तो ज़रूरी जानकारी इकट्ठा करने के लिए, लिंक अपग्रेड iframe का इस्तेमाल किया जा सकता है. अगर लिंक को अपग्रेड नहीं किया जा सकता या कोई गड़बड़ी होती है, तो शिक्षक को इसकी सूचना देने के लिए भी iframe का इस्तेमाल किया जा सकता है.

ऐक्सेस करने से जुड़ी गड़बड़ियों के ऐसे मैसेज शामिल करें जो उपयोगकर्ता के लिए आसान हों

अगर शिक्षक ऐसा लिंक चिपकाते और अपग्रेड करते हैं जिसका ऐक्सेस उनके पास नहीं है, तो iframe में उपयोगकर्ता के हिसाब से गड़बड़ी का मैसेज दिखाएं, ताकि शिक्षकों को समस्या के बारे में पता चल सके. इस iframe का इस्तेमाल, शिक्षक को कॉन्टेंट ऐक्सेस करने की ज़रूरी अनुमतियां देने के लिए भी किया जा सकता है.