Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Note

By introducing a new UI that makes use of the existing services, we can minimize the impact on institutions that want to stick with the old gradebook – it should even be possible to run both side-by-side, if that's desirable to an institution.

One major consideration if we choose to stay with JSF is how we're going to manage the merge back to trunk once we've completed our changes. We need to examine how difficult it's going to be to preserve the existing functionality and use configuration parameters to toggle between a "Classic" and "Enhanced" version of the tool.

Summary of Pages

{span:style=} h5. Legend ||Icon||Meaning|| |(+)|New page| |(*)|This page will be modified| |(x)|This page will be removed/replaced by modifications or new functionality| |(/)|This page is required in largely the same form as it currently exists| {span}
Wiki Markup
Span
stylefloat:right;font-size:8px

...

Wiki Markup
{span:title=allows instructor to grade an arbitrary number of assignments for different grouping of students and/or to view student grade data in a read-only version}[#Course Multi-Grade]{span}

...

Wiki Markup
{span:title=allows instructor to add/modify/remove assignments}Gradebook Items{span}

...

Wiki Markup
{span:title=allows instructor to grade a single assignment for all users}Gradebook Items Grade Single Item All Students{span}

...

Wiki Markup
{span:title=allows instructor to grade all assignments for a single user}Gradebook Items Grade All Items Single Student{span}

...

Wiki Markup
{span:title=the student's read-only view of all graded assignments and course grade}[#Grade Report for Student]{span}

...

Wiki Markup
{span:title=displays all grades for all students (or a section/group)}Roster (All Grades){span}

...

Wiki Markup
{span:title=allows instructor to modify/override the calculated course grade for all students}Course Grades {span}

...

Wiki Markup
{span:title=allows instructor to change settings and add categories and weighting for this gradebook}[#Gradebook Setup] {span}

...

Wiki Markup
{span:title=allows instructor to set/modify the cut-offs for letter grades}Course Grade Options {span}

...

Legend

Icon

Meaning

(plus)

New page

(star)

This page will be modified

(error)

This page will be removed/replaced by modifications or new functionality

(tick)

This page is required in largely the same form as it currently exists

  1. (plus)

    Span
    titleallows instructor to grade an arbitrary number of assignments for different grouping of students and/or to view student grade data in a read-only version
    #Course Multi-Grade

  2. (error)

    Span
    titleallows instructor to add/modify/remove assignments
    Gradebook Items

  3. (error)

    Span
    titleallows instructor to grade a single assignment for all users
    Gradebook Items Grade Single Item All Students

  4. (tick)

    Span
    titleallows instructor to grade all assignments for a single user
    Gradebook Items Grade All Items Single Student

  5. (star)

    Span
    titlethe student's read-only view of all graded assignments and course grade
    #Grade Report for Student

  6. (error)

    Span
    titledisplays all grades for all students (or a section/group)
    Roster (All Grades)

  7. (error)

    Span
    titleallows instructor to modify/override the calculated course grade for all students
    Course Grades

  8. (star)

    Span
    titleallows instructor to change settings and add categories and weighting for this gradebook
    #Gradebook Setup

  9. (error)

    Span
    titleallows instructor to set/modify the cut-offs for letter grades
    Course Grade Options

  10. (tick)

    Span
    titleallows instructor to export the student grades in a spreadsheet and then re-import them once they've been modified
    Import Grades

Strategy

Excerpt

In summary, of the existing 9 "pages" in Gradebook, we are proposing the extensive modification of 2, the elimination of 5, and the addition of 1 to replace most of the functionality in the ones being removed. This should greatly improve the user experience of Gradebook and simplify all of the day-to-day tasks it involves.

Given how extensive our changes are, we have to make a decision as to whether it's going to be worthwhile to modify the existing JSF webapp or if we can accomplish our goals more efficiently and effectively by bringing in a new framework. We have decided to go ahead with a new UI. Currently, our best guess is that this will be implemented using the Google Web Toolkit (GWT). There is a remote possibility that we might have to step back from this and implement using JQuery to build dynamic html pages that talk to the server through AJAX over a JSON data transport layer. This is the more "home-grown" version of the same solution we'd like to put into place using GWT.

We may want to take into account the following considerations:

  • How can we integrate our changes so they do not negatively impact schools that wish to continue to use the existing functionality in its current configuration?
  • Also, how easily can we convince the community to merge our branch changes back into trunk?
  • What is the complexity and development cost for developing in JSF versus a newer framework?
  • What are the performance implications of each strategy? using GWT or JQuery.

If we decide to go ahead with a new framework, then:

  • What kind of support is there within the Sakai community and the larger Open Source community for the framework we choose?
  • How rapidly can we replace existing JSF functionality in this new framework without introducing new bugs?

...