Gapfill DB tables
Banner image

Example page with gapfill exercise

Sometimes there is no single correct answer and tutors have to accept answers as correct, but at other times the gap fill response has bee set with a correct answer
File contents not found for source code display
Full path to code was "/home/leonwool/public_html/biscuits-13v/help/_example_gapfill.php"

See your grades - Generic button


Gap Fills and Multiple Choice Pages

Work Next to do

Gapfill Updates You are tutoring @sid

We have multiple possibilities for gap fills now. Next we need to show which are correct and incorrect on the page. But only show this if the attempt has aged by a set amount, otherwise they will keep guessing. We need to add some settings Perhaps $this->gapfillSettings to biscuits for things related to the LMS. Things such as :

  1. How long before another attempt can be made
  2. How long to wait before an answer is shown to be incorrect in a page.

A simple and effective way to add more valid answers to a gap fill, would be for teachers to see a button alongside a students 'incorrect' answer. The button would ask the teacher to click to accept this as a possible answer. Clicking this button will add a row for that question and store the student response as a correct answer. In the case of 'half right' answers, a percentage value can be given to that response so that only a certain percentage of the full score is given.

The GAP fill HTML examples should also appear on Testcard

Using Tokens

Table of Tokens

A gap fill exercise will have inputs scattered throughout the main content of the page. This means that we can not easily generate a gap fill form as a single entity. If a gap fill exercise is made by interpretting @tokens, the person writing the gap fill exercise does not need to be technically trained in advanced HTML ,javascript etc., Only very simple HTML markup is required, such as list items and simple headers. Any developments made to the system to improve the way gap fill exercises work, will not require updates to the content. We have to mark the actual inputs in the page with a token. Tokens must be single words, but they can carry extra information besides there type in a suffix. Eg: @startset-set1 means start a gap fill form with id = set1 . This id then links to the database.

In version 6f we will set a limit of only one gap fill form per page. This means that the system can set the ids automatically.

Course Work Page Components

Required for Gapfills and Multiple Choice and text inputs. In each case the original content is composed of @tokens that are rendered into HTML inputs and forms etc., by the tokenMethods.php method in biscuitBarrel function replacements($inString)

The final rendered HTML will be interactive with ajax jQuery. Some javascript will process the gapfill HTML.preparing it to work well with ajax ( See js setGaps(''); ) so that answers can be submitted in the page.

  1. MySQL database tables (The actual table names will be prefixed according to the application prefix defined in config )

    1. gapfill
      id, exercise_key, description
    2. gapfill_answers

      The actual correct possible answers Not the aubmitted attempts

      id, exercise ,qnumber ,score ,answers
    3. gapfill_attempts
      id ,attempt_exercise ,attempt_uid ,attempt_question ,attempt_answer
    4. gapfill_submissions
      id ,exercise_key ,submit_uid
  2. Javascript biscuits-gapfill.js

    check the page source to see whether this script will be loaded. If not then add this script using $this->addJS('biscuits-gapfill.js',true);

    The function setGaps() in biscuits-gapfill.js should be executed on document ready / load
    This can be done by adding this line to your PHP view file

  3. PHP class gapfill.php in controllers

Example pages with gap fills

Website by Ibiscuits