Forum .LRN Q&A: Re: Request for advice from the OCT
Also, let's take a look in the opposite end of the kaleidoscope for a moment and see what we have there ...
We somehow need to create and populate the activity trees which make up the learning sequences that we later want users to take or traverse.
I envision something like this:
1) Go to the SS package
2) Create a "sequence"
3) Enter metadata which (partly) defines the rules and conditions for the sequence (or skip this part and let the defaults - as specified by the IMS SS spec - kick in as a fallback.)
4) Create "activities" in a hierarchical (branched) tree (much like you add nodes to the sitemap in OpenACS.)
5) Enter metadata which defines the rules and conditions of the activity (or skip this part and let the defaults - as specified by the IMS SS spec - kick in as a fallback.)
All of the sequences, activities and the metadata which define the sequences are stored in the datamodel in the ss package, as specified in the IMS SS spec.
6) To each activity in the activity tree, map objects (or URLs) from throughout the toolkit (you may add more than one object and also so called "auxillary resources")
This is probably going to be a bit tricky, and we might want to engage some kind of object browser and/or provide an API which lets other packages link to the SS package with a provided object id that you want to map to an activity. We basically want to go to great lengths to make it as convenient as possible for a sequence designer to compose a sequence.
(The objects which we map the activities to can of course be any kind of object, forum message, LORSm object, etc.)
Now we let the user take the sequence, that is traverse its activities, by using a navigation bar (which persists across package borders as well as off-site if need be). The navigation bar will either contain a link (or several links) to the next available activity/activities in the current sequence depending on the conditions/rules for the activity/sequence, OR, (if it is just a single activity available) the content associated with the next activity (according to the defined rules/conditions) will be *delivered* automatically by a redirect to the corresponding URL.
Finding out which *one* activity is "the next" in the sequence to be delivered is the main responsibility of the SS engine. That is basically what it *does*. It doesn't necessarily have to be the one which delivers the content, but it makes much sense that a service within the SS domain does this, IMO.
It is impossible for the SS engine to know in advance which activities in the sequence will be traversed or in what order. The activity to deliver next is determined by the SS engine "as time goes by" depending, for instance, on whether or not the Assessment package "reported" that the user received more or less than the number of points needed to pass a test (the number being defined by the sequence designer)
Can we steer this discussion over to how sequences will be created and how they are navigated/delivered for a moment?
Thoughts?