При добавлении вопросов XML Moodle "зависает"

При добавлении вопросов XML Moodle "зависает"

от Михаил Черемных -
Количество ответов: 8

При добавлении вопросов XML Moodle  "зависает".

Включил в меню отладки(

) "Информация о производительности".

В результате при запуске импорта xml файла получаю строку "Получение вопросов из импортируемого файла", а ниже голый лист. Информация о производительности так же не выдаётся.

Сам XML файл весит 5,3 Мб. список вопросов предположительно был получен путём выгрузки с другого сервера. В чём может быть проблема?

Moodle 2.6 PHP 5.5.9 Apache/2.2.22 (Debian) Сервер установлен через VMware.

P.S. При запуске импорта нагрузка на процессор не возрастает. Вопросов в файле ожидается около пары тысяч. Являюсь админом сервера, так что php.ini и прочее доступноНачало XML файлаПроблема с импортом вопросов

В ответ на Михаил Черемных

Re: При добавлении вопросов XML Moodle "зависает"

от Vadim Tabunshchik -
Изображение пользователя Developers
  1. Включать нужно не информацию о производительности, а отладку на разработчик+вывод сообщений на страницу, потом изучать ошибки, если они будут
  2. php.ini и прочее доступно Ну и почему бы сразу phpinfo не выложить? Все необходимые расширения РНР установлены?
В ответ на Vadim Tabunshchik

Re: При добавлении вопросов XML Moodle "зависает"

от Михаил Черемных -

После включения вывода ошибок, получил

"Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in /var/www/moodle1/lib/xmlize.php on line 79"

получается ему нехватает памяти, тогда как увеличить объём доступной памяти?

79 строка

xml_parse_into_struct($parser, $data, $vals);

 PHPinfo прикладываю в файле *.mht

 

P.S. нашёл в php.ini memory_lymit, увеличил до 256М (Кокое значение лучше выставить?) в результате получил. Выходит ошибка не в moodle, а в структуре xml файла? В первом сообщении приводил начала xml файла, можете сказать что там не так, или скинуть весь файл?

ошибка

 

В ответ на Михаил Черемных

Re: При добавлении вопросов XML Moodle "зависает"

от Vadim Tabunshchik -
Изображение пользователя Developers

Кокое значение лучше выставить?

Почитать вот это и выбрать настройки, исходя из своего железа, ПО и загруженности сайта.

Выходит ошибка не в moodle, а в структуре xml файла?

Похоже, что да. На "другом сервере" видно версия Мудл постарее, формат файла не совпадает.

Скиньте файл, нужно сравнить с 2.6, т. к. в начале файла после строки "<?xml version="1.0" encoding="UTF-8"?>" должен идти тег "<quiz>", на отсутствие которого и ругается Мудл в строке 909:

return $this->import_questions($xml['quiz']['#']['question']);

Если на другом сервере вопросы стандартные и без картинок, почему не попробовать экспорт в формат GIFT?

 

В ответ на Vadim Tabunshchik

Re: При добавлении вопросов XML Moodle "зависает"

от Михаил Черемных -

Доступа к тому серверу не имею, в силу чего приходится работать с этим файлом.

Обнаружил в xml строку

"<answertext> &lt;img src="/file.php/28/System_II/Sborka02032012/SIIimage002.gif" alt=""&gt; </answertext>"

Значит ли это, что рисунки остались на том сервере. И данный xml не очень жизнеспособен?

Прикладываю файл, xml.

А какой формат более универсален при переносе тестов с картинками? Тот cервер мод moodle 2.x

В ответ на Михаил Черемных

Re: При добавлении вопросов XML Moodle "зависает"

от Vadim Tabunshchik -
Изображение пользователя Developers

Михаил, вы (или кто-то другой) наглым образом улыбаюсь выдрали из архива с бэкапом курса файл questions.xml и пытаетесь из него импортировать вопросы в курс.

Такой фокус у вас не пройдет. Структура файла не соответствует необходимому для импорта вопросов в банк формату Moodle-XML. Вы можете из архива восстановить курс, отметив только нужные элементы (тесты) ,тогда из этого questions.xml будут восстановлены вопросы.

В противном случае нужно в исходном курсе произвести экспорт тестовых вопросов в формат XML из банка вопросов, а потом из полученного файла импортировать вопросы в нужный курс.

Moodle-XML - самый подходящий формат для экспорта/импорта данных из/в moodle

Значит ли это, что рисунки остались на том сервере.

Судя по относительному пути к изображению, это значит, что для создания тестовых вопросов использовался шаблон Word.

Об особенностях импорта/экспорта таких вопросов я писал тут

В "правильном" файле Moodle-XML картинки кодируются в base64 и нормально восстанавливаются в вопросах после импорта. Вот пример:

<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<!-- question: 0  -->
  <question type="category">
    <category>
        <text>$course$/КГ</text>

    </category>
  </question>

<!-- question: 3295  -->
  <question type="matching">
    <name>
      <text>№ 01</text>
    </name>
    <questiontext format="html">
      <text><![CDATA[<p>Сопоставьте номерам позиций соответствующие элементы ПК:</p>
<p align="center"><img title="comp" src="https://moodle.org/pluginfile.php/536/mod_forum/post/1105661/comp.jpg" alt="comp" width="425" height="319" /></p>]]></text>
<file name="comp.jpg" path="/" encoding="base64">/9j/4AAQSkZJRgABAQEAYABgAAD…Тут много-много-много символов…</file>
    </questiontext>
    <generalfeedback format="html">
      <text></text>
    </generalfeedback>
    <defaultgrade>1.0000000</defaultgrade>
    <penalty>0.1000000</penalty>
    <hidden>0</hidden>
    <shuffleanswers>true</shuffleanswers>
    <correctfeedback format="moodle_auto_format">
      <text></text>
    </correctfeedback>
    <partiallycorrectfeedback format="moodle_auto_format">
      <text></text>
    </partiallycorrectfeedback>
    <incorrectfeedback format="moodle_auto_format">
      <text></text>
    </incorrectfeedback>
    <subquestion format="html">
      <text><![CDATA[<p>позиция 1</p>]]></text>
      <answer>
        <text>Системный блок</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>позиция 2</p>]]></text>
      <answer>
        <text>Монитор</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>позиция 3</p>]]></text>
      <answer>
        <text>Клавиатура</text>
      </answer>
    </subquestion>
    <subquestion format="html">
      <text><![CDATA[<p>позиция 4</p>]]></text>
      <answer>
        <text>Мышь</text>
      </answer>
    </subquestion>
  </question>

<!-- question: 3296  -->

В ответ на Vadim Tabunshchik

Re: При добавлении вопросов XML Moodle "зависает"

от Михаил Черемных -

Vadim Tabunshchik

Большое спасибо, за прояснение ситуации.

По факту мне дали этот файл и сказали, что там есть  вопросы к тесту, и их нужно вставить в сервер.

А то уже сутки с данным файлом маюсь.(Только начинаю осваивать Moodle)

Ещё раз большое спасибо.

 

P.S.Может вы сможете подсказать ещё в одном вопросе.

Работали ли вы с модулем Электронный деканат от deansoffice.ru, если да, то возможен ли там прямой доступ к базам с учебными планами для редактирования?

На горизонте стоит задача написания конвертера учебных планов из Exel в ЭД.

Если такое возможно, то на сколько трудозатратно будет сделать такой конвертер на PHP как модуль для Moodle.

В ответ на Михаил Черемных

Re: При добавлении вопросов XML Moodle "зависает"

от Vadim Tabunshchik -
Изображение пользователя Developers

Требуйте весь архив, тогда из него можно восстановить только тесты с вопросами, если остальные ресурсы не нужны.

По вопросу ЭД лучше обратиться сюда: Общий форум (Сообщество разработчиков Free Dean's Office for MOODLE)

Например, я нашел такую инфу: "…написание модуля sync зависит от источников данных, используемых в каждой организации. FDO включает в себя библиотеку, обеспечивающую инфраструктуру для такой синхронизации (в том числе, механизм контроля обновления записей), но конкретная реализации пишется под конкретную внешнюю базу данных, с которой выполняется синхронизация."

Так что ничего невозможного нет, а про трудозатраты сказать не могу