2017-01-25 4 views
0

Мой вопрос относится к объекту библиотеки TIN Can PHP API Person и о том, что можно использовать в нем.Tin Can Библиотека PHP: объект Person

Объект библиотеки Person является (насколько я понимаю) реализацией ресурса агентов в части 3 раздела 2.4 спецификации xAPI (ссылка:). Спецификация распознает объект Person и указывает на то, что цель объекта в

обеспечивают комбинированную информацию об агенте, полученного от внешнего службы, такие как служба каталогов

Кажется, от описание и от разработчиков библиотеки (see link), что объект 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. Если нет, каково его предназначение?

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

ответ

1

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

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

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

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

+0

Большое спасибо за ваш подробный ответ Брайан. Просто из интереса, как LRS знает, как связать несколько агентов? Как показывает ваш пример, идентификаторы агента часто не имеют ничего общего. –

+1

@Grant_Bailey обычно через какой-то другой пользовательский механизм. Например, крупные корпорации, использующие активный каталог, могут запрашивать у сотрудников свой личный адрес электронной почты, твиттер или могут иметь информацию о других идентификаторах на основе учетной записи из других внутренних систем, которые они могут использовать, этот ресурс затем подключается к системе активного каталога для ответа со всеми известными идентификаторами. –

Смежные вопросы