Home

Contrib: Conditional Release

January 2010

Conditional Release is in QA and has been slated for release with Sakai 2.7. It is now available in Sakai's trunk code and the 2.7.x branch.

Incubation to Release (Updated 2010-01-26)

Status

Item

Notes

(tick)

Project is being tracked in the Management/Project Coordination space

here

(tick)

Project has institutional sponsor

Currently Rutgers and Georgia Tech

(tick)

Code is in production

Currently Georgia Tech

(tick)

Project has a documentation home

 

(tick)

Project has a source code home

kernel content gradebook

(tick)

Status is published

This is it.

(tick)

Use cases are spelled out

See use cases below.

(tick)

Use Case: Instructor can apply conditions to resources on the basis of events from the Gradebook

This works now.

(warning)

Use Case: Sakai Developer can create new consumer and/or producer of conditions

Producers have yet to be broadcast to consumers.

(error)

Use Case: Site participants receive notifications when their resource becomes available

Currently, participants will receive notification too soon, or not at all

(tick)

Use Case: Sakai Administrator can opt in or out of Conditional Release

conditions.service.enabled=true

(warning)

Code has automated tests

a few rudimentary tests are part of the build

(warning)

Project has written QA test cases

In progress: CR Testing Guide

(tick)

Project known-issues are in JIRA

http://jira.sakaiproject.org/browse/CR

(error)

Project has no unresolved blocker or critical issues

 

(tick)

Project has an owner for post-release issues

Aeroplane Software will donate the necessary hours

(tick)

Service APIs have JavaDocs

http://jira.sakaiproject.org/browse/KNL-336

(error)

Project has release-ready executive summary

 

(error)

Project has release-ready admin guide

 

(error)

Project has release-ready developer guide

 

(error)

Project has release-ready help files

 

Description of Conditional Release

Conditional Release is a feature being considered for inclusion in Sakai 2.7 which allows a worksite maintainer to specify a condition that must be met for some piece of content to be shown ("released") to other users, typically students. This image shows setting a condition in the Resources tool:

Use Cases

Instructor Can Apply Conditions to Resources on the Basis of Events from the Gradebook

The original motivating use case for Conditional Release is the ability to have resources (files, folders, etc.) become visible to students only after some Gradebook condition has been met (e.g., their grade on a particular assignment is a above or below a specified threshold).

The instructor will be able to apply conditions to a site resource in the same way that dates of availability are applied (since Sakai 2.5): the Edit Details panel of any resource will have a section for assigning a condition from the Gradebook that must be met on a student-by-student basis before the resource will be visible to the student.

The instructor will be required to select a Gradebook item from a drop-down list. All the current Gradebook items for the site will be displayed in the list.

The following Gradebook events will serve as the basis for conditional release of resources:

  • due date has passed
  • due date has not passed
  • has been released to students
  • has not been released to students
  • is included in course grade
  • is not included in course grade
  • grade is less than (some number)
  • grade is greater than or equal to (some number)
Sakai Developer Can Create new Consumers and Producers of Conditions

Once the Conditions infrastructure is in Sakai, it should be possible for a tool or service developer to create new condition consumers and producers.

Condition Producer: a service can become a condition producer by advertising to the rest of the system the information that it makes available. The Gradebook, for example, produces information about whether a particular item has been graded, and what the score is. This information can become the basis for a condition.

Condition Consumer: a service that makes sets up new conditions and responds in some way when the condition has been met. The Resources tool is a condition consumer that makes inquiries of the Gradebook (the producer), and when the condition has been met for a particular user, switches on availability of that resource for that user.

As an example of something that a developer might do, an Evaluation service could be a condition producer, sending notifications when a user completes an evaluation. A tool such as the Gradebook could consume these conditions, and only display a term grade if the student has completed an evaluation.

Sakai Administrator Can Opt In or Out of Conditional Release

As with dates of availability, conditional release will be disabled by default, so that institutions that aren't interested in it won't have to do anything to turn it off. A property in sakai.properties will be available to activate the conditions service and any condition producers or consumers will check the property before performing any conditions-related operations.

Site Participants Receive Notifications When Their Resource Becomes Available

The Resources tool allows site maintainers to send email notification at the time a resource is added, or when it enters its period of availability. The notifications should be sensitive to conditional release, and if configured to notify, should send the notification on a case-by-case basis, only when the resource becomes available.

Older Release Information

Available for Sakai 2.4.x

Conditional Release has been released for Sakai 2.4.x. Here is some additional information:
Installation Guide
Developer's Guide

Proposal from 2007

The original proposal document is archived here.

Table of Contents