16/Exportacion/importación de preguntas

Saltar a: navegación, buscar

Moodle 1.6

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.

  • típicamente
    • 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 guardar 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 exámenes (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.

El flujo del código para importar en format.php

Cuando se importan preguntas

  • import.php abre el archivo
  • el format.php específico
  • el format.php clona en una cierta forma al default_questiontype->save_question()

guardando los elementos comunes de las preguntas

  • después llama la función específica qtype->save_question_options()

que son la forma regular de guardar estas opciones que fueron recuperadas del archivo importado.


La tabla de preguntas en 1.6 contiene los id,category,parent,name,questiontext,questiontextformat,image,defaultgrade,penalty,qtype,length,stamp,version,hidden como la tabla antigua quiz_questions con las siguientes modificaciones.

Es difícil para los tipos que pueden ser estructura de datos para y cada tipo de pregunta se espera que implemente el suministro de al menos importar.

La importación y la exportación tienen en común la estructura de datos de las preguntas en Moodle pero tienen diferentes requisitos para los módulos de importar y exportar a menos que esta importación y exportación se relacionen con el mismo estándard (ejem. QTI).

La estructura de los datos de Moodle debe estar disponible en otra parte.

Vea tambien

Lesson question types - tanto lecciones y acertijos (Quiz) pueden importar los tipos bàsicos de preguntas de Moodle.