moodle-an-hochschulen / moodle-local_bulkenrol

Moodle plugin which provides the possibility to bulk enrol a list of users who are identified by their e-mail adresses into a course.
5 stars 17 forks source link

Navigation in 4.0 #28

Closed NinaHerrmann closed 1 year ago

NinaHerrmann commented 2 years ago

Hello everybody :) we are preparing our 4.0 instance and while testing realized that in Boost 4.0 $navigation->get('users') is empty. A possible fix would be

$bulkenrolnode = navigation_node::create(get_string('pluginname', 'local_bulkenrol'), $url,
                navigation_node::TYPE_SETTING, null, 'local_bulkenrol', new pix_icon('i/users', ''));
if (isset($bulkenrolnode)) {
    $navigation->add_node($bulkenrolnode);
}

which adds the user enrolment in the top-level node. image

If that is alright with you, I will create a pull request. To be honest, I am not 100% happy with this fix, but I am missing alternative ideas (so please tell me if you have other ideas. If you give me a positive sign, I would also change behat test (that is how I realized that it was missing). If I am missing something, please notify me. Bests, Nina

abias commented 2 years ago

Hi Nina,

have you tested this on the 3.x version of this plugin or with the 4.0 version which was published recently and which fixes Behat tests on 4.0?

we are preparing our 4.0 instance and while testing realized that in Boost 4.0 $navigation->get('users') is empty.

I can't confirm this. At https://github.com/moodle-an-hochschulen/moodle-local_bulkenrol/blob/master/lib.php#L37, within the local_bulkenrol_extend_navigation_course() function, $navigation->get('users') returns a large navigation object.

However, I agree that the menu item for this plugin in Moodle 4.0 is not where is used to be in 3.x anymore. I didn't change anything in the PHP code for the 4.0 version and Moodle does now place the menu item of this plugin within the jump menu of the participants page:

grafik

I also changed this details in the README.md file.

Can you please check if you can find the menu item there as well in your instance? If you can find it there, we can surely discuss if this is the best place or if it might make sense to add it to the secondary navigation.

NinaHerrmann commented 2 years ago

Ah, I did not look into that menu. You are absolutely right it shows up for me in Moodle 40. To be honest, most users of our instance do not use boost, so this is not of primary importance to me, however, I would expect the option somewhere more popular (extra button etc.) But I am unsure if this is possible with the given local_bulkenrol_extend_navigation_course function and worth the effort because most users will get used to it. As I would not call myself an expert in Usability the issue can also be closed.

Thank you for the fast reply! :)

abias commented 1 year ago

Hi Nina,

I think you have a valid point about the placement of the menu item for user bulk enrolment. The natural position in Moodle 4 still seems to be within the jump menu on the participants page, but this might be too deep in the menu structure for some teachers.

Against this background, I added an admin setting in 64ec49eacb72a8c0589cfb15373554d874910c81 now which allows the admin to place the additional "User bulk enrolment" menu item within the jump menu on the course's participants page and / or within the course's secondary navigation.

Cheers, Alex

NinaHerrmann commented 1 year ago

Nice, thank you!