2013-03-07 5 views
0

Я создаю курсы, используя API Valence.Файлы курса Папка не создается

В DOME у нас есть переменная d2lTools.CMS.CoursePathEnforced, которая включена.

Согласно документации:

Путь:

Корневой путь для использования контента, конечно, это предложение курса в. Обратите внимание, что если ваша >> внутренняя служба имеет принудительное принудительное подключение для новых единиц org, то вы должны оставить >> это свойство пустой строкой, а внутренний сервер может заполнить его для вас.

Так я устанавливаю свойство пути к пустой строке, когда я создаю курс.

Однако папка никогда не создается для пути курса, поэтому, когда пользователи пытаются добавить контент в курс, они получают сообщение об ошибке. Я не могу установить путь вручную, потому что для него требуется идентификатор объекта Org, который я не знаю до его создания.

Является ли это ошибкой или у меня что-то не настроено правильно?

Cheers, Иэн

+0

Я успешно протестировал этот вызов против тестовых экземпляров LMS версий версии 10.0, 10.1 и 10.2. Во всех этих случаях переменная CourseEnforcedPath была установлена ​​для корневого узла org. Обратите внимание: несмотря на то, что значение этой переменной DOME по умолчанию может быть «включено», вам следует дважды проверить, что для корневой единицы организации флажок «Значение» установлен -checked-, чтобы убедиться, что он установлен как «включено» для корневой организации org состав. –

+0

Когда я говорю, что я успешно протестировал этот вызов, я имел в виду, что вызов создал курс, в котором _said_, что в записи курса был правильный путь, связанный с содержанием; однако на некоторых платформах теперь очевидно, что это не создает фактический путь в системе хранения, поэтому фактически добавление контента в курс не работает. Это известная проблема, и исправление появится в пакете обновления очень скоро. –

ответ

0

Вот пример структуры JSON вы должны отправить (обратите внимание, что CourseTemplateId и SemesterId свойства относятся к значениям D2LID для шаблона курса и семестра ваш новый курс производный от):

{"LocaleId": null, 
"CourseTemplateId": 1234, 
"Name": "Extensibility 105", 
"ShowAddressBook": false, 
"ForceLocale": false, 
"StartDate": null, 
"EndDate": null, 
"Path": "", 
"SemesterId": 5678, 
"Code": "EXT-105"} 

создать вызов отправляет обратно JSON после успешного создания, которая выглядит следующим образом:

{"Name": "Extensibility 105", 
"StartDate": null, 
"CourseTemplate": {"Name": "ExtensibilityTemplate", 
        "Code": "EXT-TMPL", 
        "Identifier": "1234"}, 
"EndDate": null, 
"Path": "/content/enforced/7531-EXT-105/", 
"IsActive": true, 
"Semester": {"Name": "Spring 2013", 
       "Code": "S2013", 
       "Identifier": "5678"}, 
"Code": "EXT-105", 
"Department": {"Name": "ExtensibilityDepartment", 
       "Code": "1", 
       "Identifier": "2468"}, 
"Identifier": "7531"} 

Обратите внимание, что вызов присвоения Identifier для нового курса, а затем включил эту идентификацию в принудительный контент Path, как и следовало ожидать.

+0

Спасибо, Виктор, мой JSON похож на ваш пример. Я просто заново пробежал код создания со следующим: { "Имя": "Математика", "Код": "09MAT6", "Путь": "", "CourseTemplateId": "6722" , "SemesterId": "6712" , "StartDate": нулевой, "EndDate": нулевой, "LocaleID": "100001", "ForceLocale": "Правда", "ShowAddressBook": "Ложь"} И результат, который вернулся, дает: ... «Путь»: «/ content/enforced/6964-09MAT6 /», ... Однако, когда я просматриваю файловую систему, фактическая папка была создана:/content/enforced/c6a13311-ceaf-46f6-a9cc-debaadf8009d-09MAT6 Любые мысли о том, почему это было бы? –

+0

Это звучит как ошибка: у нас есть дефект вокруг маршрута создания курса и пути контента на некоторых платформах, так что, возможно, вы испытываете то же самое. Не могли бы вы сообщить мне, какую версию и сервисный пакет вы используете? –

+0

Привет, Виктор. Спасибо за продолжение. Наш LE - V 10.1.0 SP2, а платформа Integration & Middleware - версия 1.4.0. Это те два номера, которые вам нужны? –