Gradebook Coordination - Denver 2010

Summary of current situation

We have worked our way into a situation where we have stronger gradebook options, but the gradebook is forked, and this is not desirable or maintainable. The goal is a coordinated plan which draws things back into a state of shared, community-based ownership of both the requirements and the codebase.

How We Got Here

Over the course of the last year there has been a lot of productive development work going toward gradebook functionality in Sakai. Gradebook 2, led by the team at UC Davis, has matured rapidly and generated a good bit of excitement. At the same time the team at IU has implemented a number of new gradebook features locally (in "Oncourse," IU's branded Sakai instance), while other functionality (eg. Conditional Release, Assignments 2) have started to make use of gradebook services. In short, there's been both user-facing improvements and a gradual repositioning of the gradebook back end as a more general set of services. These are all good things, but we need to work our way back into a more sustainable situation.

A constellation of gradebooks

At the time of this writing (July 2010) there are basically 3 gradebooks. Or, more precisely, 3 gradebook front-ends and 2 gradebook back-ends:

  1. The Basic Gradebook that ships with Sakai 2.x releases.
  2. Gradebook 2, which will be available as independent releases, and is led by the team at UCDavis. It introduces an entirely new presentation layer (using GWT), but runs on top of the same service layer as the Basic Gradebook.
  3. Oncourse Gradebook: IU's local implementation, which is currently a fork of the Basic Gradebook with extra features, introduced at a time when it was believed to be an interim solution until Gradebook 2 would be a standard part of Sakai releases.

IU is nominally responsible for both #1 and #3 above, and it can't support that situation. At the same time, there seems to be a reasonable alignment on desirable gradebook features, such that closer coordination and shared development should be possible.

However, Gradebook 2 includes an indispensable library which is licensed under GPL, and can't therefore be distributed as part of a Sakai release, although anyone is free to deploy it. This licensing issue prevents a simple solution of having a single gradebook (Sakai OOTB must have some gradebook interface, and if it can't be Gradebook 2 ...).

Gradebook 2 Licensing Issue

Gradebook 2 includes a GWT library that is distributed under GPL v3. It has FLOSS exceptions for ECL 2.0 for academic institutions, but if it were included in a Sakai release it would still constrain Sakai releases in a way they haven't been before. Specifically, it would constrain derivative works of Sakai to be distributed under an OS license. See:

http://extjs.com/products/gxt/ http://extjs.com/products/license.php http://extjs.com/products/floss-exception.php

Next Steps

  1. UC Davis and IU will come together in mid-August to come to an agreement on a shared data layer that won't put the Basic Gradebook at risk, and it's expected that this can be worked out in time for the 2.8 code freeze in mid-September. But the basic gradebook will remain the gradebook for the 2.8 release.
  2. Closely following the agreement on the data layer (but not in time for 2.8) will be a consolidation of the service layer, i.e. coming to an agreement on a shared Gradebook API.
  3. Gradebook 2 will start to put out independent releases, and make it as easy as possible for people to choose to deploy it with a vanilla Sakai release.

Open Questions

  1. Who else should be involved in this development work (Michigan? Rutgers?), or in coming to an agreement on a shared API
  2. Whether the OnCourse and Basic gradebooks might be merged altogether, or if IU might instead prefer to collaborate on Gradebook 2
  3. How the gradebook capabilities might be brought forward into Sakai 3

Appendices

Gradebook 2 functionality

Comprehensive list of functionality in GB2

  • Enhanced Categories and Weighting
  • Spreadsheet style grading
  • Drop lowest Scores
  • Excuse items per student
  • Equal and unequal item weighting
  • Extra Credit
    • Extra Credit items
    • Extra Credit Categories
  • Item level grader comments
  • Student View
  • Extensive logging of all transactions
  • Import/Export via csv
  • Import/Export structure as well as grades
  • Structure can be imported to copy Gradebook across sites/systems
  • Import eventually to be accessible Site Import
  • Statistics: percentages, medians, averages, class ranks, SD; Histograms and charts August 2010 (in QA Now)
  • Permission control by role
  • Letter Grading (converts to numeric, fixed scale)
  • Gradebook setup exercises for training Sub Items (requires structural changes, timing uncertain)*

Possible Future Features (requires data model and api changes; timing uncertain)

  • Sub Items
  • Multiple Gradebooks (e.g. for Sections) per site

IU Gradebook Enhancements

Listing of IU enhancements to generic Sakai JSF Gradebook

  • Non-calculating gradebook types
    • This supports grading with traditional letter grades as well as
  • Non-calculating Gradebook items
  • Non-calculating Grades are stored as they are entered as opposed to be manipulated upon save
  • Drop X highest (Gradebook 2 Feature Request GRBK-669)
  • Drop X Lowest (Included in Gradebook 2)
  • Keep X Highest (Gradebook 2 Feature Request  GRBK-504/285)_
  • Adjustment items (ie extra credit as well as negative credit) (is this Gradebook 2 Feature Request GRBK 219?)
  • Bulk creation of GB items (ie create homework1, homework2, etc) (Gradebook 2 Feature Request GRBK-671)
  • iRubric integration_(Gradebook 2 Feature Request_ GRBK 670)
  • Ability to specify institution specific Course Grade Overrides (Gradebook 2 Feature Request GRBK-672)

Other Solutions Considered

  1. Work out licensing issues with GB2, add in missing functionality from IU Gradebook to GB2 and work towards deprecation of JSF Gradebook.  If licensing not resolved GB2 could at least be released as an independently released tool  
    • Pros
      • Clear path towards minimizing redundancy of community resources
      • Strategy delivers slick Web 2.0 GB that users are clamoring for. 
      • rSmart Is adopting for its clients
      • At least 3 schools expect to adopt and can participate in code maintenance
      • UCD expects to continue enhancements including exploring Sakai 3 integration
      • Most likely Gradebook to get migrated to Sakai 3
    • Cons
      • Likelihood of working out licensing issues is small. If licensing issues can't be resolved, there will be no version of the GB  available for the foundation distribution
      • While GB2 development is ongoing, Sakai JSF GB will continue to be in maintenance mode (solely support for critical/security bug fixes)
  2. Maintain database/API's that support the JSF Gradebook and GB2 and do not extend capabilities of GB1 (ie do not merge back IU enhancements).   Release of GB2 as independent release that is will never be coupled with Sakai product distribution.
    • Pros
      • Continued ability to run JSF Gradebook and GB2
      • Independent release of GB provides mechanism of distribution in community without modifying the libraries used.
      • GB2 can be released as Independent release giving users choice
    • Cons
      • Continued maintenance of three separate gradebooks.  
      • Need to verify this changes do not adversely impact GB2 (review API's/DB structure). This could mean extra refactoring work.
      • Community distribution has stagnated gradebook in distribution.
  3. Maintain database/API's that support the JSF Gradebook and GB2 and extend capabilities of JSF Gradebook by merging back IU enhancements.   GB2 follows independent release with intention that it will never be coupled with Sakai product distribution.
    • Pros
      • Continued ability to run JSF Gradebook and GB2
      • Shared maintenance of service layer by more than one institution
      • Independent release of GB provides mechanism of distribution in community without modifying the libraries used.
      • Stockholm is (was?) running an early version of this gradebook so some features have had multiple institution production exposure
      • Enhancements community members have been requesting will be available
      • Rather than there being 3 GB's being maintained, there will now be 2.   
    • Cons
      • Need to verify this changes do not adversely impact GB2 (review API's/DB structure). This could mean extra refactoring work.
      • There is major data conversion required to move to this type of gradebook
      • IU will need to remove local integration with our Oncourse Original Test and Survey tool.  This will require IU to maintain 2 Gradebooks: IU local and the JSF version.
  4. Do nothing
    • Pros
      • Easy
    • Cons
      • DBA/API's could diverge and GB2 is not an easy drop in 
      • Maintenance may not be sustainable