LTI: поддержка протокола LTI 1.3 для интеграции с внешними инструментами. - #655
Open
KirillBorisovich wants to merge 45 commits into
Open
KirillBorisovich wants to merge 45 commits into
KirillBorisovich wants to merge 45 commits into
Conversation
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
Comment on lines
+118
to
+126
| public async Task<LtiLaunchData?> GetTaskLtiDataAsync(long taskId) | ||
| { | ||
| return await _tasksRepository.GetLtiDataAsync(taskId); | ||
| } | ||
|
|
||
| public async Task<Dictionary<long, LtiLaunchData>> GetLtiDataForTasksAsync(long[] taskIds) | ||
| { | ||
| return await _tasksRepository.GetLtiDataForTasksAsync(taskIds); | ||
| } |
Contributor
Author
There was a problem hiding this comment.
GetTaskLtiDataAsync используется в TasksController в GetTask, а GetLtiDataForTasksAsync в HomeworksController в FillLtiUrls
DedSec256
reviewed
Mar 7, 2026
Comment on lines
+48
to
+50
| var ltiLaunchData = await _tasksService.GetTaskLtiDataAsync(taskId); | ||
| var taskViewModel = task.ToHomeworkTaskViewModel(); | ||
| taskViewModel.LtiLaunchData = ltiLaunchData.ToLtiLaunchData(); |
Contributor
There was a problem hiding this comment.
Должно быть спрятано в сервисе
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
| @@ -0,0 +1,19 @@ | |||
| namespace HwProj.APIGateway.API.Lti.Models; | |||
|
|
|||
| public class LtiPlatformConfig | |||
Contributor
There was a problem hiding this comment.
Suggested change
| public class LtiPlatformConfig | |
| internal class LtiPlatformConfig |
Contributor
Author
There was a problem hiding this comment.
А нужно ли? Я в конструкторах использую часто где IOptions options. Чтобы сделать внутренним, мне нужно пренести всю логику в сервисы и сделать их (сервисы) все внутренними, нужно ли так делать? Просто больше в проекте нигде так не делается
DedSec256
reviewed
Mar 7, 2026
| public LtiSigningKeyConfig SigningKey { get; set; } | ||
| } | ||
|
|
||
| public class LtiSigningKeyConfig |
Contributor
There was a problem hiding this comment.
Suggested change
| public class LtiSigningKeyConfig | |
| internal class LtiSigningKeyConfig |
Contributor
Author
There was a problem hiding this comment.
см. ответ сверху
DedSec256
reviewed
Mar 7, 2026
| @@ -0,0 +1,14 @@ | |||
| namespace HwProj.APIGateway.API.Lti.Models | |||
| { | |||
| public class LtiToolConfig | |||
Contributor
There was a problem hiding this comment.
Suggested change
| public class LtiToolConfig | |
| internal class LtiToolConfig |
Contributor
Author
There was a problem hiding this comment.
см. ответ сверху
DedSec256
reviewed
Mar 7, 2026
DedSec256
reviewed
Mar 7, 2026
…pLinkingReturnController, added a check for matching toolId and course.LtiToolId
…uation of the LTI solution, and fixed a bug in the validation of the HW
This reverts commit 08e3707.
… course expert without notification.
…half of the expert bot has been added.
KirillBorisovich
force-pushed
the
feat/lti-development
branch
from
September 10, 2026 11:46
88fff68 to
33e37ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Реализация поддержки протокола LTI 1.3 для интеграции с внешними инструментами.
LTI 1.3 (Learning Tools Interoperability) — современный индустриальный стандарт, разработанный консорциумом 1EdTech. Он позволяет бесшовно и безопасно интегрировать внешние обучающие инструменты в системы управления обучением.
Текущий статус и дальнейшие шаги
На данном этапе полностью завершена и отлажена базовая бизнес-логика. В частности, реализованы сценарии Deep Linking (выбор и добавление учебных задач преподавателем из LMS) и LTI Launch (переход студента к выполнению заданий и прохождению тестирования). Пуллреквест находится в статусе активной разработки.
Дальнейшие задачи в рамках интеграции:
Демонстрация функциональности