Skip to main content

A small transpiler that converts human-readable text and TOML file formats representing Moodle questions to Moodle XML

Project description


QExVpf.md.png

Python program that can transform a suite of Moodle Question data
in a format specified by the client to Moodle XML and back.


About The Project

The process to write CodeRunner questions with Moodle is difficult and the number of options makes question creation long and tedious. This means that teaching staff spend large amounts of time working simply writing out the questions, and the process leads to a high incidence of question errors.

Based on Toodle by @James-Ansley, FiNoodle by Finale supports various question types (including CodeRunner, short answer, multiple choice, etc.) and provide warnings for common errors in generating questions. FiNoodle also various supports question templates to generate questions in a consistent and precise format.


Built With

  • Python (3.10)
  • Moodle
  • XML
  • Jinja (3.1.2)



Installation

pip install FiNoodle

FiNoodle supports installing using pip. Enter the command above in the project folder to install FiNoodle.




Usage

Place files for questions in ../Finale/questions/ and run ../Finale/src/FiNoodle.py. An output file called out.xml will be generated in the project folder which can be loaded to Moodle directly.


Supported File Types

  • .py: Python programs
  • .md: Prompt messages
  • .toml: Test cases
  • Folders: Supporting files (including images)

Supported Question Types

  • .cr: CodeRunner
  • .mc: Multiple choice
  • .sa: Short answer
  • .de: Description

python src/FiNoodle/FiNoodle.py new questions/CLIBuilt/Quiz1 blank cr

Requirements

  • Markdown~=3.3.7
  • Jinja2~=3.1.2



Future Plan

  • Question repository: Managing and loading questions from external sources.
  • More question types: Filling the blanks.
  • More error checking: Duplicated questions.



The Team

  • Carl Taka
  • Mongkulviseth Rithy
  • Sam Shoykhet
  • Sambav Ravivenkatesh
  • Shejie Shuang
  • Yunu Choi




Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FiNoodle-0.1.13.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

FiNoodle-0.1.13-py3-none-any.whl (13.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page