this is a sequencing state file initialized with tree information from the imsmanifest.xml file. It is a serialized org.adl.sequencer.SeqActivityTree object. One of each of these initialized object files is persisted in SampleRTE131Files/(userid)/(courseid) directory, always with the same name (serialize.obj)
- references:
- org.adl.samplerte.server.LMSCMIServlet (2)
- org.adl.samplerte.server.LMSManifestHandler
- /runtime/sequencingUtil.jsp (persistActivityTree())
- /runtime/processCourseReg.jsp (2) (initialization)
- /runtime/sequencingEngine.jsp
- /runtime/code.jsp (UI: displays TOC)
- using hibernate to persist
- the properties in SeqActivityTree are as follows:
mRoot: mapped to column ROOT (and is a foreign key)
private SeqActivity mRoot = null;
- this would have to be persisted in some form so we have to have another table for SeqActivity classes
mValidReq: may be possible to determine this at runtime, or at first instatiation for use
/** * The set of valid navigation requests for the current state of the activity * tree. * */ private ADLValidRequests mValidReq = null;
mLastLeaf: mapped to column LASTLEAF/** * This is the identifier for the last leaf in the activity tree *@hibernate.property */ private String mLastLeaf = null;
mScopeID: mapped to column SCOPE/** * This is the scope of this activity tree's objectives *@hibernate.property */ private String mScopeID = null;
mCourseID: mapped to column PACKAGEID/** * This is the course (really a content package) identifier for the current activity tree *@hibernate.property */ private String mCourseID = null;
mLearnerID: mapped to column LEARNERID/** * This is the student identifier for the student utilizing this activity * tree *@hibernate.property */ private String mLearnerID = null;
mCurActivity: not mapped (see code comments)// Internal state of the activity tree /** * This is the current activity<br><br> * Defined in IMS SS AM * WRT hibernate: does not have to be a persisted value... * ... this reflects the 'current' progress infomation * ... exitAll requests assume subsequent requests start from ROOT * */ private SeqActivity mCurActivity = null;
mFirstCandidate: not mapped, use mSeqTree.setFirstCandidate(mSeqTree.getRoot()) after instantiation/** * This is the first candidate activity to for sequencing requests. *@hibernate.property */ private SeqActivity mFirstCandidate = null;
- the properties in SeqActivityTree are as follows:
NOTE: this page is currently under construction
/** * This is last activity experienced by the student prior to a SuspendAll * sequencing request.<br><br> * Defined in IMS SS AM *@hibernate.property */ private SeqActivity mSuspendAll = null; /** * This is an internal 'quick' reference map of the activity tree's nodes * WRT hibernate perisistence: use buildActivityMap() after retrieval */ private Hashtable mActivityMap = null; /** * This is the set of global objective IDs used in this activity tree. *@hibernate.property */ private Vector mObjSet = null; /** * This is a map of activities that read from each of the global shared * objectives. *@hibernate.property */ private Hashtable mObjMap = null; /** * This indicates if the global objective IDs have been determined for this * tree. *@hibernate.property */ private boolean mObjScan = false;