Библиотека Tin Can PHP: объект Person

Мой вопрос касается библиотеки API Tin Can PHP Person объект и что из этого можно сделать.

Библиотека Person Объект (насколько я понимаю) является реализацией ресурса агентов в разделе 2.4 части 3 спецификации xAPI (ссылка: https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Communication.md#24-agents-resource). Спецификация распознает объект Person и указывает, что целью объекта является

предоставить объединенную информацию об агенте, полученную извне
служба, такая как служба каталогов

Как видно из этого описания и от разработчиков библиотеки (см ссылку), что объект Person спецификации предназначен для предоставления в одном объекте средства сбора информации о человеке, которая распределена среди множества различных объектов Агента.

Мне было трудно следовать примерам в библиотеке, но следующий (слишком упрощенный) код работает в SCORM Cloud LRS:

...
$agent1 = new TinCan\Agent();
$agent1
->setMbox('[email protected]')
->setName('Dr David Jones');

$agent2 = new TinCan\Agent();
$agent2
->setMbox('[email protected]')
->setName('David Jones');

$person = new TinCan\Person();
$person
->setMbox([$agent1->getMbox(), $agent2->getMbox()])
->setName([$agent1->getName(), $agent2->getName()]);
...

Является ли библиотека Person объект, предназначенный для сохранения в LRS? Если это так, я не смог найти никаких средств сделать это с помощью библиотеки Statement объект. Если нет, для чего он предназначен?

Буду благодарен за разъяснения. Спасибо.

0

Решение

API не предоставляет средства для сохранения этого объекта. Он предназначен для того, чтобы LRS использовал все возможные средства для объединения нескольких агентов, которые представляют одну и ту же сущность, в объект Person. Предполагаемая цель состоит в том, чтобы позволить системам, имеющим доступ к потоку операторов, иметь возможность комбинировать эти потоки для нескольких агентов, чтобы получить более полное представление об общей активности этого человека.

Например, у меня может быть 3 (или X) идентификатора, которые представляют меня как личность, предположим, что они:

Передача любого из этих идентификаторов Агента (в виде полного представления Агента) в ресурс «Только для чтения» вернет объект Person, который включает все из них. при условии достаточных знаний LRS сопоставить их вместе. Поэтому для системы отчетности было бы возможно во время чтения потока операторов запрашивать объект Person для каждого нового агента, которого она видит, а затем координировать операторы с разрозненным actor свойства (например) в единую запись полной активности этого человека. Ключевым моментом здесь является то, что LRS должен был быть разработан (или интегрирован) таким образом, чтобы он обладал необходимыми знаниями для объединения Агентов.

TinCanPHP предоставляет полный спектр объектов модели данных, потому что теоретически он может быть использован для написания LRS так же, как для связи с ним, так и для LRP. Ключевая деталь реализации здесь в том, что она обеспечивает GET /agents только для чтения ресурса через TinCan\RemoteLRS класс, который обеспечит обратно TinCan\Person объект. Поскольку ваш код не взаимодействует с экземпляром TinCan\RemoteLRS класс он фактически не связывается с LRS, поэтому LRS SCORM Cloud в данном случае не имеет значения. Если бы вы взаимодействовали с использованием доступного ресурса, вы бы получили возвращенный объект Person, который включает в себя только агента, которого вы передали в него, потому что (по крайней мере, на момент написания) Cloud не знает, как связать несколько агентов, но знает, что по умолчанию это Агент, предоставленный ему.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]