Skip to content

WISE5 StudentWork: NodeState and ComponentState

Hiroki Terashima edited this page Oct 14, 2015 · 3 revisions

Summary

StudentWork represents a work done by a Workgroup in WISE5. There are two types of StudentWork: a NodeState and a ComponentState. NodeState is a Workgroup's work for a specific Node. ComponentState is a Workgroup's work for a specific Component. A Workgroup can save multiple NodeStates for the same Node and can save multiple ComponentStates for the same Component.

Schema Definition

create table StudentWork (
    id integer not null auto_increment,
    clientSaveTime datetime not null,
    componentId varchar(30),
    componentType varchar(30),
    isAutoSave bit not null,
    isSubmit bit not null,
    nodeId varchar(30) not null,
    serverSaveTime datetime not null,
    studentData mediumtext not null,
    periodId bigint not null,
    runId bigint not null,
    workgroupId bigint not null,
    primary key (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  • id: unique id for this StudentWork
  • clientSaveTime: client timestamp when this StudentWork was saved
  • componentId: id of the component this StudentWork is for
  • componentType: type of the component this StudentWork is for. e.g. "OpenResponse", "Draw"
  • isAutoSave: true iff save was not specifically requested by client (e.g. interval save)
  • isSubmit: true iff client submitted the work.
  • nodeId: id of the node this StudentWork is for
  • serverSaveTime: server timestamp when this StudentWork was saved in db
  • studentData: string representation of work for this StudentWork
  • periodId: id of the period that this StudentWork was created for (id of period of workgroup who created this StudentWork)
  • runId: id of the run that this StudentWork was created for (id of run of workgroup who created this StudentWork)
  • workgroupId: id of the workgroup that created this StudentWork

The only difference between a NodeState and ComponentState in the database is that a NodeState's componentId and componentType are null.

Clone this wiki locally