Details

    • Testing Instructions:
      Hide

      Testing difficulty: easy

      1. Enable activities and course completion tracking at the site
      2. Prepare at least three courses, enable completion tracking in all of them
      3. In one of the courses, create at least two activity modules and enable activity completion tracking for them
      4. TEST: Make sure there is Course administration > Course completion link (this was previously Course administration > Completion tracking) and follow it.
      5. TEST: Try to play with the form for a while. All strings should be there and working. When saved and opened for editing again, only enabled conditions should be expanded.

      The patch did not affect the functionality of the course completion itself, it just reorganised this form.

      Show
      Testing difficulty: easy Enable activities and course completion tracking at the site Prepare at least three courses, enable completion tracking in all of them In one of the courses, create at least two activity modules and enable activity completion tracking for them TEST: Make sure there is Course administration > Course completion link (this was previously Course administration > Completion tracking) and follow it. TEST: Try to play with the form for a while. All strings should be there and working. When saved and opened for editing again, only enabled conditions should be expanded. The patch did not affect the functionality of the course completion itself, it just reorganised this form.
    • Affected Branches:
      MOODLE_25_STABLE
    • Fixed Branches:
      MOODLE_25_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-38559-completion-ui
    • Rank:
      48577

      Description

      Quite a few sections on the completion tracking page (or is it 'Course completion settings'?) contain only one item. It would be good to reorganise the settings and group together more under each setting.

        Issue Links

          Activity

          Hide
          Helen Foster added a comment -

          Attaching screenshot of how the completion tracking page currently looks.

          Show
          Helen Foster added a comment - Attaching screenshot of how the completion tracking page currently looks.
          Hide
          Dan Poltawski added a comment -

          Upgrading priority of this one beacause it really sucks with shortforms.

          Show
          Dan Poltawski added a comment - Upgrading priority of this one beacause it really sucks with shortforms.
          Hide
          Jérôme Mouneyrac added a comment - - edited

          Here a suggestion, but I guess it needs much more braistorming.

          General settings most commonly changed settings - these settings are visible by default

          • Overall criteria type aggregation method

          Manual

          • Completion by Manager
          • Completion by Teacher
          • Completion by Non-editing teacher
          • Aggregation method
          • Enable self completion

          Timing

          • enable date
            • after specified date
          • enable duration after enrolment
            • days after enrolment

          Advanced settings

          • completion on unenrolment
          • activities completed aggregation method
            • Activity 1
            • Activity 2
            • Activity X
          • enable course grade
            • grade required

          Also I think we need to add help icons with help text. Please feel free to edit/fix this suggestion. I'll be happy to implement if needed (I'm still unsure at this stage of the acceptance of this issue after two weeks of code freeze as it looks to me to be a DEV issue and specs need to be validated). Cheers.

          Show
          Jérôme Mouneyrac added a comment - - edited Here a suggestion, but I guess it needs much more braistorming. General settings most commonly changed settings - these settings are visible by default Overall criteria type aggregation method Manual Completion by Manager Completion by Teacher Completion by Non-editing teacher Aggregation method Enable self completion Timing enable date after specified date enable duration after enrolment days after enrolment Advanced settings completion on unenrolment activities completed aggregation method Activity 1 Activity 2 Activity X enable course grade grade required Also I think we need to add help icons with help text. Please feel free to edit/fix this suggestion. I'll be happy to implement if needed (I'm still unsure at this stage of the acceptance of this issue after two weeks of code freeze as it looks to me to be a DEV issue and specs need to be validated). Cheers.
          Hide
          Mary Cooch added a comment -

          I agree with much of the above with these slight changes. (Rationale at the bottom)
          *General
          **Overall criteria type aggregation method
          **Completion dependencies
          *Manual
          **Completion by Manager
          **Completion by Teacher
          **Completion by Non-editing teacher
          **Aggregation method
          **Enable self completion
          *Timing
          **enable date
          **after specified date
          **enable duration after enrolment
          **days after enrolment
          **completion on unenrolment
          *Automatic
          **activities completed aggregation method
          **Activity 1
          **Activity 2
          **Activity X
          **enable course grade
          **grade required

          I don't like my own suggestion of "automatic" but I think the difference needs to be made between manual completion based on activities or a grade which happens automatically. I don't think they are advanced settings because I imagine them to be more commonly used than other settings. So just throwing this out for further consideration

          Show
          Mary Cooch added a comment - I agree with much of the above with these slight changes. (Rationale at the bottom) *General **Overall criteria type aggregation method **Completion dependencies *Manual **Completion by Manager **Completion by Teacher **Completion by Non-editing teacher **Aggregation method **Enable self completion *Timing **enable date **after specified date **enable duration after enrolment **days after enrolment **completion on unenrolment *Automatic **activities completed aggregation method **Activity 1 **Activity 2 **Activity X **enable course grade **grade required I don't like my own suggestion of "automatic" but I think the difference needs to be made between manual completion based on activities or a grade which happens automatically. I don't think they are advanced settings because I imagine them to be more commonly used than other settings. So just throwing this out for further consideration
          Hide
          Helen Foster added a comment -

          I suggest a more radical reorganisation of the course completion settings, with more descriptive setting and section names and also more descriptive setting options.

          General
          Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met (dropdown menu with 2 options)

          Activity completion conditions
          Activity 1
          Activity 2
          All of the above activities must be completed - Yes / No

          Course completion conditions
          Course 1
          Course 2

          Timing and enrolment conditions
          Course is complete on - date selector + enable checkbox
          Course is complete x days after enrolment (where x days is a dropdown menu)
          Course is complete when user unenrols - Yes / No

          Grade condition
          Grade required - box + enable checkbox

          Manual completion
          Manager can mark when course is complete
          Teacher can mark when course is complete
          Non-editing teacher can mark when course is complete
          All of the above roles are required to mark when course is complete - Yes / No
          User can mark when course is complete

          Notes:

          1. I found the phrase 'Aggregation method' difficult to understand, so it's nowhere to be found in my suggestion!
          2. Enable checkboxes should be positioned on the same line as the setting for consistency with settings elsewhere
          3. Settings with an enable checkbox should be disabled unless the checkbox is ticked (as elsewhere)
          Show
          Helen Foster added a comment - I suggest a more radical reorganisation of the course completion settings, with more descriptive setting and section names and also more descriptive setting options. General Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met (dropdown menu with 2 options) Activity completion conditions Activity 1 Activity 2 All of the above activities must be completed - Yes / No Course completion conditions Course 1 Course 2 Timing and enrolment conditions Course is complete on - date selector + enable checkbox Course is complete x days after enrolment (where x days is a dropdown menu) Course is complete when user unenrols - Yes / No Grade condition Grade required - box + enable checkbox Manual completion Manager can mark when course is complete Teacher can mark when course is complete Non-editing teacher can mark when course is complete All of the above roles are required to mark when course is complete - Yes / No User can mark when course is complete Notes: I found the phrase 'Aggregation method' difficult to understand, so it's nowhere to be found in my suggestion! Enable checkboxes should be positioned on the same line as the setting for consistency with settings elsewhere Settings with an enable checkbox should be disabled unless the checkbox is ticked (as elsewhere)
          Hide
          Helen Foster added a comment -

          Aaron, I have added you as a watcher hoping you have time to comment on the various suggestions for reorganising the course completion settings.

          Show
          Helen Foster added a comment - Aaron, I have added you as a watcher hoping you have time to comment on the various suggestions for reorganising the course completion settings.
          Hide
          David Mudrak added a comment -

          I'm on this.

          Show
          David Mudrak added a comment - I'm on this.
          Hide
          Frédéric Massart added a comment -

          Hi Helen,

          good job with the refactoring, it's looking really good! I like it because you've not considered the coding part at all, which makes it more challenging, but more user friendly! Here are a few remarks:

          1. I'm all for removing "Aggregation method", but I'm not sure if "All of the above activities must be completed - Yes / No" has the same meaning. From what I know about completion (not much), I'd say that "[Any or All] or the [Selected] activities" must be completed in order to be a validated criteria. (This applies to course as well).
          2. Unfortunately, having more descriptive labels will also cause them to be on multiple lines, which will affect the readability of the form as well. Do you think the longest could be shorten a bit?
          3. For instance, in Timing, "Course is completed" is repeated 3 times, but the whole form is about course completion, perhaps they could be shortened.
          4. I am not sure if plugins can add completion criterias, or rules, but if it's the case then we cannot put the "Enable" checkbox next to the rule, because it enables all the rules in that same section. If I'm wrong, then I like removing the Enable for Course complete after x days of enrolment and having an "None" value in the select box. This would require a bit of coding, but that makes total sense.
          5. +1 to disable the rules when the section crideria is not enabled.

          That's about it, great job!

          Cheers!
          Fred

          Show
          Frédéric Massart added a comment - Hi Helen, good job with the refactoring, it's looking really good! I like it because you've not considered the coding part at all, which makes it more challenging, but more user friendly! Here are a few remarks: I'm all for removing "Aggregation method", but I'm not sure if "All of the above activities must be completed - Yes / No" has the same meaning. From what I know about completion (not much), I'd say that " [Any or All] or the [Selected] activities" must be completed in order to be a validated criteria. (This applies to course as well). Unfortunately, having more descriptive labels will also cause them to be on multiple lines, which will affect the readability of the form as well. Do you think the longest could be shorten a bit? For instance, in Timing , "Course is completed" is repeated 3 times, but the whole form is about course completion, perhaps they could be shortened. I am not sure if plugins can add completion criterias, or rules, but if it's the case then we cannot put the "Enable" checkbox next to the rule, because it enables all the rules in that same section. If I'm wrong, then I like removing the Enable for Course complete after x days of enrolment and having an "None" value in the select box. This would require a bit of coding, but that makes total sense. +1 to disable the rules when the section crideria is not enabled. That's about it, great job! Cheers! Fred
          Hide
          David Mudrak added a comment -

          Right, this was tricky. Following the overall form usability guidelines in this case is not that trivial. I really like Helen's proposal on the form improvements. However, her suggested layout does not fully respect the logic of the underlying course completion machinery.

          The course completion code uses sort of pluggable criteria types that can be used together to define the course completion conditions. These criteria types (or groups) are currently displayed as separate sections of the form. And they all can be evaluated ("aggregated") using the logical expression AND or OR. So we can't really merge them together (as for example in "Timing and enrolment conditions") as the teacher would have no clue what conditions are to be considered as a single unit in the overall aggregation.

          So I decided to respect this backend design and each section of the form still refers to a single condition.

          I have added a code that expands a section if the given condition is currently used/enabled. So when the form is re-edited, only the active condition types are displayed. By default, all sections (but the first one) are collapsed as no conditions are defined.

          I got rid of the aggregation method selector and replaced it with context-sensitive and human readable drop-down menus.

          I added a help icon for each condition section header title that shortly summarizes what the condition is about. If nothing, it will at least help translators to realize what the string is about. Localizing core_condition is a night mare. This is partially caused by the fact that core_completion is now a hybrid of two initially independent projects (activities completion and course progress tracking).

          I tried to make condition names consistent with other screens that refer to it (like the completion report) but that would require even more significant changes to finish it fully.

          Finally, I fixed some coding guidelines violations and performed an overall code cleanup.

          As a result, the patchset is pretty big. But it should not affect anything but the UI so I think it is worth of integrating it yet, even so close to the 2.5 release. Let's admit that this form has been one of the most evil ones in Moodle. My patchset does not make it perfect but I believe it is much better now.

          To see the result of my work in action, I have set up a test site where you can test it:

          • URL http://preview.moodle.cz
          • There are users u001, u002, u003, ... u099, their password is the same as their username.
          • The user u001 is the site manager, use that account to play with the form settings in the Course fullname 001 (CF001).
          • Users u002, u003 and u004 are teacher in three courses there.
          • Users u010, ... u019 are students in the courses there.

          I will appreciate if you look at the form now, review the functionality and suggest help strings / other UI fixes and improvements. Thanks in advance.

          Show
          David Mudrak added a comment - Right, this was tricky. Following the overall form usability guidelines in this case is not that trivial. I really like Helen's proposal on the form improvements. However, her suggested layout does not fully respect the logic of the underlying course completion machinery. The course completion code uses sort of pluggable criteria types that can be used together to define the course completion conditions. These criteria types (or groups) are currently displayed as separate sections of the form. And they all can be evaluated ("aggregated") using the logical expression AND or OR. So we can't really merge them together (as for example in "Timing and enrolment conditions") as the teacher would have no clue what conditions are to be considered as a single unit in the overall aggregation. So I decided to respect this backend design and each section of the form still refers to a single condition. I have added a code that expands a section if the given condition is currently used/enabled. So when the form is re-edited, only the active condition types are displayed. By default, all sections (but the first one) are collapsed as no conditions are defined. I got rid of the aggregation method selector and replaced it with context-sensitive and human readable drop-down menus. I added a help icon for each condition section header title that shortly summarizes what the condition is about. If nothing, it will at least help translators to realize what the string is about. Localizing core_condition is a night mare. This is partially caused by the fact that core_completion is now a hybrid of two initially independent projects (activities completion and course progress tracking). I tried to make condition names consistent with other screens that refer to it (like the completion report) but that would require even more significant changes to finish it fully. Finally, I fixed some coding guidelines violations and performed an overall code cleanup. As a result, the patchset is pretty big. But it should not affect anything but the UI so I think it is worth of integrating it yet, even so close to the 2.5 release. Let's admit that this form has been one of the most evil ones in Moodle. My patchset does not make it perfect but I believe it is much better now. To see the result of my work in action, I have set up a test site where you can test it: URL http://preview.moodle.cz There are users u001, u002, u003, ... u099, their password is the same as their username. The user u001 is the site manager, use that account to play with the form settings in the Course fullname 001 (CF001). Users u002, u003 and u004 are teacher in three courses there. Users u010, ... u019 are students in the courses there. I will appreciate if you look at the form now, review the functionality and suggest help strings / other UI fixes and improvements. Thanks in advance.
          Hide
          Aaron Barnes added a comment -

          Hi David,

          Great start! Thanks so much for picking this up Is there any way make sections that are enabled expanded by default? It's quite difficult to see at a glance what the current settings are.

          Just some ideas for lang strings:

          [code]
          Edit course completion settings -> Edit criteria for course completion

          General -> Overall
          Course is complete when ALL conditions are met -> User completes course when they have met (ALL|ANY) criteria groups below

          Activities completed -> Activity criteria. [underneath]Activities that are required to complete this criteria
          [/code]

          How does that sound?

          As you can see I think we should stick with the term "criteria" rather than "condition", IMHO they mean the same thing but at least criteria is consistent with the code and previous versions. What do others think?

          I also agree with replacing "Aggregation method" with another term, but I'm not sure "Condition evaluation" is the right one. Is there a similar process elsewhere in Moodle we can re-use the term from? It might make it less confusing and more consistent.

          I think reiterating the "user will complete" statement will also help with confusion for new users.

          My 2c.

          Aaron

          Show
          Aaron Barnes added a comment - Hi David, Great start! Thanks so much for picking this up Is there any way make sections that are enabled expanded by default? It's quite difficult to see at a glance what the current settings are. Just some ideas for lang strings: [code] Edit course completion settings -> Edit criteria for course completion General -> Overall Course is complete when ALL conditions are met -> User completes course when they have met (ALL|ANY) criteria groups below Activities completed -> Activity criteria. [underneath] Activities that are required to complete this criteria [/code] How does that sound? As you can see I think we should stick with the term "criteria" rather than "condition", IMHO they mean the same thing but at least criteria is consistent with the code and previous versions. What do others think? I also agree with replacing "Aggregation method" with another term, but I'm not sure "Condition evaluation" is the right one. Is there a similar process elsewhere in Moodle we can re-use the term from? It might make it less confusing and more consistent. I think reiterating the "user will complete" statement will also help with confusion for new users. My 2c. Aaron
          Hide
          Aaron Barnes added a comment -

          One other thing, I think the activity section should have a note like the dependency section:
          "Activity completion must be set for an activity to appear in this list."

          Show
          Aaron Barnes added a comment - One other thing, I think the activity section should have a note like the dependency section: "Activity completion must be set for an activity to appear in this list."
          Hide
          David Mudrak added a comment -

          Hi Aaron

          Is there any way make sections that are enabled expanded by default?

          Yes - and as I mentioned above, I did it in the patch.

          With regarding to actual wording, Helen would be a better person to answer as she suggested most of the new terminology. Just note that UI does not necessarily need to be consistent with the code imho.

          Show
          David Mudrak added a comment - Hi Aaron Is there any way make sections that are enabled expanded by default? Yes - and as I mentioned above, I did it in the patch. With regarding to actual wording, Helen would be a better person to answer as she suggested most of the new terminology. Just note that UI does not necessarily need to be consistent with the code imho.
          Hide
          Aaron Barnes added a comment -

          Sorry, must have missed that. Just tried it out - works great.

          Thanks again

          Hopefully Helen can think about the best wording

          UI is looking good!

          Aaron

          Show
          Aaron Barnes added a comment - Sorry, must have missed that. Just tried it out - works great. Thanks again Hopefully Helen can think about the best wording UI is looking good! Aaron
          Hide
          Helen Foster added a comment -

          Great work David and many thanks Aaron for your valuable feedback. I'll happily go through all the setting names and help popups and suggest wordings.

          Just linking to a related issue - MDL-39419 - regarding the title of the page.

          Show
          Helen Foster added a comment - Great work David and many thanks Aaron for your valuable feedback. I'll happily go through all the setting names and help popups and suggest wordings. Just linking to a related issue - MDL-39419 - regarding the title of the page.
          Hide
          Frédéric Massart added a comment -

          Good job David,

          I looked at your patch and didn't notice anything bad. I just wonder if you should handle the else case when creating the select options for the aggregation method. It might be better to throw an exception if an unknown value is returned.

          Regarding the wording, this is what I shared with Helen:

          • I liked the 'condition' in section names in Helen's suggestion. (Activity conditions, ...)
          • Enable [ ] could be renamed to something which is more descriptive, like Enable this condition [yes/no], or keeping a checkbox but a more descriptive label in any case.
          • When the section only contains "Enable", I think they could use a simple static element to reassure the user that he has nothing else to do but enable the condition. Ie: "This condition does not have any option".
          • Also, in Helen's suggestions some labels were more descriptive. I don't fully understand what "Condition is met after [date]" or "Days after enrolment [days]".

          Almost there !

          Cheers,
          Fred

          Show
          Frédéric Massart added a comment - Good job David, I looked at your patch and didn't notice anything bad. I just wonder if you should handle the else case when creating the select options for the aggregation method. It might be better to throw an exception if an unknown value is returned. Regarding the wording, this is what I shared with Helen: I liked the 'condition' in section names in Helen's suggestion. ( Activity conditions , ...) Enable [ ] could be renamed to something which is more descriptive, like Enable this condition [yes/no] , or keeping a checkbox but a more descriptive label in any case. When the section only contains "Enable", I think they could use a simple static element to reassure the user that he has nothing else to do but enable the condition. Ie: "This condition does not have any option". Also, in Helen's suggestions some labels were more descriptive. I don't fully understand what "Condition is met after [date] " or "Days after enrolment [days] ". Almost there ! Cheers, Fred
          Hide
          Helen Foster added a comment -

          Trying to incorporate everyone's great suggestions, I've come up with this:

          General
          Overall completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met

          Activity conditions
          Activity 1
          Activity 2
          Completion requirements - Conditions are met when ALL of the selected activities are completed / Conditions are met when ANY of the selected activities are completed

          Note: Activity completion must be set for an activity to appear in the above list.

          Course conditions
          Course 1
          Course 2
          Completion requirements - Conditions are met when ALL of the selected courses are completed / Conditions are met when ANY of the selected courses are completed

          Note: Course completion criteria must be set for a course to appear in the above list.

          Date
          Course is complete on - date selector + enable checkbox

          Enrolment
          Course is complete a specified number of days after enrolling - Yes/No
          Days after enrolling

          Unenrolment
          Course is complete when user unenrols - Yes/No

          Grade condition
          Course is complete when required grade is achieved - Yes/No
          Grade required

          Manual self completion
          User marks when the course is complete - Yes/No

          Note: This condition requires the self completion block to be added to the course.

          Manual completion by others
          Users with the following roles mark when the course is complete:
          Manager
          Teacher
          Non-editing teacher
          Completion requirements - Conditions are met when ALL of the selected roles mark the course as complete / Conditions are met when ANY of the selected roles mark the course as complete

          Note: Roles listed are ones for which the capability moodle/course:markcomplete is allowed.

          Notes about my suggested reorganisation:

          1. Regarding whether to use 'Conditions' or 'Criteria', although course completion currently uses criteria, I chose 'Conditions' for consistency with activity completion (e.g. "Show activity as complete when conditions are met"). Another reason for choosing 'Conditions' is that 'Criteria' is already used quite a bit in Moodle - mod_assign, core_badges, core_grades, gradingform_guide, mod_survey, mod_workshop and workshopform_rubric - normally in the context of grading. (Note: If we choose to use 'Conditions' then various course completion strings would need changing.)
          2. I suggest the page title is 'Edit conditions for course completion'.
          3. You'll notice I replaced 'Condition evaluation' with 'Completion requirements', which I hope is easily understandable together with the descriptive dropdown menu (idea copied from activity completion). Fred, you're probably a good person to judge - what do you think?
          4. David, please shout if you find the setting names too long, and I'll figure out how to shorten them.
          5. Still to do: help popup wording
          Show
          Helen Foster added a comment - Trying to incorporate everyone's great suggestions, I've come up with this: General Overall completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met Activity conditions Activity 1 Activity 2 Completion requirements - Conditions are met when ALL of the selected activities are completed / Conditions are met when ANY of the selected activities are completed Note: Activity completion must be set for an activity to appear in the above list. Course conditions Course 1 Course 2 Completion requirements - Conditions are met when ALL of the selected courses are completed / Conditions are met when ANY of the selected courses are completed Note: Course completion criteria must be set for a course to appear in the above list. Date Course is complete on - date selector + enable checkbox Enrolment Course is complete a specified number of days after enrolling - Yes/No Days after enrolling Unenrolment Course is complete when user unenrols - Yes/No Grade condition Course is complete when required grade is achieved - Yes/No Grade required Manual self completion User marks when the course is complete - Yes/No Note: This condition requires the self completion block to be added to the course. Manual completion by others Users with the following roles mark when the course is complete: Manager Teacher Non-editing teacher Completion requirements - Conditions are met when ALL of the selected roles mark the course as complete / Conditions are met when ANY of the selected roles mark the course as complete Note: Roles listed are ones for which the capability moodle/course:markcomplete is allowed. — Notes about my suggested reorganisation: Regarding whether to use 'Conditions' or 'Criteria', although course completion currently uses criteria, I chose 'Conditions' for consistency with activity completion (e.g. "Show activity as complete when conditions are met"). Another reason for choosing 'Conditions' is that 'Criteria' is already used quite a bit in Moodle - mod_assign, core_badges, core_grades, gradingform_guide, mod_survey, mod_workshop and workshopform_rubric - normally in the context of grading. (Note: If we choose to use 'Conditions' then various course completion strings would need changing.) I suggest the page title is 'Edit conditions for course completion'. You'll notice I replaced 'Condition evaluation' with 'Completion requirements', which I hope is easily understandable together with the descriptive dropdown menu (idea copied from activity completion). Fred, you're probably a good person to judge - what do you think? David, please shout if you find the setting names too long, and I'll figure out how to shorten them. Still to do: help popup wording
          Hide
          Aaron Barnes added a comment -

          Thanks Helen, looks good

          Show
          Aaron Barnes added a comment - Thanks Helen, looks good
          Hide
          Frédéric Massart added a comment - - edited

          Great suggestion, Helen. Thanks!

          My 2c:

          • Unfortunately, I think that Enable cannot be merged with another following setting. Because in the future, there could be more conditions added to the section.
          • While the labels are really descriptive, which is great, they will definitely go on multilines, which I'm not sure will make it easier to be read and understood.
          • I'm not a fan of Completion requirements, because I think that the whole form is made of "completion requirements". To me this setting represents the way the requirements/conditions will work together to define whether or not this "Filter/Section/Type of condition" has met the requirements to be considered as "True". I can't really think of anything, but even if the options are self explanatory, I'm not convinced "Completion requirements" is the right label.

          Stupid ideas:

          • This set is valid when:
          • Logic desired:
          • All/any:

          Tree

          • Course completion conditions/requirements
            • Condition group: type A
              • Condition 1
              • Condition 2
              • Condition 3
            • Condition group: type B
              • Condition 1
              • Condition 2
              • Condition 3

          Just thought that, if we were to generalise Enable to something like Enable this condition set, we could reuse Condition set for Completion requirements, as in Condition set requires....

          Show
          Frédéric Massart added a comment - - edited Great suggestion, Helen. Thanks! My 2c: Unfortunately, I think that Enable cannot be merged with another following setting. Because in the future, there could be more conditions added to the section. While the labels are really descriptive, which is great, they will definitely go on multilines, which I'm not sure will make it easier to be read and understood. I'm not a fan of Completion requirements , because I think that the whole form is made of "completion requirements". To me this setting represents the way the requirements/conditions will work together to define whether or not this "Filter/Section/Type of condition" has met the requirements to be considered as "True". I can't really think of anything, but even if the options are self explanatory, I'm not convinced "Completion requirements" is the right label. Stupid ideas: This set is valid when: Logic desired: All/any: Tree Course completion conditions/requirements Condition group: type A Condition 1 Condition 2 Condition 3 Condition group: type B Condition 1 Condition 2 Condition 3 Just thought that, if we were to generalise Enable to something like Enable this condition set , we could reuse Condition set for Completion requirements , as in Condition set requires... .
          Hide
          Helen Foster added a comment - - edited

          Fred, thanks for your further feedback. My latest (and hopefully last!) suggested reorganisation includes 'Enable' check-boxes. I also changed 'Completion requirements' to 'Condition requires', and David came up with the idea of naming sections 'Condition: Activity completion' etc. David also pointed out that we shouldn't use the phrase 'Course is complete when...' for particular conditions, as they may only be complete when other conditions are met too.

          I realise that changing 'Dependencies' to 'Course conditions' will require making changes elsewhere too, however I think it's worth it in order to have a far more descriptive section name.

          I still have to come up with help pop-ups, but was thinking that text such as 'Activity completion must be set for an activity to appear in the list.' could be included in the help, to keep the form as uncluttered as possible. What do you think?

          General
          Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met

          Condition: Activity completion
          Activity 1
          Activity 2
          Condition requires - ALL selected activities to be completed / ANY selected activities to be completed

          Condition: Course completion
          Course 1
          Course 2
          Condition requires - ALL selected courses to be completed / ANY selected courses to be completed

          Condition: Date
          Enable
          Condition met on

          Condition: Enrolment
          Enable
          Days after enrolling when condition is met

          Condition: Unenrolment
          Enable

          Condition: Grade
          Enable
          Grade required

          Condition: Manual self completion
          Enable

          Condition: Manual completion by others
          Manager
          Teacher
          Non-editing teacher
          Condition requires - ALL selected roles can mark when the condition is met / ANY selected roles can mark when the condition is met

          Show
          Helen Foster added a comment - - edited Fred, thanks for your further feedback. My latest (and hopefully last!) suggested reorganisation includes 'Enable' check-boxes. I also changed 'Completion requirements' to 'Condition requires', and David came up with the idea of naming sections 'Condition: Activity completion' etc. David also pointed out that we shouldn't use the phrase 'Course is complete when...' for particular conditions, as they may only be complete when other conditions are met too. I realise that changing 'Dependencies' to 'Course conditions' will require making changes elsewhere too, however I think it's worth it in order to have a far more descriptive section name. I still have to come up with help pop-ups, but was thinking that text such as 'Activity completion must be set for an activity to appear in the list.' could be included in the help, to keep the form as uncluttered as possible. What do you think? General Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met Condition: Activity completion Activity 1 Activity 2 Condition requires - ALL selected activities to be completed / ANY selected activities to be completed Condition: Course completion Course 1 Course 2 Condition requires - ALL selected courses to be completed / ANY selected courses to be completed Condition: Date Enable Condition met on Condition: Enrolment Enable Days after enrolling when condition is met Condition: Unenrolment Enable Condition: Grade Enable Grade required Condition: Manual self completion Enable Condition: Manual completion by others Manager Teacher Non-editing teacher Condition requires - ALL selected roles can mark when the condition is met / ANY selected roles can mark when the condition is met
          Hide
          Aaron Barnes added a comment -

          Hi Helen,

          >I still have to come up with help pop-ups, but was thinking that text such as 'Activity completion must be set for an activity to appear in the list.' could be included in the help, to keep the form as uncluttered as possible. What do you think?

          I think this should remain on the page, as I've seen the behavior confuse many people (it's not entirely obvious).

          Thanks,
          Aaron

          Show
          Aaron Barnes added a comment - Hi Helen, >I still have to come up with help pop-ups, but was thinking that text such as 'Activity completion must be set for an activity to appear in the list.' could be included in the help, to keep the form as uncluttered as possible. What do you think? I think this should remain on the page, as I've seen the behavior confuse many people (it's not entirely obvious). Thanks, Aaron
          Hide
          David Mudrak added a comment -

          ... could be included in the help, to keep the form as uncluttered as possible. What do you think?

          My +1 to include it in help, to be consistent with other forms in Moodle. If people miss their activity in the list, the will look into the help. If they already know how it works, the line is useless for them. I generally prefer this approach - tune Moodle UI for experienced users and provide an easy way for beginners to learn it.

          Show
          David Mudrak added a comment - ... could be included in the help, to keep the form as uncluttered as possible. What do you think? My +1 to include it in help, to be consistent with other forms in Moodle. If people miss their activity in the list, the will look into the help. If they already know how it works, the line is useless for them. I generally prefer this approach - tune Moodle UI for experienced users and provide an easy way for beginners to learn it.
          Hide
          Frédéric Massart added a comment -

          My +1 for the help too.
          Also, what about Enable being Enable this condition. Enable alone, is... alone .

          Show
          Frédéric Massart added a comment - My +1 for the help too. Also, what about Enable being Enable this condition . Enable alone, is... alone .
          Hide
          Mary Cooch added a comment -

          I think "Enable" alone is fine - people will know what they are enabling, and it makes it shorter

          Show
          Mary Cooch added a comment - I think "Enable" alone is fine - people will know what they are enabling, and it makes it shorter
          Hide
          Helen Foster added a comment -

          Thanks everyone for your further comments. From chatting with David we've decided for now to try keep the settings as easy to understand as possible so that help popups are hopefully not needed. If it turns out that they are, we can add them later.

          Fred, I did think about 'Enable this condition', but decided to stick with just 'Enable' for consistency with other forms.

          Here's what David and I came up with (note rewording of date and enrolment setting names):

          General
          Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met

          Condition: Activity completion
          Activity 1
          Activity 2
          Condition requires - ALL selected activities to be completed / ANY selected activities to be completed

          Note: Activity completion must be set for an activity to appear in the above list.

          Condition: Course completion
          Course 1
          Course 2
          Condition requires - ALL selected courses to be completed / ANY selected courses to be completed

          Note: Course completion criteria must be set for a course to appear in the above list.

          Condition: Date
          Enable
          User must remain enrolled until

          Condition: Enrolment
          Enable
          User must remain enrolled for

          Condition: Unenrolment
          Enable

          Condition: Grade
          Enable
          Required course grade

          Condition: Manual self completion
          Enable

          Note: The self completion block should be added to the course if manual self completion is enabled.

          Condition: Manual completion by others
          Manager
          Teacher
          Non-editing teacher
          Condition requires - ALL selected roles can mark when the condition is met / ANY selected roles can mark when the condition is met

          Note: Roles listed are ones for which the capability moodle/course:markcomplete is allowed.

          Show
          Helen Foster added a comment - Thanks everyone for your further comments. From chatting with David we've decided for now to try keep the settings as easy to understand as possible so that help popups are hopefully not needed. If it turns out that they are, we can add them later. Fred, I did think about 'Enable this condition', but decided to stick with just 'Enable' for consistency with other forms. Here's what David and I came up with (note rewording of date and enrolment setting names): General Completion requirements - Course is complete when ALL conditions are met / Course is complete when ANY of the conditions are met Condition: Activity completion Activity 1 Activity 2 Condition requires - ALL selected activities to be completed / ANY selected activities to be completed Note: Activity completion must be set for an activity to appear in the above list. Condition: Course completion Course 1 Course 2 Condition requires - ALL selected courses to be completed / ANY selected courses to be completed Note: Course completion criteria must be set for a course to appear in the above list. Condition: Date Enable User must remain enrolled until Condition: Enrolment Enable User must remain enrolled for Condition: Unenrolment Enable Condition: Grade Enable Required course grade Condition: Manual self completion Enable Note: The self completion block should be added to the course if manual self completion is enabled. Condition: Manual completion by others Manager Teacher Non-editing teacher Condition requires - ALL selected roles can mark when the condition is met / ANY selected roles can mark when the condition is met Note: Roles listed are ones for which the capability moodle/course:markcomplete is allowed.
          Hide
          David Mudrak added a comment -

          OK. So finally I'm submitting this for integration. The patch has ~1000 lines but that it mainly caused by fixing syntax of all the strings in lang/en/completion.php (that would happen soon due to en_fix merge anyway) and because of the order of sections in the form has changed. Otherwise I was trying not to touch any implementation logic code at all.

          Credit should go to Helen as she designed most of these improvements. Thanks.

          Show
          David Mudrak added a comment - OK. So finally I'm submitting this for integration. The patch has ~1000 lines but that it mainly caused by fixing syntax of all the strings in lang/en/completion.php (that would happen soon due to en_fix merge anyway) and because of the order of sections in the form has changed. Otherwise I was trying not to touch any implementation logic code at all. Credit should go to Helen as she designed most of these improvements. Thanks.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Seems that there are not many differences, really. Integrated, thanks!

          Show
          Eloy Lafuente (stronk7) added a comment - Seems that there are not many differences, really. Integrated, thanks!
          Hide
          Andrew Davis added a comment -

          Works as described. Passing.

          Show
          Andrew Davis added a comment - Works as described. Passing.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Did you think this day was not going to arrive ever?

          Your patience has been rewarded, yay, sent upstream, thanks!

          Closing...ciao

          Show
          Eloy Lafuente (stronk7) added a comment - Did you think this day was not going to arrive ever? Your patience has been rewarded, yay, sent upstream, thanks! Closing...ciao
          Hide
          Mary Cooch added a comment -

          Removing docs_required as these new settings have been documented here http://docs.moodle.org/25/en/Course_completion_settings -and very welcome they are too

          Show
          Mary Cooch added a comment - Removing docs_required as these new settings have been documented here http://docs.moodle.org/25/en/Course_completion_settings -and very welcome they are too

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: