General plugins (Local): Moodle welcome

local_welcome
Maintained by Picture of Bas Brands Bas Brands
Sends a welcome message to new users, sends a notification to a moderator of the new user creation
854 sites
280 downloads
82 fans

Usage:

This plugin sends one email message to users that are new in Moodle and one email to a moderator.

This will work to all standard moodle authentication systems:

  • manually created users
  • users that signed up
  • users authentication through LDAP
  • all other standard authentication systems

Configuration can be done using:

Site administration->Plugins->Local plugins->Moodle welcome

Configurable fields are:

enable / disable welcome messages to users
enable / disable welcome messages to moderators

message send to user
message send to moderator

message subject for user
message subject for moderator

send from firstname
send from lastname
send from email address

moderator email address

Installation:

Download and install in your /local folder in moodle's wwwroot

Run Moodle notifications,

Configure your email messages / moderators etc

Screenshots

Screenshot #0

Contributors

Picture of Bas Brands
Bas Brands (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • Picture of Diego Quiros
    Fri, Feb 7, 2014, 9:22 AM
    I get this error when trying to enable the plugin on moodle 2.5 whit archaius theme. Any Idea what´s the problem?

    Debug info: Missing mandatory en language pack.
    Error code: detectedbrokenplugin
    Stack trace:
    line 606 of /lib/upgradelib.php: plugin_defective_exception thrown
    line 395 of /lib/upgradelib.php: call to upgrade_plugins_modules()
    line 1580 of /lib/upgradelib.php: call to upgrade_plugins()
    line 431 of /admin/index.php: call to upgrade_noncore()


    Invalid get_string() identifier: 'modulename' or component 'mod_welcome'. Perhaps you are missing $string['modulename'] = ''; in mod/welcome/lang/en/welcome.php?
    line 293 of /lib/classes/string_manager_standard.php: call to debugging()
    line 6828 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
    line 64 of /lib/classes/plugininfo/mod.php: call to get_string()
    line 131 of /lib/classes/plugininfo/base.php: call to core\plugininfo\mod->init_display_name()
    line 88 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
    line 368 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
    line 33 of /admin/settings/plugins.php: call to core_plugin_manager->get_plugins_of_type()
    line 6363 of /lib/adminlib.php: call to require()
    line 3515 of /lib/navigationlib.php: call to admin_get_root()
    line 3372 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings()
    line 717 of /lib/pagelib.php: call to settings_navigation->initialise()
    line 734 of /lib/pagelib.php: call to moodle_page->magic_get_settingsnav()
    line 109 of /blocks/admin_bookmarks/block_admin_bookmarks.php: call to moodle_page->__get()
    line 296 of /blocks/moodleblock.class.php: call to block_admin_bookmarks->get_content()
    line 238 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
    line 956 of /lib/blocklib.php: call to block_base->get_content_for_output()
    line 1008 of /lib/blocklib.php: call to block_manager->create_block_contents()
    line 353 of /lib/blocklib.php: call to block_manager->ensure_content_created()
    line 3 of /theme/archaius/layout/partials/header.php: call to block_manager->region_has_content()
    line 1 of /theme/archaius/layout/general.php: call to include()
    line 866 of /lib/outputrenderers.php: call to include()
    line 796 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
    line 2559 of /lib/outputrenderers.php: call to core_renderer->header()
    line 362 of /lib/setuplib.php: call to core_renderer->fatal_error()
    line 1158 of /lib/upgradelib.php: call to default_exception_handler()
    line 1592 of /lib/upgradelib.php: call to upgrade_handle_exception()
    line 431 of /admin/index.php: call to upgrade_noncore()
    get_context_instance() is deprecated, please use context_xxxx::instance() instead.
    line 4020 of /lib/deprecatedlib.php: call to debugging()
    line 26 of /theme/archaius/layout/partials/header.php: call to get_context_instance()
    line 1 of /theme/archaius/layout/general.php: call to include()
    line 866 of /lib/outputrenderers.php: call to include()
    line 796 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
    line 2559 of /lib/outputrenderers.php: call to core_renderer->header()
    line 362 of /lib/setuplib.php: call to core_renderer->fatal_error()
    line 1158 of /lib/upgradelib.php: call to default_exception_handler()
    line 1592 of /lib/upgradelib.php: call to upgrade_handle_exception()
    line 431 of /admin/index.php: call to upgrade_noncore()
  • Picture of Diego Quiros
    Fri, Feb 7, 2014, 10:37 AM
    The whole second block of errors dissapears when I renamed the lang/en/local_welcome file to welcome
  • Picture of Alan Hare
    Thu, Feb 20, 2014, 5:51 AM
    I could not find a forum discussion topic listed in the plugin details above or by searching the forums, so I am posting this here as it may help others.

    To add some flexibility to the plugin I changed lines 49-55 in local\welcome\event_handlers.php to read:

    //$tag = '[[user]]';
    //$replacement = $user->firstname . ' ' . $user->lastname;

    $message_user = str_replace(
    array('[[user]]', '[[username]]', '[[firstname]]', '[[lastname]]', '[[email]]', '[[city]]'),
    array($user->firstname . ' ' . $user->lastname, $user->username, $user->firstname, $user->lastname, $user->email, $user->city),
    $message_user);

    $message_user_subject = str_replace(
    array('[[user]]', '[[username]]', '[[firstname]]', '[[lastname]]', '[[email]]', '[[city]]'),
    array($user->firstname . ' ' . $user->lastname, $user->username, $user->firstname, $user->lastname, $user->email, $user->city),
    $message_user_subject);

    $message_moderator = str_replace(
    array('[[user]]', '[[username]]', '[[firstname]]', '[[lastname]]', '[[email]]', '[[city]]'),
    array($user->firstname . ' ' . $user->lastname, $user->username, $user->firstname, $user->lastname, $user->email, $user->city),
    $message_moderator);

    $message_moderator_subject = str_replace(
    array('[[user]]', '[[username]]', '[[firstname]]', '[[lastname]]', '[[email]]', '[[city]]'),
    array($user->firstname . ' ' . $user->lastname, $user->username, $user->firstname, $user->lastname, $user->email, $user->city),
    $message_moderator_subject);

    //$message_user = str_replace($tag, $replacement, $message_user);
    //$message_user_subject = str_replace($tag, $replacement, $message_user_subject);
    //$message_moderator = str_replace($tag, $replacement, $message_moderator);
    //$message_moderator_subject = str_replace($tag, $replacement, $message_moderator_subject);

    and changed lines 34 and 42 from \local\welcome\local_welcome.php to read:

    $string['message_user_subject_desc'] = 'This will be the subject of the email send to the user. Use username, [[firstname]], [[lastname]], [[email]], [[city]] as a tag, this will be replace with the Username, Firstname, Lastname, Email address, and City.';

    $string['message_moderator_subject_desc'] = 'This will be the subject of the email send to the moderator. Use username, [[firstname]], [[lastname]], [[email]], [[city]] as a tag, this will be replace with the Username, Firstname, Lastname, Email address, and City.';

    This will add the user profile fields/tags for [[username]], [[firstname]], [[lastname]], [[email]], and [[city]].

  • Picture of Bas Brands
    Thu, Feb 20, 2014, 4:40 PM
    Thanks for that. I updated the plugin to have more template fields:

    Name: fullname,
    Username: username,
    Firstname: firstname,
    Lastname: lastname,
    Email: email,
    City: city,
    Country: country

    Cheers,
    Bas

  • Picture of Bas Brands
    Thu, Feb 20, 2014, 4:41 PM
    smile Of course the template fields need to have the square brackets around them (see comment before mine) ..

    Grrrrrr -> Markdown
  • Picture of Darrell Taylor
    Thu, Mar 6, 2014, 8:08 PM
    Hi Bas,

    Are there any further developments on this excellent plugin? I'd really like to see the ability to include the user's password. Also, when I tried your plugin the default Moodle new user email was sent as well; how do I ensure that only one email goes out to each user?
  • Picture of Salim Karim
    Mon, May 12, 2014, 11:50 PM
    emailing not sending
  • Picture of Bruno Ferreira
    Tue, Jun 10, 2014, 12:15 AM
    Hi all,

    This is a great plugin, but i'm having a little problem. When I register a new user he receives two welcome emails. Can anyone help me solving this problem?
  • Picture of Bruno Ferreira
    Tue, Jun 10, 2014, 12:16 AM
    I'm using the version for moodle 2.2
  • Picture of Aster Blistok
    Sun, Jun 22, 2014, 11:51 AM
    Hi, is there any way that we can include custom profile fields in the e-mail output? To define template fields based on custom user profile fields?

    Thanks
  • Picture of Bas Brands
    Mon, Jun 23, 2014, 3:43 PM
    Hi Aster, This is not a feature of the plugin at the moment. I will add it to the wish list.
  • wen photo
    Sat, Jun 28, 2014, 2:40 PM
    Bas, thanks for such a wonderful plugin! I wonder if you could add to the wish list for including a initial "randomized" password in the Welcome email? I know we can use "changeme" to force students to change their initial password, but with a generic initial password, it is not really secure. It would be great if each student gets an different randomly generated initial password and that password is included in the Welcome message. Thanks again!
  • Picture of Bas Brands
    Sun, Jun 29, 2014, 3:21 PM
    Hi Wen Hao Chuang, thanks! Moodle already supports sending out randomized passwords when uploading users, simply leave the password field empty when doing a CSV upload. This plugin cannot access the users passwords since it is triggered after the password has been encrypted and stored in the database.
  • wen photo
    Mon, Jun 30, 2014, 12:02 AM
    Thanks Bas for your reply!
    Yes I know that Moodle could send out randomized passwords when uploading users. Do you know of any "work around" that would be able to combine that initial password email WITH a customized "Welcome" message (e.g. using this plugin)? I think maybe two emails for each new student is a little bit too much for students. Thanks again!
  • Picture of Diego -
    Tue, Aug 12, 2014, 4:26 PM
    does anybody tried to use it in moodle 2.7.1?
Please login to post comments