Learn R Programming

rqti

The objective of rqti is to establish a robust and stand-alone R library tailored for crafting exercises and exams in adherence to the QTI v2.1 standard directly from R. Users have the flexibility to render the exercises either locally (using qtijs) or integrate them seamlessly into the OPAL learning management system. Our primary audience comprises instructors specializing in research methods and statistics who seek to harness the full capabilities of R while aligning with the QTI standard. In particular, instructors utilizing OPAL will find our package especially advantageous, as it capitalizes on OPAL’s robust API.

Documentation

Comprehensive documentation, encompassing installation instructions, a quick start guide, example usage, and detailed functionality documentation, can be accessed at the following link: https://shevandrin.github.io/rqti/

Testing

Our commitment to robustness is reflected in our pursuit of high test coverage through automated tests, located in the “tests” folder.

Support and Bug Reports

Should you find any missing features or encounter issues, please do not hesitate to inform us via email or open an issue on GitHub. We will offer support until the project’s funding concludes in September 2024. Following that, we will maintain a stable, usable version, with support for new features provided as time permits.

Contribute

To contribute to this package, clone the repository, implement your feature, and submit a pull request. Kindly adhere to the tidyverse style and the general package guidelines outlined at https://r-pkgs.org. Your contributions are greatly appreciated.

Copy Link

Version

Install

install.packages('rqti')

Monthly Downloads

205

Version

1.0.0

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Andrey Shevandrin

Last Published

March 5th, 2025

Functions in rqti (1.0.0)

NumericGap-class

Class "NumericGap"
LMS-class

LMS Class
InlineChoice-class

Class "InlineChoice"
MultipleChoiceTable-class

Class "MultipleChoiceTable"
OneInRowTable-class

Class "OneInRowTable"
MatchTaable-classs

Class "MatchTable"
Opal-class

Class Opal
ModalFeedback-class

Class "ModalFeedback"
MultipleChoice-class

Class "MultipleChoice"
OneInColTable-class

Class "OneInColTable"
Ordering-class

Class "Ordering"
SingleChoice-class

Class "SingleChoice"
QtiMetadata-class

Class QtiMetadata
assessmentSection

Create an object AssessmentSection
WrongFeedback-class

Class "WrongFeedback"
TextGapOpal-class

Class "TextGapOpal"
assessmentTestOpal

Create an object AssessmentTestOpal
TextGap-class

Class "TextGap"
assessmentTest

Create an object AssessmentTest
QtiContributor-class

Class QtiContributor
buildAssessmentSection

Build tags for AssessmentSection in assessmentTest
authLMS

Authenticate with LMS
correctFeedback

Create object CorrectFeedback
createAssessmentTest

Create an element assessmentTest of a qti-xml document for test
createOutcomeDeclaration

Create an element outcomeDeclaration of a qti-xml document
createItemBody

Create an element itemBody of a qti-xml document
createQtiTask-methods

Create XML or zip file for question specification
directedPair

Create object DirectedPair
create_question_object

Create rqti S4 AssessmentItem Object from Rmd
create_qti_task

Create XML file for question specification
createZip

Create an Zip archive of QTI test
create_assessment_item

Compose a root element AssessmentItem of xml task
essay

Create object Essay
extract_results

Create data frame with test results
getCalculator-methods

Get value of the slot 'calculator'
getAssessmentItems

Get list of AssessmentItems for AssessmentSection
getContributors-methods

Get list of contributors values
create_qti_test

Create XML file for exam test specification
createMetadata

Create an element of metadata
getLMSResources

Get records of all current user's resources on LMS
getCourseElements

Get elements of the course by courseId from LMS
getPoints-methods

Get points from AssessmentItem object
getObject-methods

Get object
createQtiTest-methods

Create zip-archive of the qti test specification
dropdown

Create YAML string for InlineChoice object (dropdown list)
entry

Create object Entry
createResponseDeclaration

Create an element responseDeclaration of a qti-xml document
inlineChoice

Create object InlineChoice
getCourseResult

Get zip with course results by resource id and node id
getFiles-methods

Get file paths for attachment of test
getResponse

Get and process a piece of question content
createResponseProcessing

Create an element responseProcessing of a qti-xml document
ordering

Create object Ordering
opal

Create an Opal LMS Connection Object
numericGap

Create object NumericGap
publishCourse,missing-method

Publish a course on LMS
multipleChoiceTable

Create object MultipleChoiceTable
publishCourse

Publish a course on LMS
createText

Compose a set of html elements to display question in qti-xml document
getLMSResourceURL

Create an URL using the resource's display name on LMS
getIdentifier-methods

Get identifier
oneInColTable

Create object OneInColTable
qti_contributor

Constructor function for class QtiContributor
qti_metadata

Constructor function for class QtiMetadata
qtijs_path

shortcut for the correct QTIJS path
getLMSResourcesByName

Get select records about user resources by name.
modalFeedback

Create object ModalFeedback
multipleChoice

Create object MultipleChoice
qtiMetadata

Constructor function for class QtiMetadata
qtiContributor

Constructor function for class QtiContributor
render_opal

Render Rmd directly in Opal via API
oneInRowTable

Create object OneInRowTable
prepare_renderer

Prepare QTIJS renderer
publishCourse,Opal-method

Publish a course on LMS Opal
singleChoice

Create object SingleChoice
start_server

Start QTIJS on a local server
render_qtijs

Render an RMD/xml file or rqti-object as qti xml with QTIJS
updateCourseElementResource,Opal-method

Update the referenced learning resource of a course element in the LMS Opal
textGap

Create object TextGap
render_xml

Render a single xml file with QTIJS
verify_qti

Verify QTI XML against XSD Schema QTI v2.1
wrongFeedback

Create object WrongFeedback
isUserLoggedIn

Check if User is Logged in LMS
mdlist

Create a markdown list for answer options
%>%

Pipe operator
gap_numeric

Create YAML string for NumericGap object
prepareQTIJSFiles-methods

Prepare files to render them with QTIJS
gap_text

Create YAML string for TextGap object
textGapOpal

Create object TextGapOpal
test4opal

Create a test for LMS OPAL
rmd2zip

Create test zip file with one task xml file from Rmd (md) description
stop_server

Stop QTIJS local server
test

Create a test
rmd2xml

Create qti-XML task file from Rmd (md) description
render_zip

Render a zipped qti archive with QTIJS
upload2LMS

Upload content to LMS
section

Create a section as part of a test content
updateCourseElementResource

Update the referenced learning resource of a course element in the LMS
upload2opal

Upload a resource on OPAL
updateCourseElementResource,missing-method

Update the referenced learning resource of a course element in the LMS
AssessmentSection-class

Class "AssessmentSection"
Essay-class

Class "Essay"
Gap-class

Class "Gap"
AssessmentItem-class

Class AssessmentItem
AssessmentTestOpal-class

Class "AssessmentTestOpal"
DirectedPair-class

Class "DirectedPair"
Entry-class

Class "Entry"
AssessmentTest-class

Class "AssessmentTest"
CorrectFeedback-class

Class "CorrectFeedback"
Choice-class

Class "Choice"