Moodle
  1. Moodle
  2. MDL-31409

Incorporate Lightwork into the Moodle core

    Details

    • Rank:
      37931

      Description

      Lightwork is a marking tool for marking and managing student assignments. In addition to making the process more efficient, it also aims to encourage 'good' marking practices. The tool is implemented as a rich client Java application using the Eclipse Rich Client framework.

      Currently, Lightwork is installed as a local plugin using the OkTech SOAP implementation. The installation process can be complex for Moodle administrators.

      This work involves:

      1) Modifying Lightwork to use the Moodle web services instead of the OkTech SOAP implementation
      2) Adding new web services to Moodle core that Lightwork needs

        Issue Links

          Activity

          Hide
          Martin Dougiamas added a comment -

          These can't be just incorporated as-is wholesale. We need to break them down into generic web services that would work equally for non-Lightwork clients.

          Show
          Martin Dougiamas added a comment - These can't be just incorporated as-is wholesale. We need to break them down into generic web services that would work equally for non-Lightwork clients.
          Hide
          Paul Charsley added a comment -

          Hi Martin,

          Our page http://docs.moodle.org/dev/Lightwork has become out of date. I will update this page first so we can identify which web services need to be broken down.

          Note that web services such as getMarking() depend very much on the work we are doing with the EAM in http://docs.moodle.org/dev/Assignment. This web service returns allocations of students to markers for the purpose of marking assignment submissions. The ability to allocate assignment submissions to markers is functionality that we are collaborating on with Damyon and the EAM team. Once this functionality exists I would see a web service such as getMarking() as a generic web service that other clients would wish to use.

          Show
          Paul Charsley added a comment - Hi Martin, Our page http://docs.moodle.org/dev/Lightwork has become out of date. I will update this page first so we can identify which web services need to be broken down. Note that web services such as getMarking() depend very much on the work we are doing with the EAM in http://docs.moodle.org/dev/Assignment . This web service returns allocations of students to markers for the purpose of marking assignment submissions. The ability to allocate assignment submissions to markers is functionality that we are collaborating on with Damyon and the EAM team. Once this functionality exists I would see a web service such as getMarking() as a generic web service that other clients would wish to use.
          Hide
          Paul Charsley added a comment -

          Hi Everyone,

          In the existing Lightwork web services, in addition to the requested information we also return an array of warnings. This array may be empty or it may contain information about one or more warnings that were generated. These warnings are different from exceptions and are designed to provide the client with information that they can use to perform some form of corrective action.

          One example might be as follows:

          The client calls a Moodle web service that accepts feedback and marks for a list of students and processes them in some way
          However, one of these students has just been unenrolled from the course in Moodle

          Since all the other students can be successfully processed by the web service, it makes sense to process them
          and just return a warning message and code for the student that could not be processed.

          We would like to include this with all the new core web services that we are introducing. What do you think?

          Thanks, Paul

          Show
          Paul Charsley added a comment - Hi Everyone, In the existing Lightwork web services, in addition to the requested information we also return an array of warnings. This array may be empty or it may contain information about one or more warnings that were generated. These warnings are different from exceptions and are designed to provide the client with information that they can use to perform some form of corrective action. One example might be as follows: The client calls a Moodle web service that accepts feedback and marks for a list of students and processes them in some way However, one of these students has just been unenrolled from the course in Moodle Since all the other students can be successfully processed by the web service, it makes sense to process them and just return a warning message and code for the student that could not be processed. We would like to include this with all the new core web services that we are introducing. What do you think? Thanks, Paul
          Hide
          Damyon Wiese added a comment -

          Hi Paul,

          Re: your suggestion for a marking manager on the moodle ticket:

          http://tracker.moodle.org/browse/MDL-26997

          It sounds like a good suggestion and more features around marking etc. in Moodle would be welcomed.

          I see it sitting outside of the assignment though... ideally this would be part of gradelib and a module could have an API to integrate with the marking manager. This would make it available to workshops, quizes etc.

          The API would be something like:

          • extend standard_grading_coursemodule_elements to add settings for marking modes etc.
          • support a standard URL that a coursemodule can link to that will display the grading interface for the course module. e.g. /grade/gradingmanager.php?id=cmid
          • grade_display_feedback($cmid, $userid = null) - Show a table of information about the current submission for this user - including any released grade, the marking status and and feedback.
          • Allow feedback plugins (based on what I was planning for mod_assign) so people can write plugins like UploadPDF to provide feedback in novel ways (audio feedback is another example).
          • Other features like download all submissions would have to be done via callbacks etc.

          What do you think? (I especially like the idea of moving the grading interface out of the assign module).

          • Damyon
          Show
          Damyon Wiese added a comment - Hi Paul, Re: your suggestion for a marking manager on the moodle ticket: http://tracker.moodle.org/browse/MDL-26997 It sounds like a good suggestion and more features around marking etc. in Moodle would be welcomed. I see it sitting outside of the assignment though... ideally this would be part of gradelib and a module could have an API to integrate with the marking manager. This would make it available to workshops, quizes etc. The API would be something like: extend standard_grading_coursemodule_elements to add settings for marking modes etc. support a standard URL that a coursemodule can link to that will display the grading interface for the course module. e.g. /grade/gradingmanager.php?id=cmid grade_display_feedback($cmid, $userid = null) - Show a table of information about the current submission for this user - including any released grade, the marking status and and feedback. Allow feedback plugins (based on what I was planning for mod_assign) so people can write plugins like UploadPDF to provide feedback in novel ways (audio feedback is another example). Other features like download all submissions would have to be done via callbacks etc. What do you think? (I especially like the idea of moving the grading interface out of the assign module). Damyon
          Hide
          Paul Charsley added a comment -

          Hi Damyon,

          I understand that you would prefer not to include marking management in the assignment module. I will investigate the possibility of making it part of gradelib. However, some of the features that you mention above such as allowing feedback plugins to provide feedback are not really part of marking management. Marking management deals with:

          • The ability for a teacher to allocate students to their markers (manually,using an algorithmn, using predefined groups..)
          • Provide a marking process so that
            • The teacher can monitor the progress of their markers
            • The teacher can review marking prior to release to students
            • The teacher can return the marking to markers with comments on things they might need to change
            • The teacher can ensure consistency of marking by their markers

          Thanks, Paul

          Show
          Paul Charsley added a comment - Hi Damyon, I understand that you would prefer not to include marking management in the assignment module. I will investigate the possibility of making it part of gradelib. However, some of the features that you mention above such as allowing feedback plugins to provide feedback are not really part of marking management. Marking management deals with: The ability for a teacher to allocate students to their markers (manually,using an algorithmn, using predefined groups..) Provide a marking process so that The teacher can monitor the progress of their markers The teacher can review marking prior to release to students The teacher can return the marking to markers with comments on things they might need to change The teacher can ensure consistency of marking by their markers Thanks, Paul

            People

            • Votes:
              5 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated: