Giter Club home page Giter Club logo

moodle-local_bulkenrol's Introduction

moodle-local_bulkenrol

Moodle Plugin CI

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

Requirements

This plugin requires Moodle 4.3+

Motivation for this plugin

In some organizations or some teaching scenarios, manually enrolling students into a course may be the preferred way. However, enrolling one user at a time into a course can be daunting for teachers. On the other hand, teachers may not be allowed to use (or be able to understand) the Moodle core upload CSV functionality.

To ease the life of teachers, there is the need for a bulk enrolment tool. There are already plugins out there which provide this functionality, so this is just another one. The goal of this bulk enrolment implementation is not to fulfil everybody's needs, but to do one thing and to do this well.

So, the key features of this plugin are:

  1. to let teachers submit a line-separated list of email addresses to enrol them into a course,
  2. to let teachers submit this list to a textarea within their course instead of requiring them to create and upload a CSV file first.

Installation

Install the plugin like any other plugin to folder /local/bulkenrol

See http://docs.moodle.org/en/Installing_plugins for details on installing Moodle plugins

Usage & Settings

After installing the plugin, it does not do anything to Moodle yet.

To configure the plugin and its behaviour, please visit: Site administration -> Plugins -> Enrolments -> User bulk enrolment

There, you find two settings:

1. Enrolment plugin

The enrolment method to be used to bulk enrol the users. If the configured enrolment method is not active / added in the course when the users are bulk-enrolled, it is automatically added / activated.

2. Role

The role to be used to bulk enrol the users.

3. Navigation node placement

The location where the navigation node for this functionality will be added within a course.

Capabilities

This plugin also introduces a new capability:

local/bulkenrol:enrolusers

By default, Moodle users are not allowed to use the functionality provided by this plugin. As administrator, you can selectively grant users the ability to use this functionality by adding the local/bulkenrol:enrolusers capability to an appropriate Moodle role.

How this plugin works

Teachers (rather users who have been granted the capability which is described in the "Capabilities" section above) will find an additional "User bulk enrolment" menu item within the jump menu on the course's participants page.

To enrol existing Moodle users into the course, the teacher will then have to add a list of e-mail adresses to the form on this page, one user / e-mail adress per line.

Example:

Optionally, the teacher will be able to create groups and add the enrolled users to the groups. All he has to do is to add a heading line with a hash sign and the group's name, separating the list of users.

Example:

Limitations

This plugin currently only accepts a list of e-mail adresses to be enrolled into a course. It does especially not accept lists of user names, matriculation IDs or something else.

Additionally, this plugin only enrols users who already exist in Moodle. It won't create Moodle user accounts on-the-fly.

Theme support

This plugin is developed and tested on Moodle Core's Boost theme. It should also work with Boost child themes, including Moodle Core's Classic theme. However, we can't support any other theme than Boost.

Plugin repositories

This plugin is published and regularly updated in the Moodle plugins repository: http://moodle.org/plugins/view/local_bulkenrol

The latest development version can be found on Github: https://github.com/moodle-an-hochschulen/moodle-local_bulkenrol

Bug and problem reports / Support requests

This plugin is carefully developed and thoroughly tested, but bugs and problems can always appear.

Please report bugs and problems on Github: https://github.com/moodle-an-hochschulen/moodle-local_bulkenrol/issues

We will do our best to solve your problems, but please note that due to limited resources we can't always provide per-case support.

Feature proposals

Due to limited resources, the functionality of this plugin is primarily implemented for our own local needs and published as-is to the community. We are aware that members of the community will have other needs and would love to see them solved by this plugin.

Please issue feature proposals on Github: https://github.com/moodle-an-hochschulen/moodle-local_bulkenrol/issues

Please create pull requests on Github: https://github.com/moodle-an-hochschulen/moodle-local_bulkenrol/pulls

We are always interested to read about your feature proposals or even get a pull request from you, but please accept that we can handle your issues only as feature proposals and not as feature requests.

Moodle release support

Due to limited resources, this plugin is only maintained for the most recent major release of Moodle as well as the most recent LTS release of Moodle. Bugfixes are backported to the LTS release. However, new features and improvements are not necessarily backported to the LTS release.

Apart from these maintained releases, previous versions of this plugin which work in legacy major releases of Moodle are still available as-is without any further updates in the Moodle Plugins repository.

There may be several weeks after a new major release of Moodle has been published until we can do a compatibility check and fix problems if necessary. If you encounter problems with a new major release of Moodle - or can confirm that this plugin still works with a new major release - please let us know on Github.

If you are running a legacy version of Moodle, but want or need to run the latest version of this plugin, you can get the latest version of the plugin, remove the line starting with $plugin->requires from version.php and use this latest plugin version then on your legacy Moodle. However, please note that you will run this setup completely at your own risk. We can't support this approach in any way and there is an undeniable risk for erratic behavior.

Translating this plugin

This Moodle plugin is shipped with an english language pack only. All translations into other languages must be managed through AMOS (https://lang.moodle.org) by what they will become part of Moodle's official language pack.

As the plugin creator, we manage the translation into german for our own local needs on AMOS. Please contribute your translation into all other languages in AMOS where they will be reviewed by the official language pack maintainers for Moodle.

Right-to-left support

This plugin has not been tested with Moodle's support for right-to-left (RTL) languages. If you want to use this plugin with a RTL language and it doesn't work as-is, you are free to send us a pull request on Github with modifications.

Maintainers

The plugin is maintained by
Moodle an Hochschulen e.V.

Copyright

The copyright of this plugin is held by
Moodle an Hochschulen e.V.

Individual copyrights of individual developers are tracked in PHPDoc comments and Git commits.

Initial copyright

This plugin was initially built by
Soon Systems GmbH
www.soon-systems.de

on behalf of
Ulm University
Communication and Information Centre (kiz)

and maintained and published by
Ulm University
Communication and Information Centre (kiz)
Alexander Bias

It was contributed to the Moodle an Hochschulen e.V. plugin catalogue in 2022.

moodle-local_bulkenrol's People

Contributors

abias avatar gustavorivas96 avatar kathrin84 avatar lucaboesch avatar melanietreitinger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-local_bulkenrol's Issues

The requested URL /user/index.php was not found on this server.

Hello
I just installed for my Moodle 3.4.1 this plugin "User bulk enrolment" and it is life saving when I pasted Email Address in Bulk Enrollment Everything is working fine with search. But When I press Enroll Users Button and here comes this page
The requested URL /user/index.php was not found on this server.
When I hit back page users are registered but why this Page I am viewing? Please help me with this.

Teacher/Faculty cannot see bulk enrolment method

Hi.

We would like to ask for help on what we need to do so that our teachers/faculty can use the bulk enrolment. We installed v3.8-r2 (2020051200) however the teachers/faculty cannot see bulk enrolment method.

image

I found two settings for "User Bulk Enrolment":

  • Enrolment plugin -- choices are [ Manual Enrolments | Guest access | Self Enrolment | Cohort sync | Course meta link | Flat file CSV ]

  • Role -- choices are [ Manager | Course creator | Professor | Non-editing professor | Student | Guest | Authenticated User | Authenticated user on frontpage | Academic Vice President | College Dean | Department Chair ]

The following is also in our Dashboard / Site administration / Plugins / Enrolments / Manage enrol plugins:

image

Case sensitive option

Hello,

We've been using the plugin for a while without issues. Recently, we've had a problem with emails being case-sensitive. If a user pastes email addresses in the plugin it now checks for lower case vs upper case which wasn't the behaviour in the past. Anything changed? Is there a way to revert back?

Best regards,

Bulk Enrollment 3.4,Users are Enrolled as teacher role

This plugin was working fine but now when Teacher Enrolls Students with this Plugin after pasting Email addresses, and Enroll users. All users come up with Teacher Role.
Our default Registration is set to Student.
This happens when User is Unenrolled and then Bulk Enrollment Plugin we use the user's role comes with Teacher.
Our Moodle version is 3.4,but also checked in local 3.8 same problem comes.

Problems with Bulk Enroll

Hi!

I have been testing the local_bulkenrol for possible use at my institution and I have encountered a few problems. Some of these may be bugs, others may be by design.

  1. If you put in the following two lines for example
    Nodata
    Nodata
    It will return a message to you that it didn’t find any email address, but then you press Enroll Users and it gives you a message it was successful. This is a bit misleading.

  2. If you have already loaded individuals into
    #MyGroup
    [email protected]
    and then run another load with
    #mygroup
    [email protected]
    It creates two different groups named mygroup with different capitalization. I tried this in just the standard way to create groups and apparently Moodle allows this, which seems weird.

  3. A larger percentage of our classes take place in a metaclass, with it inheriting the students from 2 or more subclasses. If I do a bulkenrol of students to place the students into some groups, on the confirmation screen it comes back and says yes the student is already enrolled and we will put them in their group. After hitting Enroll Users, rather than just putting them in their group, it also manually enrolls them into the MetaClass as well (giving the student now two enrollments into the class!). I assume it would do the same type of thing if the students were in a cohort attached to the class. I am assuming this is all accidental.

  4. Do you know if yall might at some point add on the confirmation screen that the teacher is about to create new groups named x,y,z? This way they might catch if they have mistyped a group name and are about to create a group they don’t want. Currently on the confirmation screen it just says “GroupName(User added to group)” and doesn’t acknowledge that it is a previously non-existent group and about to be created.

  5. Do you know if yall might have any future plans on the roadmap to allow teachers to supply a username or idnumber instead of the email address? This would be very useful.

Thanks so much for reading this and thank you for taking the time to create and release Moodle plugins for the community!
Scott

Navigation in 4.0

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

Group membership only

We are a University and we sometimes use this plugin - only as administrators - to perform bulk group membership. We automatically manage course enrollment, in most cases, using webservices.

We'd like to more frequently allow module leaders to use this plugin, however we'd like to confine their capabilities to only allow adding students to groups - NOT also enroll them at the same time.

We have a workaround, which is to get the user to download the current enrollments to the course in question, format the list into one email address per line and then add any group headings. They then send the lists to us and we process them.

We don't want people to have the capability added by this plugin, however we love the fact that there is a simple text area, ideal for such a scenario.

Alternatively, what precisely does the new capability permit?

Could we remove the built-in capability of all managers, module leaders and teachers to enroll users, but if they have the "bulkenrol" capability, will this function and only add users to groups?

We'd love for the plugin to have, say, a new capability (along with additional admin controls) to only allow bulk group additions, as well enroll, but only if the settings allow. E.g. admins have both bulkenrol and bulkgroupadd, but module leaders etc only have bulkgroupadd, so they'll still see "Bulk enrolment", but they'll only be able to add existing enrolled users to the groups they define.

Enroll of Suspended users

Our institution uses this plugin in some courses but we've detected that when there are 2 or more useres with the same email and some of theses users are suspended in moodle the plugin return an error because it detects diferent users with same email and doesn't know which one has to enroll and then we need to enroll these useres manually.

Could it be posssible to check the state of the user during the bulk process?

For example:

  • if one of the users is suspeded -> do not enroll it
  • if 2 or more users have the same email and one of them is active and the others are suspendend -> enroll the user with the activate account
  • if 2 or more users have the same email and more than one has active account -> doesn't enroll any user and proced as normal.

Manager do not have cap local/bulkenrol:enrolusers

Hi.

I suppose since in db/access.php no archetypes are defined, managers can't use the bulkenrol tool.

Probably adding

        'archetypes' => array(
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW
        ),

would fix that.

Best,
Luca

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.