Skip to content
This repository has been archived by the owner on Apr 11, 2024. It is now read-only.
/ rpnmodule Public archive

A library designed to handle education sequence and modules

Notifications You must be signed in to change notification settings

golayp/rpnmodule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpnmodule

v0.3.0

rpnmodule is a project aiming to provide a base library for running educational sequences of modules. It'll provide common features for modules that can be arranged in a sequence of work:

As the project evolves the main module in the library is rpnsequence, but project name is still rpnmodule... Sorry for confusion!!!!

Dependencies

  • jquery 2.1.4
  • bootstrap 3.3.6
  • underscore 1.8.3
  • jsPlumb 2.0.4 - included in builded library

Introduction

  • blackbox - a mathematical module to calculate values back and forth 4 -(x4)-> 16
  • cardmaze - a maze of card in which you can navigate using questions on card and response on adjacent card
  • dragdropsorting - items you can drag and drop in list of containers to sort
  • dropdown - a sentence to adapt upon directive using dropdown choices
  • gapfull - a sentence to rewrite upon directive
  • gapsimple - a text to complete
  • marker - a text to mark with markers
  • mqc - a multiple question choice (mqc)
  • plumb - a source/target link module using jsPlumb
  • sorting - a sentence shuffled to rearrange with drag and drop

main options for rpnsequence init

  • sequrl - the url where to find json module sequence datas (default: seq.json)
  • solurl - the url where to find json module sequence solutions (default: sol.json)
  • warnonexit - do the module sequence has to display a waring message (html onbeforeunload classic warning)? (default: false)
  • domelem - the element where to add sequence. default: $('body')
  • onsequenceend (states, score) - handler called on end of sequence , receive states and score as parameters (default: an empty function)
  • onmoduleend (states)- handler called on end of each module , receive states as parameter (default: an empty function)
  • mediapathformatter - a function to update media paths (default: function(val){return 'medias/'+val;})
  • language - which language to use for labels? (default:fr available: fr,en)
  • debug - add some console output (default: false)
  • disablestateloading - if true bypass loading states and generate empty states for modules (default: false)
  • navigationEnabled - Does the sequence have to display a navigation pager? (default: false)
  • quitDisabled - Does the sequence have to hide the upper quit button? (default: false)
  • bypassModule - Compute score without ui rendering for correction purpose (default: false)
  • testMode - Correct module and display score in a modal at end of sequence for test purpose (default: false)
  • background - A background image shared by all modules--> this can be overwriten by background property in module

default sequence datas

By default a sequence json datas has to handle these values:
  • title - the sequence title displayed along all modules on top of them (first level title)
  • modules - a list of modules to display

module shared datas

  • type - the type of the module itself choose: blackbox|cardmaze|clock|dragdropsorting|gapfull|gapsimple|marker|mqc
  • title - a title diplayed on top of module (second level title)
  • context - a context short description (third level title)
  • directive - a directive (fourth level title)
  • recall - a recall for student (displayed actually as a modal dialog toggled by a link)
  • order - an order for student (displayed actually as a modal dialog toggled by a link)
  • disposition - where to place context and directive (top|left|right|bottom). Default: top

module specific options

blackbox options

  • operation - a string to be displayed as the black box operation
  • inputtype - the type of input to use (number|text). Default: number
  • left - list of values displayed on the left side of the black box
  • right - list of values displayed on the right side of the black box
  • shuffle - shuffle items? default: false (right items asked first, then left items)

cardmaze options

  • mazewidth - the card maze width (in number of cards) [2-6]
  • mazeheight - the card maze height (in number of cards) [2-4]
  • cards - an array of cards to be displayed (described with label and clue)

dragdropsorting options

  • todrag - a list of items to sort in containers
  • todrop - a list of containers where to drag and drop items

dropdown options

  • sentence - a sentence to adapt
  • circumstance - an array of 2 labels introducing the orginal sentence and the text to adapt
  • items - a list of choice (each of them is an array of texts labeled choice)

gapfull options

  • sentence - a sentence to change in a input text box as described in the module's directive

gapsimple options

  • tofill - a text where words tagged with b are replaced by a input box
  • fillers - a list of items to drag and drop in white spaces if not set then user have to type response

marker options

  • markers - a list of markers
  • tomark - a text where words tagged with b can be marked
  • hidden - if true marker targets are not bolded so they are not visible (default false)
  • smallButtons - if true marker buttons are set to default size if false to btn-lg size (default false)
  • displayTooltip - if true marked elements display a tooltip on mouse hover or focus (default:true)
  • background -
    • url : the url to background image mandatory if background is setted
    • width - the fixed width of content(default 100%)
    • height - the fixed height of content (default 100%)
    • paddingTop - padding top for inner content(default 0px)
    • paddingRight - padding right for inner content(default 0px)
    • paddingBottom - padding bottom for inner content(default 0px)
    • paddingLeft - padding left for inner content(default 0px)

mqc options

  • questions - a list of questions
  • answers - a list of choice for each questions (if there is only one it is common to all questions)

plumb options

  • left - a list of items placed on the left side
  • right - a list of items place on the right side
  • shuffle - shuffle items ? (true/false default false)
  • multipleTarget - allow multiple endpoint on target left items ? (true/false default false)

sorting options

  • sentence - a list of item to rearrange
  • shuffle - shuffle items in sentence ? (default: false)