Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!.     ( y otras páginas pendientes)

Importando o exportando preguntas

Las preguntas provenientes de otros cursos Moodle o de otros sistemas de e-learning (por ejemplo: Blackboard, Webct etc.) pueden importarse a Moodle. De forma similar, Moodle ofrece un proceso para exportar preguntas hacia otros sistemas en diferentes formatos ( XML, QTI etc.). El código para importar y exportar está escrito principalmente en los archivos format.php localizados en un directorio específico para el tipo de archivos de formato de donde se realiza la importación o exportación.

  • typicamente
    • question/format/aiken/format.php
    • question/format/blackboard/format.php
    • question/format/qti2/format.php
    • question/format/xml/format.php

existe una clase qformat_default definida en question/format.php y el proceso se controla por

  • question/import.php
  • question/export.php

La principal dificultad para codificar estos archivos específicos format.php estriba en que los desarrolladores deben estar conscientes de

  • el formato que codifica los archivos a importar o exportar (XML, QTI etc.)
  • los parámetros necesarios para los diferentes tipos de preguntas de Moodle, donde fácilmente se pueden introducir nuevos tipos en el futuro cercano debido a la reingeniería del código de las preguntas de Moodle.

Donde encontrar la información para codificar para los archivos format.php para importar/exportar.

Mientras estamos desarrollando nuevos tipos de preguntas (questiontypes) o nuevas funciones de importación desde archivos externos, necesitamos salvaguardar el patrón default_questiontype->save_question() evitando importar malos datos de preguntas. Debemos documentar bien estos parámetros de preguntas y tener una más fuerte validación antes de gurdar una nueva pregunta.

Las documentaciones para desarrolladores más exhaustivas dependen del conocimiento de las tablas de bases de datos, las definiciones de etiquetas (tags) y una buena comprensión de los pocos comentarios insertados en el código.

Se han hecho esfuerzos para documentar la base de datos (Gustav Delius ha trabajado mucho sobre la parte de preguntas) pero como es habitual, el planchar los bichos y desarrolar nuevas características gastó la mayoría de la energía.

Para la descripción de los diferentes parámetros de las preguntas, Usted debe buscar en los documentos para desarrolladores la estructura de la base de datos de acertijos (quiz) y la tabla que han sido renombradas preguntas cuando el código para preguntas se remplazó como independiente del código de los acertijos (quiz) en Moodle 1.6.

Estos documentos ilustran bien la dificultad para mantenerlos actualizados, y Yo tuve que corregirlos (al menos lo intenté), para las modificaciones que el propio Gustav hizo a la base de datos.

The format.php code flow for import

When importing questions

  • the import.php open the file
  • the specific format.php
  • the format.php clone in a certain way the default_questiontype->save_question()

by saving the question common elements

  • afterwards it calls the specific qtype->save_question_options() function

which are the regular way to save these options that were retrieved from the imported file.


The 1.6 question table contains the id,category,parent,name,questiontext,questiontextformat,image,defaultgrade,penalty,qtype,length,stamp,version,hidden as the old quiz_questions table with the following modifications.

It is difficult to types that can be data structure of and each question type is expected to implement supply at least Importing or Importing and exporting have in common the data structure of questions in moodle but different requirements about the import or export modules unless the import or export is related to the same standard (ex.QTI). The moodle data structure should be avalable elsewhere.

See also

Lesson question types - both Lesson and Quiz can import the basic Moodle question types.