قابلیت همکاری ابزارهای یادگیری (LTI) یک چارچوب باز برای ایجاد ادغامهای شخص ثالث در سیستمهای مدیریت یادگیری است. در حالی که افزونههای Classroom و ابزارهای LTI از سفرهای کاربری مشابهی پشتیبانی میکنند، این دو چارچوب به طور مستقیم با هم سازگار نیستند. این راهنما دو نوع ادغام را مقایسه کرده و تفاوتهای کلیدی را برجسته میکند. همچنین راههایی برای دستیابی به سفرهای کاربری مشابه هنگام تطبیق یک ابزار LTI برای کار به عنوان یک افزونه Classroom پیشنهاد میدهد.
تعاملات بین پلتفرم و ابزارها
یک تمایز کلیدی بین ابزارهای LTI و افزونههای Classroom، نحوه تبادل اطلاعات است. ابزارهای LTI معمولاً از HTTP POST برای انتقال بارهای داده به یک پلتفرم LTI استفاده میکنند، در حالی که افزونههای Classroom با استفاده از Google Classroom REST API منابع را ایجاد و بازیابی میکنند.
جدول زیر خلاصهای از نحوه دستیابی به رفتارهای کلیدی ابزار LTI با Google Classroom را ارائه میدهد.
| ویژگی | ال تی آی | کلاس درس |
|---|---|---|
| ایجاد تکالیف | خدمات تعیین سطح و نمره | ایجاد منابع CourseWork و AddOnAttachment |
| نمرات پست | خدمات تعیین سطح و نمره | ارسالهای دانشجویان به CourseWork و AddOnAttachment را وصلهبندی کنید |
| مسیرهای پرتاب | لینک سازی عمیق | مشخص کردن URI ها در منابع AddOnAttachment |
| فهرست دورهها را بخوانید | خدمات ارائه نامها و نقشها | بازیابی پروفایلهای Student و Teacher در یک دوره |
یک ابزار LTI را با افزونه Classroom تطبیق دهید
بسیاری از تعاملات LTI در چارچوب افزونههای Classroom مشابه دارند. بخشهای بعدی برخی از مفاهیم کلیدی و اقدامات پیشنهادی را مورد بحث قرار میدهند.
برنامه خود را پیکربندی کنید
تمام تعاملات برنامهنویسی با Google Classroom نیاز به یک پروژه Google Cloud دارد. شما فهرست برنامه خود را در همان پروژه Cloud پیکربندی خواهید کرد، که نحوه نمایش افزونه Classroom شما را برای کاربران نهایی تعریف میکند. شما آیکونها را ارائه میدهید، نام و توضیحات برنامه را تنظیم میکنید و مجوزهای دامنه OAuth مورد نیاز محصول خود را پیکربندی میکنید.
نصب برنامه افزودنی شما از فهرست، اغلب تنها مرحله پیکربندی است که کاربران نهایی باید انجام دهند. این مشابه فعالسازی و استقرار یک ابزار LTI است. کاربران نهایی نیازی به انجام هیچ گونه اقدام ثبت نام یا مدیریت جزئیات پیکربندی ندارند، اگرچه ممکن است یک مدیر نیاز داشته باشد که برنامه را در بازار مجاز کند و مجوزهای دسترسی به دادههای شخص ثالث را پیکربندی کند .
توصیه : راهنمای ما برای ایجاد و پیکربندی یک پروژه Google Cloud برای افزونه Classroom را دنبال کنید. از همه مهمتر، یک URL برای راهاندازی افزونه به عنوان URL کشف پیوست در SDK بازار مشخص کنید. این URL میتواند همان مسیر راهاندازی ابزار LTI موجود باشد، تا زمانی که کاربر را به جریان احراز هویت مناسب هدایت کند.
جریان احراز هویت
LTI از یک جریان دو مرحلهای استفاده میکند که در آن یک برنامه کلاینت و سرور احراز هویت، یک JWT امضا شده را رد و بدل میکنند. کاربران نیازی به اعطای دسترسی به دادهها به یک ابزار ندارند، زیرا رضایت ضمنی هنگام پیکربندی ابزار توسط مدیر، الزامی است.
در مقابل، جریان OAuth گوگل یک جریان سه مرحلهای است که شامل کاربر نهایی، برنامه کلاینت خارجی و سرور احراز هویت میشود. کلاینت با رضایت صریح کاربر، توکنهایی را دریافت میکند که به او اجازه دسترسی به منابع Google Classroom را میدهد.
یک برنامهی افزونه میتواند با استفاده از حسابهای سرویس ، رفتار JWT امضا شدهی دو-پا مشابهی را به دست آورد. این حسابها، حسابهایی هستند که به جای یک کاربر خاص، به یک برنامه تعلق دارند و میتوانند بدون رضایت کاربر اقداماتی را انجام دهند. استفاده از حسابهای سرویس نیاز به پیکربندی و مدیریت مدیر دارد. استفاده از حسابهای سرویس با واگذاری اختیار در سطح دامنه به شدت توصیه نمیشود، زیرا میتوانند مسیرهای سوءاستفادهی بالقوهای باشند. برای جزئیات بیشتر به راهنمای ما در مورد واگذاری اختیار در سطح دامنه با ادغامهای Google Classroom مراجعه کنید.
توصیه : وقتی یک URL مرتبط با ابزار یا افزونه شما درخواست ورودی دریافت میکند، درخواست را برای وجود پارامترهای پرسوجوی افزونه Classroom بررسی کنید. در صورت وجود، از SDK هویت گوگل برای دریافت اعتبارنامههای دسترسی کاربر استفاده کنید. اعتبارنامهها را در جلسه کاربر ذخیره کنید و از آنها برای ارسال درخواستهای بعدی API Classroom استفاده کنید. اگر پارامترهای پرسوجو وجود ندارند، از درخواستهای HTTP برای تعامل با نقاط پایانی LTI پلتفرم استفاده کنید.
ایجاد محتوای افزونه در گوگل کلاس روم
افزونههای کلاس درس از یک نوع محتوا پشتیبانی میکنند: لینکهای URL به صفحات میزبانیشده در خارج از کلاس. این لینکها در منابع AddOnAttachment قرار دارند که مسیرهای وب را برای باز شدن هنگام تعامل کاربر با افزونه شما تعریف میکنند. هر URL در سناریوهای خاصی باز میشود، برای جزئیات کامل به راهنماهای iframe ما مراجعه کنید. این URLها مشابه LTI Resource Links هستند.
افزونههای کلاس درس از انواع محتوای دیگر مانند فایلها، تصاویر یا قطعات HTML پشتیبانی نمیکنند.
توصیه : وقتی کاربری محتوایی را در محصول شما انتخاب میکند، اعتبارنامههای OAuth او را دریافت کرده و یک درخواست AddOnAttachments.create ارسال کنید. این درخواست باید شامل یک شیء AddOnAttachment باشد که شامل URLهای مربوط به نمای دانشآموز، نمای معلم و (به صورت اختیاری) نمای نمرهدهی است. توجه داشته باشید که نقاط پایانی API جداگانهای برای ایجاد پیوستها در اطلاعیهها ، تکالیف یا مطالب درسی وجود دارد. فقط پیوستهای ایجاد شده در تکالیف میتوانند نمای نمرهدهی داشته باشند، زیرا این تنها نوع آیتم جریان Classroom است که ارسال دانشجو را میپذیرد.
مقایسه ویژگیهای چارچوب
موقعیتهای ادغام
افزونههای کلاس درس، پیوستهایی را برای اطلاعیهها، تکالیف و مطالب درسی ایجاد میکنند. اینها مواردی هستند که در تب پخش زندهی یک دوره در رابط کاربری کلاس درس ظاهر میشوند.
معلمان با انتخاب یک افزونه در انتخابگر در جریان ایجاد تکلیف، سفر ایجاد پیوست افزونه را آغاز میکنند. برای بحث دقیق در مورد هر نمای ارائه شده به کاربران، به راهنماهای iframe مراجعه کنید.
از طرف دیگر، توسعهدهندگان میتوانند به صورت برنامهنویسیشده تکالیف را با پیوستهای افزونه ایجاد کنند. برای جزئیات بیشتر به راهنمای ما برای ایجاد پیوستها خارج از Google Classroom مراجعه کنید.
اطلاعات زمینه را راه اندازی کنید
کلاسروم هنگام باز کردن یک مسیر افزونه، چندین پارامتر پرسوجو را به هر URL اضافه میکند. این پارامترها همیشه شامل نوع آیتم جریان و شناسههای مربوط به دوره و آیتم جریان هستند. بسته به نمای iframe، ممکن است اطلاعات دیگری نیز وجود داشته باشد، مانند شناسههای پیوست یا ارسال، یک توکن برای تأیید ایجاد پیوست یا URL برای ارتقا از یک لینک به یک پیوست افزونه.
کلاسروم بهطور پیشفرض هیچ اطلاعاتی در مورد کاربر یا موسسه ارائه نمیدهد. میتوانید اطلاعات مربوط به کاربر را از منبع Classroom API UserProfile ، از جمله شناسه کاربر، دریافت کنید. اگر کاربر مدیر دامنه است، میتوانید اطلاعات مربوط به موسسه را از Workspace Admin SDK دریافت کنید.
احراز هویت و مجوز
افزونههای کلاس درس باید برای احراز هویت کاربر از ورود با گوگل استفاده کنند. پس از ورود، کاربران از طریق دامنههای OAuth 2.0 به برنامه شما اجازه میدهند. برنامه شما میتواند از هر ترکیبی از دامنههای OAuth موجود استفاده کند.
کشف و پیکربندی برنامه
کاربران افزونههای Classroom را از طریق Google Workspace Marketplace پیدا و "نصب" میکنند. نصب با یک کلیک، یک برنامه افزونه را برای یک معلم خاص در دسترس قرار میدهد. به صورت اختیاری، یک مدیر میتواند برنامه افزونه را برای همه معلمان در یک واحد یا دامنه سازمانی نصب کند. سپس پیوستهای ساخته شده با برنامه توسط همه دانشآموزان در یک دوره قابل دسترسی هستند. نیازی نیست که کاربران نهایی توکنها، کلیدها یا شناسهها را برای افزونههای Classroom به صورت جداگانه مدیریت کنند.
تجربه کاربری و جریان محصول
در بسیاری از موارد، جریان محصول موجود یک ابزار LTI به خوبی به عنوان یک افزونه Classroom عمل میکند. مشابه یک ابزار LTI، یک افزونه Classroom اساساً به شما امکان میدهد لینکهایی به محتوای خود در پلتفرم ما ایجاد و مدیریت کنید. پیوستهای افزونه Classroom مشابه لینکهای پیوند عمیق LTI هستند. اگر ابزار LTI شما URLهایی ایجاد میکند که به محتوای میزبانی شده شما اشاره میکنند، باید به خوبی به عنوان یک افزونه Classroom عمل کند.
کار دانش آموزان پایه
پیوستهای افزونه کلاس درس را میتوان در نمای نمرهدهنده کلاس درس مشاهده و نمرهدهی کرد. هنگام پیوست کردن محتوایی که نیاز به ارسال دانشجو دارد، شما یک student_work_review_uri ارائه میدهید که در آن یک مربی میتواند کار یک دانشجوی خاص را مشاهده و نمرهدهی کند. این با LTI متفاوت است، که در آن یک ابزار فقط target_link_uri تعریف میکند که برای معلمان و دانشآموزان مشترک است. پیادهسازی افزونههای کلاس درس بیشترین شباهت را به سرویس بررسی ارسال LTI دارد که در آینده ارائه خواهد شد.