Contrib: Conditional Release
What is Conditional Release?Conditional Release (CR) is a subset of the larger concept of workflow. Workflow in broad-strokes can be defined within two contexts of use: 1) document control workflow, and 2) pedagogical model workflow. Document control workflow refers to defining and sequencing a process of creating, editing, review, approving, publishing, managing, archiving, and related document task workflow, incorporating subsequent concepts of sharing, version control, and access control. Related, but very different in goal, is the pedagogical model workflow, which refers to defining and sequencing a process of guiding a learner through learning objectives. In this model, an instructor defines a process where conditional release is a core part of the workflow: directing the learner through resources and activities based on demonstrated understanding. The ProblemThe current Resources tool applies a layer of access control to content based on date. In the interface this is termed "Availability," and it allows instructors to hide and reveal content at certain predetermined dates and times. This kind of access control allows very rudimentary CR, but is not sufficient to meet the goal of the pedagogical model. A learning resource that is released to a learner only on the basis of predetermined date might be able to tie release of subsequent curriculum to the date of an exam, for instance, but does not factor in the true pedagogical model (did the learner actually take the exam, if so, how did she score, what areas need prescriptive learning, etc.). The layer of access control must be expanded to allow for hiding and revealing of content, resources, and activities based on learning process; demonstrating understanding or completing an activity, for example. See User Scenarios and Use Cases for more detail. MotivationsThe chief motivation behind CR is to provide the primary functionality to support pedagogical workflow in Sakai. This in turn will hopefully spark further thought, design, implementation, and improvement of pedagogical workflow and holistic CLE workflow in Sakai. The CR feature need is immediate for Georgia Tech, but it is still merely an early step toward a larger goal: more sophisticated flows between content, learning activities, etc. In a word, a CLE workflow engine. The CR work should pave the way toward this future. User Scenarios and Use CasesThe primary persona is Sarah Windsor, faculty. Sarah's Goals:
If conditional release is to accomplish Sarah's goals, it will need to:
ScenariosSarah wants to limit the availability of section two of her curriculum until students have demonstrated the desired level of understanding of section one. Sarah has created review material for a section of her curriculum. Sarah wants to have the review material become available a week prior to the exam. Sarah has created remedial material for a section one of her curriculum, and wants the remedial material made available to students who do not demonstrate the desired level of understanding of section one. Sarah wants to create an online discussion session around one of her assignments, but she wants to limit access to the discussion to students who have completed the assignment. Sarah wants to limit access to assignment two until students have completed assignment one and participated in a discussion of assignment one. Design IdeasThe Conditional Release (CR) work comes out of a desire for a more general facility for triggering access to new content. "General" in two senses, then:
The problem space is thus largely outside the scope of any particular tool, and calls for a shared service approach - a service which has the responsibility for moderating this communication across tools concerning rule application, etc. A First ApproachOne approach to the problem and its larger context would be to implement CR from the ground up as a first step toward a more robust Sakai-workflow architecture. Here is one such proposal: conditional-release-technical-proposal.pdf The initial phase of this work would have essentially two deliverables:
The 'Backwards' ApproachAnother approach would be to start with a ready-made workflow engine, integrate it into Sakai, and implement CR as a very simple workflow case. Reasons for doing so include the wide availability of workflow engines, as well as providing a far more generalizable architecture for content management and cross-tool interactions. A prime candidate for such a workflow engine would be Kuali Enterprise Workflow (KEW). It might be integrated as a Sakai service. Suggested InterfaceConditional release is essentially a rules system, and thus might follow the interaction for setting up Email rules or filters. For example, Mozilla Thunderbird's email filter interface:
Design IssuesLogic ProblemsSpecifying Rules amounts to a form of declarative programming. While providing Sakai a measure of dynamism and power, it also enables site maintainers to introduce bugs into their resources, which poses complications for support. Rules subject us to all the vagaries of boolean logic. For example, here is a rule that will always fail:
As a practical matter, it may prove very difficult to safeguard Conditional Release against logical errors, and impossible to prevent semantic errors, i.e., rules that fail to express the author's intent. Note that the Mozilla Thunderbird filter does nothing to prevent logical errors of this kind. The support issue is especially thorny because the course instructor will never see the operation of the rule; they only apply for students, and then only when the special set of circumstances have been met. We could imagine various implementations of testing strategies to help users validate their rules, but this is a hard problem and a large scope. |
Participants |


Comments (3)
Sep 07, 2007
Stephen Marquard says:
We (UCT) have an interest in conditional availability based on completion of cou...We (UCT) have an interest in conditional availability based on completion of course evaluations through the contrib evaluation system. This would mean presumably evaluation being a "condition provider". It's also been suggested that Gradebook could be a consumer in the sense that students couldn't see their current grades until they complete some other action.
Sep 13, 2007
Zach A. Thomas says:
Excellent, Stephen. These are exactly the kind of use cases we intend to be able...Excellent, Stephen. These are exactly the kind of use cases we intend to be able to support.
Sep 21, 2007
Stuart Freeman says:
Here's the pseudo activitydiagram we came up with: !conditionservice.png!Here's the pseudo activity-diagram we came up with:
