Issue Details (XML | Word | Printable)

Key: MDL-16798
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Anthony Borrow
Reporter: Martin Dougiamas
Votes: 3
Watchers: 7
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle

Assign roles screen is a dead end when creating a course

Created: 06/Oct/08 02:43 PM   Updated: 14/Apr/09 03:34 PM
Return to search
Component/s: Course, Roles, Usability
Affects Version/s: 1.9.2
Fix Version/s: 1.9.5

File Attachments: 1. File MDL-16798.diff (1 kB)
2. File MDL-16798.diff (1 kB)
3. File patch.diff (1 kB)

Issue Links:
Relates
 

Participants: Anthony Borrow, Chris Bertagne, Martin Dougiamas, Nicolas Connault and Ryan Smith
Security Level: None
QA Assignee: Nicolas Connault
Resolved date: 08/Apr/09
Affected Branches: MOODLE_19_STABLE
Fixed Branches: MOODLE_19_STABLE


 Description  « Hide
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.


 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Anthony Borrow added a comment - 14/Oct/08 04:16 AM
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

Martin Dougiamas added a comment - 14/Oct/08 04:51 PM
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...


Chris Bertagne added a comment - 14/Oct/08 07:59 PM
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?

Anthony Borrow added a comment - 14/Oct/08 10:46 PM
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

Chris Bertagne added a comment - 15/Oct/08 03:00 AM
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?

Anthony Borrow added a comment - 15/Oct/08 05:16 AM
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

Chris Bertagne added a comment - 15/Oct/08 05:31 AM
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?

Anthony Borrow added a comment - 15/Oct/08 08:02 AM
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

Chris Bertagne added a comment - 17/Oct/08 10:45 PM
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.

Anthony Borrow added a comment - 22/Oct/08 07:42 AM
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

Anthony Borrow added a comment - 22/Oct/08 07:51 AM
updated version using neutral paths and note that the continuetocourse string is in moodle.php not admin. Peace - Anthony

Ryan Smith added a comment - 07/Apr/09 09:14 PM
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?


Anthony Borrow added a comment - 07/Apr/09 10:25 PM
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

Ryan Smith added a comment - 07/Apr/09 10:44 PM
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.


Anthony Borrow added a comment - 07/Apr/09 11:32 PM
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

Ryan Smith added a comment - 07/Apr/09 11:40 PM
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.


Anthony Borrow added a comment - 07/Apr/09 11:42 PM
Martin - Feel free to re-assign this to me if you are too busy with travels. It's very straightforward. Peace - Anthony

Martin Dougiamas added a comment - 08/Apr/09 07:19 AM
Thanks Anthony!

Anthony Borrow added a comment - 08/Apr/09 08:01 AM
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

Anthony Borrow added a comment - 08/Apr/09 08:03 AM
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

Nicolas Connault added a comment - 14/Apr/09 03:34 PM
Thanks for the fix, Anthony.