-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: LTI Deep Linking 2.0 #980
Conversation
Deep Linking Responce JWT 取得 API を実装しました。 GET /api/v2/lti/deep_linking?book_id={bookId} また、セッションにLtiTargetLinkUriを紐付けるなどの変更を行いました。
Deep Linking 設定用のルーティングを追加しました。 使い方 ```diff --- a/pages/books/index.tsx +++ b/pages/books/index.tsx @@ -1,3 +1,4 @@ +import Link from "next/link"; import { useRouter } from "next/router"; import type { ContentSchema } from "$server/models/content"; import type { BookSchema } from "$server/models/book"; @@ -83,6 +84,9 @@ function Index() { return ( <> + <Link href={pagesPath.book.linking.$url({ query: { bookId: 1 } })}> + demo + </Link> <Books linkedBook={linkedBook} {...handlers} /> {previewContent?.type === "book" && ( <BookPreviewDialog {...dialogProps} book={previewContent}> ```
feat: Deep Linking でのブック提供
@ties-makimura |
気になった点
メモ
|
なるほど、たしかにそうなっていますね。シェアされていないトピックの見える範囲・扱いが変わりますね。 |
作成者を紐付ける部分に関しては十分に検討できていませんでした。DL作成者を表明するようなアクセストークンをURLやカスタムパラメータとして含め、それをもとに紐付けるなどの対処が考えられるかも。 |
本件では、まず最初にアクセスした教員または管理者がcreator_idになるように変更。 |
学生など、初回アクセスした教員・管理者以外の利用者が、意図せずltiResourceLink.creatorId として紐付けられる問題がありました。その問題を修正します。(教員・管理者が1度もアクセスしていないリンクにはアクセスできません。少なくとも1度、教員・管理者がアクセスする必要があります。)
fix: 最初にアクセスした教員または管理者をltiResourceLink.creatorとして紐付けられるように変更
@ties-makimura DL選択後、教員・管理者が一度もアクセスしていないとき、学生がアクセスした場合、下図スクリーンショットのようになります: 教員・管理者が少なくとも一度アクセスした場合、下図のようになります: 本PR/ブランチ |
feat:UI: Deep Linking でのリンクの選択画面でのいくつかの操作の廃止
fix:Deep Linking でのリンクの選択画面のレイアウトの改善
Tool URL (target_link_uri) が設定されている場合、リンクの変更を禁止
@ties-makimura |
#992 部分について改めて確認
|
はい。DL以外でのCC側からのTool URLを更新する手段がないためです。
LMS側にその変更操作の影響が及びません。Tool URLが変更されない以上、あまり意味のない操作になります。
なるほど、たしかに混乱減らす工夫は必要だったのかもしれませんね。 |
確証無いのでご参考までに:
これはiframeが生成されてpostMessageによってMoodleと通信する以上、原理的に実現困難な可能性はあります。
このIssueの懸念があるかと思われます (一部機能が制限されるかもしれません。ただし通常の視聴とは異なるので制限が問題ないか、制限あったとして重大でない可能性はあります。) |
こちらの件ですが、アプリケーション側で表示を制御することは可能そうでした。
この仕様で、一旦コミットさせていただきました。ご確認よろしくお願い致します🙏 そのほかには、自分はNEXT_PUBLIC_NO_EMBEDの実装経緯をあまり理解していないのですが、 つまり、「ディープリンク」かつ「NEXT_PUBLIC_NO_EMBED=true」という設定の場合、「ディープリンクを有効にする場合、埋め込みを許可してください」のようなメッセージを表示するパターンです。 |
コンテンツを選択する場合は埋め込みで表示され、教材を開くときは新しいウィンドウで開く表示が出るのを確認できました。想定通りの動作できています。 |
はい。現状ブックのリンクの切り替えボタンはDLの選択画面では青くなりません。 DL2.0仕様の実際の例にも https://purl.imsglobal.org/spec/lti/claim/target_link_uri クレーム (ツールURLを意味するプロパティ) は登場せず、仕様の上でも想定されていないように思われます。(ただ確証は無いのでご参考までに。)
|
こちらを対応してみました。本PRに含めます。ご確認のほどお願いします。 Screencast.from.2023.09.12.15.16.30.webm文言:
|
フィードバック (本PRでは対応しない)
|
申し訳ないですが画面・目的が異なることもあり、少なくともすぐに対応可能ではありません。feat-version-managementブランチとの競合を避けたいところで、別途対応とし本PRには含めないほうがよいのではないでしょうか。 |
競合を避けるのは賛成です. |
今の段階でも競合するので気を付けておく |
resolved #4