R/concerto.qti.initialize.R

Defines functions concerto.qti.initialize

Documented in concerto.qti.initialize

#' @name concerto.qti.initialize 
#' @aliases concerto.qti.initialize
#' @title QTI initialization
#' @description Initializes QTI object.
#' @param qtiID QTI object ID or name.
#' @param params Named list with parameters we want to pass to QTI initialization.
#' @param workspaceID Concerto workspace ID where QTI object is located.
#' @return Named list with QTI session state and QTI_HTML/HTML generated by QTI logic 
#' @author Przemyslaw Lis
#' @examples \dontrun{
#' init <- concerto.qti.initialize(1)
#' }
#' @export
#' 

concerto.qti.initialize <- function(qtiID, params = list(), 
				    workspaceID = concerto$workspaceID) {
    
    print(paste("initializing QTI #", workspaceID, ":", qtiID, "...", sep = ""))
    if (!is.list(params)) 
        stop("'params' must be a list!")
    
    qti <- concerto.qti.get(qtiID, workspaceID = workspaceID)
    if (dim(qti)[1] == 0) 
        stop(paste("QTI #", workspaceID, ":", qtiID, " not found!", sep = ""))
    
    # create 'result' list
    result <- list()
    eval(parse(text = qti[1, "ini_r_code"]))
    if (length(params) > 0) {
        for (i in ls(params)) {
            result[[i]] <- params[[i]]
        }
    }
    result$QTI_HTML <- concerto.template.fillHTML(result$QTI_HTML, result)
    return(result)
}
 
wbuchanan/concerto documentation built on May 4, 2019, 2 a.m.