• I am currently using CoursePress as a test platform for a new online course and it has several very useful features compared with some of the other LMS out there (eg WP Courseware / LearnDash). It is a nice “out of the box” system with a lot of built-in features, although maybe not quite as customisable as some of the alternatives in terms of how it links with other plug-ins (eg membership system, forum, etc).

    I like how it is organised from the admin side and also how it presents the learning content (and navigation within the content) to learners. It is also quite simple to set up a new course and add units and pages to these courses. However, the page editor is visual only – it would be preferable if it also permitted text/html view. I also like to built-in discussions function (ie course specific forum).

    The quiz functionality is quite effective – and I like that you can make questions optional to answer – but it would be better if you could enable responses to correct/incorrect answers so students could learn from incorrect responses (other LMS have this functionality).

    The free CoursePress theme is simple and attractive and I like how it presents %progress through the units, although it would be good if it was slightly more customisable – some of the menu options and sidebars seemed baked in.

    However, one very major drawback (could be a deal-breaker for me) compared with some of the other LMS for WordPress is that it does not have inbuilt auto email notifications to teachers when a learner enrols or finishes a unit/course. This is an essential feature for effective learner management – I was surprised that the CoursePress learner email notifications settings did not enable a cc or bcc to an admin/teacher email.

    I notice from the CoursePress pro forum (link below) that it is possible to make a manual code modification to enable auto teacher email alert when a student enrols on a course. Would you be able to provide the code to enable auto emails when learners complete a unit and course?

    http://premium.wpmudev.org/forums/topic/is-coursepress-pro-able-to-send-notifications-to-teachers-about-enrollmentassignments

    Given some of the advantages of CoursePress over its competitors in terms of ease of use for admin and students, I am seriously thinking of upgrading to Pro version as we need more than 2 courses. However, the lack of auto email teacher notifications may mean that we have to select an alternative LMS (even though I prefer some of the elements of CoursePress). Auto email notifications to teachers to inform them of students’ progress is an essential feature for an effective LMS so it would be great if the developers could add this feature to the plug-in.

    I would welcome comments from the team at WPMUDEV – let me know if you would like any more details or information.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi @hh1,

    Wow, awesome feedback here, much appreciated! We hear ya and will discuss this internally to see how that could all be accommodated.

    About the emails to teachers, makes perfect sense and the developers are looking into it, by way of integration with our Automessage plugin. Or you could simply use a bit of code like Hoang mentioned here:
    http://premium.wpmudev.org/forums/topic/is-coursepress-pro-able-to-send-notifications-to-teachers-about-enrollmentassignments#post-774620

    There’s now a hook added to the plugin as follows:
    do_action( 'student_enrolled_instructor_notification', $this->ID, $course_id, $instructors );

    So I think you can just use an adjusted version of Hoang’s code like so:

    add_action('student_enrolled_instructor_notification', 'cp_enrolled_in_course', 10, 2);
    function cp_enrolled_in_course($c_id, $student)
    {
        $course = new Course($c_id);
        $teachers = Course::get_course_instructors($c_id);
        $subject = __("You have new enrolled", 'cp');
        $headers = array(
            'Content-Type: text/html; charset=UTF-8'
        );
        $student_name = $student->user_firstname . ' ' . $student->user_lastname;
        $content = sprintf(__("Student %s has enrolled to your course %s", 'cp'), $student_name, $course->details->post_title);
        foreach ($teachers as $teacher) {
            wp_mail($teacher->user_email, $subject, $content, $headers);
        }
    }

    You wouldn’t need to alter the plugin code since the hook’s already there. And you could potentially add the code via a new plugin: http://codex.wordpress.org/Writing_a_Plugin

    Or via Code Snippets: https://wordpress.org/plugins/code-snippets/

    Would that work for ya?

    Thread Starter HH1

    (@hh1)

    Hi David,

    Thanks for your quick and helpful reply.

    Sorry, I am not great at understanding code – does Hoang’s code you provided just send a notification when a student enrols on a course? It looks that’s what it does to me but I may be misinterpreting it.

    What I (and most most other LMS admins) really need are notifications when a student completes a quiz, finishes a unit and finishes a course – so we can monitor their ongoing progress through a course.

    Would you be able to please provide code for these types of notifications? Are there hooks for these other types of notifications? If not there should be 🙂

    Thanks.

    Hey @hh1,

    Thanks for your reply and yes, that code above is just for the enrollment, but fortunately, CoursePress has extensive hooks to tie into, the following being a few pertinent ones:

    coursepress_set_course_completed
    coursepress_set_unit_completed

    So you could easily replace the above action and function, resulting in something like so:

    add_action('coursepress_set_course_completed', 'cp_set_course_completed_notification', 10, 2);
    
    function cp_set_course_completed_notification($c_id, $student)
    {
        $course = new Course($c_id);
        $teachers = Course::get_course_instructors($c_id);
        $subject = __("You have new enrolled", 'cp');
        $headers = array(
            'Content-Type: text/html; charset=UTF-8'
        );
        $student_name = $student->user_firstname . ' ' . $student->user_lastname;
        $content = sprintf(__("Student %s has enrolled to your course %s", 'cp'), $student_name, $course->details->post_title);
        foreach ($teachers as $teacher) {
            wp_mail($teacher->user_email, $subject, $content, $headers);
        }
    }

    What you could do is search the plugin code using a free editor like atom.io and simply do a directory search for occurrences of ‘do_action’.

    I’ll see if I can throw together a quick video to help explain how that can be done, but basically, that would yield all the action hooks the plugin provides. That’s how I found the above ones.

    If you’d like to discuss this further, please feel free to create a ticket here: https://wordpress.org/support/plugin/coursepress

    Since the discussion could get lengthy, it’d be best to handle there rather than through this review section.

    How’s that sound?

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘A promising start but several improvements needed to be a truly effective LMS’ is closed to new replies.