Moodle
  1. Moodle
  2. MDL-16798

Assign roles screen is a dead end when creating a course

    Details

    • Affected Branches:
      MOODLE_19_STABLE
    • Fixed Branches:
      MOODLE_19_STABLE
    • Rank:
      30351

      Description

      When creating a course, you arrive at the Role assign page and hit a dead end. Needs:

      1) a "Continue to the course" button.
      2) some text to explain what is happening.

      at least.

      1. MDL-16798.diff
        1 kB
        Anthony Borrow
      2. MDL-16798.diff
        1 kB
        Anthony Borrow
      3. patch.diff
        1 kB
        Chris Bertagne

        Issue Links

          Activity

          Hide
          Anthony Borrow added a comment -

          Regarding #1 - A continue to course button would be nice; however, I think its not too much of a stretch to have them use the breadcrumb but a continue button to course is OK. Are there other places where we expect the user to use the breadcrumb or should we be providing some type of continue button on each page. As for #2, I find the text at the top of the page "Assign roles in Course: ..." to be sufficient. There is help button for those not familiar with the page but I find it to be fairly intuitive. FYI - I've heard that the students at Strake Jesuit are working on a patch for this to add the "Continue to the course" button. Peace - Anthony

          Show
          Anthony Borrow added a comment - Regarding #1 - A continue to course button would be nice; however, I think its not too much of a stretch to have them use the breadcrumb but a continue button to course is OK. Are there other places where we expect the user to use the breadcrumb or should we be providing some type of continue button on each page. As for #2, I find the text at the top of the page "Assign roles in Course: ..." to be sufficient. There is help button for those not familiar with the page but I find it to be fairly intuitive. FYI - I've heard that the students at Strake Jesuit are working on a patch for this to add the "Continue to the course" button. Peace - Anthony
          Hide
          Martin Dougiamas added a comment -

          I saw some usability tests done on this page with an eye tracker and newbies were just not seeing the navigation bar at the top ..

          I have to admit it does look really odd in the context of creating a course. You sort of expect a wizard type interface and it jars when you hit that second page...

          Show
          Martin Dougiamas added a comment - I saw some usability tests done on this page with an eye tracker and newbies were just not seeing the navigation bar at the top .. I have to admit it does look really odd in the context of creating a course. You sort of expect a wizard type interface and it jars when you hit that second page...
          Hide
          Chris Bertagne added a comment -

          I agree with Martin - the lack of some sort of button at the bottom is an inconsistency, but we're taking care of that. So is the consensus that we don't need any more informational text on this page?

          Show
          Chris Bertagne added a comment - I agree with Martin - the lack of some sort of button at the bottom is an inconsistency, but we're taking care of that. So is the consensus that we don't need any more informational text on this page?
          Hide
          Anthony Borrow added a comment -

          Chris - I suspect that we do not need more informational text. I would say start with adding the button and then we can evaluate the revised page to see if anything else would be helpful after the button is added. Would you and your team at Strake be willing to submit a patch? Peace - Anthony

          Show
          Anthony Borrow added a comment - Chris - I suspect that we do not need more informational text. I would say start with adding the button and then we can evaluate the revised page to see if anything else would be helpful after the button is added. Would you and your team at Strake be willing to submit a patch? Peace - Anthony
          Hide
          Chris Bertagne added a comment -

          So far we have the buttons on the page and they function correctly. We used the print_single_button() function to accomplish this. We also added two entries to the utf8 language strings for the two button's values and used the get_string() function to get them from the language strings. If we add entries to the English language, wouldn't all other languages need those two entries? If so, who's responsible for adding the new strings?

          Show
          Chris Bertagne added a comment - So far we have the buttons on the page and they function correctly. We used the print_single_button() function to accomplish this. We also added two entries to the utf8 language strings for the two button's values and used the get_string() function to get them from the language strings. If we add entries to the English language, wouldn't all other languages need those two entries? If so, who's responsible for adding the new strings?
          Hide
          Anthony Borrow added a comment -

          Chris - What strings did you create? Might we use continuetocourse? Personally I think that could be changed to say simply 'Continue to course' as the only place it is used is in /enrol/paypal/enrol.html and there it would be fine. I think the language is too wordy and makes it less flexible to be used in other places. In either case, to answer your question there are ways of handling the language strings but you do not have to worry about it. New strings are added by the translators of those language packs. Usually we try to let Koen (who handles translations know about what is happening) know by sending an email to translation@moodle.org if there is a significant change to a language string so that he can let the other translators know to update their language pack. Does that answer your question? Peace - Anthony

          Show
          Anthony Borrow added a comment - Chris - What strings did you create? Might we use continuetocourse? Personally I think that could be changed to say simply 'Continue to course' as the only place it is used is in /enrol/paypal/enrol.html and there it would be fine. I think the language is too wordy and makes it less flexible to be used in other places. In either case, to answer your question there are ways of handling the language strings but you do not have to worry about it. New strings are added by the translators of those language packs. Usually we try to let Koen (who handles translations know about what is happening) know by sending an email to translation@moodle.org if there is a significant change to a language string so that he can let the other translators know to update their language pack. Does that answer your question? Peace - Anthony
          Hide
          Chris Bertagne added a comment -

          If we did use continuetocouse (which we discovered accidentally), then we would still need another string for the button on the sub-page where the roles actually get assigned. We were thinking about something like "Back to Assign Roles", which would require an added string in the language file. Does that sound good?

          Show
          Chris Bertagne added a comment - If we did use continuetocouse (which we discovered accidentally), then we would still need another string for the button on the sub-page where the roles actually get assigned. We were thinking about something like "Back to Assign Roles", which would require an added string in the language file. Does that sound good?
          Hide
          Anthony Borrow added a comment -

          The more I think about it the less I like 'Continue to ...' and 'Return to ...' as they presume a flow as if the only way to get here were as part of creating a course. I think we are better served by sticking with action descriptions that will indicate where we will go when we click on a button. Nevertheless, I think Continue to course seems to work for the /admin/roles/assign.php page without a roleid. With a roleid, I think we could simply use get_string('assignrolesin', 'role', print_context_name($context)) to indicate that we will go back to assigning roles in the course. I think this might prevent you from having to create any new language strings. Peace - Anthony

          Show
          Anthony Borrow added a comment - The more I think about it the less I like 'Continue to ...' and 'Return to ...' as they presume a flow as if the only way to get here were as part of creating a course. I think we are better served by sticking with action descriptions that will indicate where we will go when we click on a button. Nevertheless, I think Continue to course seems to work for the /admin/roles/assign.php page without a roleid. With a roleid, I think we could simply use get_string('assignrolesin', 'role', print_context_name($context)) to indicate that we will go back to assigning roles in the course. I think this might prevent you from having to create any new language strings. Peace - Anthony
          Hide
          Chris Bertagne added a comment -

          Patch for bug MDL-16798.
          Button added on main "Assign Roles" page and each sub-page
          No extra informative text added because function is pretty self-explanatory.

          Show
          Chris Bertagne added a comment - Patch for bug MDL-16798 . Button added on main "Assign Roles" page and each sub-page No extra informative text added because function is pretty self-explanatory.
          Hide
          Anthony Borrow added a comment -

          Chris - Generally speaking, I would encourage you to avoid using relative paths (i.e. ../../) and opt for absolute paths when possible. For example, take a look at how /mod/forum/index.php uses the print_single_button with $CFG->wwwroot to give an absolute rather than a relative path. That way if things ever got shuffled around for some reason it would still work. I'm attaching an updated patch that makes use of $CFG->wwwroot. Peace - Anthony

          Show
          Anthony Borrow added a comment - Chris - Generally speaking, I would encourage you to avoid using relative paths (i.e. ../../) and opt for absolute paths when possible. For example, take a look at how /mod/forum/index.php uses the print_single_button with $CFG->wwwroot to give an absolute rather than a relative path. That way if things ever got shuffled around for some reason it would still work. I'm attaching an updated patch that makes use of $CFG->wwwroot. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          updated version using neutral paths and note that the continuetocourse string is in moodle.php not admin. Peace - Anthony

          Show
          Anthony Borrow added a comment - updated version using neutral paths and note that the continuetocourse string is in moodle.php not admin. Peace - Anthony
          Hide
          Ryan Smith added a comment -

          This is a great idea to fix. I've answered countless questions from confused users stuck on the assign roles page.

          Will this be added to 1.9.x soon?

          Show
          Ryan Smith added a comment - This is a great idea to fix. I've answered countless questions from confused users stuck on the assign roles page. Will this be added to 1.9.x soon?
          Hide
          Anthony Borrow added a comment -

          Ryan - Have you been able to test the attached patch file? It would be good to get some confirmation that it works. I know that Martin has been busy traveling around to the various Moodle Moots but if you could provide some feedback that would be helpful. Peace - Anthony

          Show
          Anthony Borrow added a comment - Ryan - Have you been able to test the attached patch file? It would be good to get some confirmation that it works. I know that Martin has been busy traveling around to the various Moodle Moots but if you could provide some feedback that would be helpful. Peace - Anthony
          Hide
          Ryan Smith added a comment -

          Anthony,

          I just tested patch.diff that was attached above. It works great! I was able to create a new course, it went to the assign roles page, then I clicked the button and it took me to the course. Simple, but greatly improves usability. The diff is missing the language string code change so the button isn't labeled...but that is an easy fix.

          Show
          Ryan Smith added a comment - Anthony, I just tested patch.diff that was attached above. It works great! I was able to create a new course, it went to the assign roles page, then I clicked the button and it took me to the course. Simple, but greatly improves usability. The diff is missing the language string code change so the button isn't labeled...but that is an easy fix.
          Hide
          Anthony Borrow added a comment -

          Ryan - Thanks for testing. Which patch file did you use? I should have been specific and said to use MDL-16798.diff. The 'continuetocourse' string should already be defined in /lang/en_utf8/moodle.php so there is no need to add it. The patch.diff file was originally submitted by a student and they had mistakenly used the /lang/en_utf8/admin.php file which does not have the string defined. So make sure you are using the right patch file and sorry for any confusion. Peace - Anthony

          Show
          Anthony Borrow added a comment - Ryan - Thanks for testing. Which patch file did you use? I should have been specific and said to use MDL-16798 .diff. The 'continuetocourse' string should already be defined in /lang/en_utf8/moodle.php so there is no need to add it. The patch.diff file was originally submitted by a student and they had mistakenly used the /lang/en_utf8/admin.php file which does not have the string defined. So make sure you are using the right patch file and sorry for any confusion. Peace - Anthony
          Hide
          Ryan Smith added a comment -

          I just tested MDL-16798.diff and it works great. It says 'Click here to enter your course'.

          Thanks for making this patch, it will solve a lot of confusion for new Moodle users.

          Show
          Ryan Smith added a comment - I just tested MDL-16798 .diff and it works great. It says 'Click here to enter your course'. Thanks for making this patch, it will solve a lot of confusion for new Moodle users.
          Hide
          Anthony Borrow added a comment -

          Martin - Feel free to re-assign this to me if you are too busy with travels. It's very straightforward. Peace - Anthony

          Show
          Anthony Borrow added a comment - Martin - Feel free to re-assign this to me if you are too busy with travels. It's very straightforward. Peace - Anthony
          Hide
          Martin Dougiamas added a comment -

          Thanks Anthony!

          Show
          Martin Dougiamas added a comment - Thanks Anthony!
          Hide
          Anthony Borrow added a comment -

          Tim has committed a different approach for HEAD while resolving MDL-16993 that I do not think would be easily backported to 1.9. I'm going to commit the patch attached here as an initial step toward Tim's more complete solution for 2.0. As a result, I'm tagging /admin/roles/assign.php as merged even though the changes are not applied in HEAD; however, the issue is resolved for HEAD just in a different way. Peace - Anthony

          Show
          Anthony Borrow added a comment - Tim has committed a different approach for HEAD while resolving MDL-16993 that I do not think would be easily backported to 1.9. I'm going to commit the patch attached here as an initial step toward Tim's more complete solution for 2.0. As a result, I'm tagging /admin/roles/assign.php as merged even though the changes are not applied in HEAD; however, the issue is resolved for HEAD just in a different way. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Commited to 19STABLE, not merging with HEAD as Tim Hunt provides a more complete solution in response to MDL-16993. Resolving as fixed. Peace - Anthony

          Show
          Anthony Borrow added a comment - Commited to 19STABLE, not merging with HEAD as Tim Hunt provides a more complete solution in response to MDL-16993 . Resolving as fixed. Peace - Anthony
          Hide
          Nicolas Connault added a comment -

          Thanks for the fix, Anthony.

          Show
          Nicolas Connault added a comment - Thanks for the fix, Anthony.

            People

            • Votes:
              3 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: