Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-31356

IMS Enterprise enrol plugin added features

    XMLWordPrintable

Details

    • Any
    • MOODLE_22_STABLE, MOODLE_31_STABLE
    • MOODLE_32_STABLE
    • MDL-31356_master
    • Hide

      Manual tests

      • Go to IMSEnterprise Enrol Plugin settings/config screen; notice there are new options:
        • to control updating users; "Update user accounts when specified in IMS data"
        • to control updating courses "Update course"
        • to enable nested categories "Allow nested categories"
        • to enable category idnumber "Allow category idnumber"
        • a separator character to separate category name and idnumber "Category Separator Character".
      • Ensure that the options "Update course" and "Update user accounts when specified in IMS data" are not checked.
      • Ensure that the options "Allow nested categories" and "Allow category idnumber" are not checked.
      • Ensure that the option "Category Separator Character" is empty.
      • Ensure that options "Create user accounts for users not yet registered in Moodle", "Create new (hidden) courses if not found in Moodle" and "Create new (hidden) course categories if not found in Moodle" are checked.
      • Load the provided XML data_1. (by clicking "perform an IMS Enterprise import right now")
        • Program works as before (category name)
        • You should see 1 new user (Joe User) created with an authentication type of 'none'
        • You should see 1 new course "AMCS-200-003-13-SP" created and placed into a new top level category called "Spring 2013 - AMCS".
        • Take note of the full name of the course.
      • Go to IMSEnterprise Enrol Plugin settings/config screen;
      • Ensure that the options "Update course" and "Update user accounts when specified in IMS data" are checked.
      • Load the provided XML data_2.
        • Program works as before (category name)
        • You should see 1 new course "AMCS-301-004-14-SP" created and placed into the existing category called "Spring 2013 - AMCS".
        • You should see the full name of course "AMCS-200-003-13-SP" updated.
        • You should see the given name and family name of user "Joe User" updated to "Joseph User Jr.".
      • Go to IMSEnterprise Enrol Plugin settings/config screen;
      • Ensure that the option "Allow nested categories" is checked.
      • Load the provided XML data_3.
        • Program works with nested categories (using category name only).
        • You should see a new category "Summer 2016" at top level.
        • You should see a new category "INFS" in category "Summer 2016".
        • You should see 2 new courses "IFN-300-007-16-AB" and "IFN-300-008-16-DE" created and placed into category "INFS".
      • Go to IMSEnterprise Enrol Plugin settings/config screen;
      • Ensure that the options "Allow nested categories" and "Allow category idnumber" are checked.
      • Ensure that the option "Category Separator Character" contains '|' character.
      • Load the provided XML data_4.
        • Program works with nested categories (using category name and idnumber).
        • You should see a new category "Winter 2015" with idnumber "200" at top level.
        • You should see a new category "PHY" with idnumber "2001" in category "Winter 2015".
        • You should see 2 new courses "PHY-100-007-15-AB" and "PHY-100-118-15-AB" created and placed into category "PHY".

      Unit tests

      • Run : phpunit enrol_imsenterprise_testcase enrol/imsenterprise/tests/imsenterprise_test.php
      • Run : phpunit core_course_courselib_testcase course/tests/courselib_test.php
      Show
      Manual tests Go to IMSEnterprise Enrol Plugin settings/config screen; notice there are new options: to control updating users; "Update user accounts when specified in IMS data" to control updating courses "Update course" to enable nested categories "Allow nested categories" to enable category idnumber "Allow category idnumber" a separator character to separate category name and idnumber "Category Separator Character". Ensure that the options "Update course" and "Update user accounts when specified in IMS data" are not checked. Ensure that the options "Allow nested categories" and "Allow category idnumber" are not checked. Ensure that the option "Category Separator Character" is empty. Ensure that options "Create user accounts for users not yet registered in Moodle", "Create new (hidden) courses if not found in Moodle" and "Create new (hidden) course categories if not found in Moodle" are checked. Load the provided XML data_1. (by clicking "perform an IMS Enterprise import right now") Program works as before (category name) You should see 1 new user (Joe User) created with an authentication type of 'none' You should see 1 new course "AMCS-200-003-13-SP" created and placed into a new top level category called "Spring 2013 - AMCS". Take note of the full name of the course. Go to IMSEnterprise Enrol Plugin settings/config screen; Ensure that the options "Update course" and "Update user accounts when specified in IMS data" are checked. Load the provided XML data_2. Program works as before (category name) You should see 1 new course "AMCS-301-004-14-SP" created and placed into the existing category called "Spring 2013 - AMCS". You should see the full name of course "AMCS-200-003-13-SP" updated. You should see the given name and family name of user "Joe User" updated to "Joseph User Jr.". Go to IMSEnterprise Enrol Plugin settings/config screen; Ensure that the option "Allow nested categories" is checked. Load the provided XML data_3. Program works with nested categories (using category name only). You should see a new category "Summer 2016" at top level. You should see a new category "INFS" in category "Summer 2016". You should see 2 new courses "IFN-300-007-16-AB" and "IFN-300-008-16-DE" created and placed into category "INFS". Go to IMSEnterprise Enrol Plugin settings/config screen; Ensure that the options "Allow nested categories" and "Allow category idnumber" are checked. Ensure that the option "Category Separator Character" contains '|' character. Load the provided XML data_4. Program works with nested categories (using category name and idnumber). You should see a new category "Winter 2015" with idnumber "200" at top level. You should see a new category "PHY" with idnumber "2001" in category "Winter 2015". You should see 2 new courses "PHY-100-007-15-AB" and "PHY-100-118-15-AB" created and placed into category "PHY". Unit tests Run : phpunit enrol_imsenterprise_testcase enrol/imsenterprise/tests/imsenterprise_test.php Run : phpunit core_course_courselib_testcase course/tests/courselib_test.php
    • 40

    Description

      I've added the following features to the IMS Enterprise enrol plugin:

      Ability to update a course Full Name
      Ability to update a course Short Name
      Ability to create nested categories during course creation
      Ability to update a user record (all fields that the plugin already knew about except username)
      Ability to set/update an authentication type for a user (during creation and updates)

      I've added options in the settings/config area for this plugin to turn on/off course and user updates, and to set the separator character for nested categories.

      Attachments

        1. data_1.xml
          0.7 kB
        2. data_2.xml
          0.9 kB
        3. data_3.xml
          0.7 kB
        4. data_4.xml
          0.7 kB
        5. data_set_1.xml
          0.7 kB
        6. data_set_2.xml
          0.9 kB
        7. imsenterprise_lang_en_enrol_imsenterprise.php.patch
          2 kB
        8. imsenterprise_lib.php.patch
          13 kB
        9. imsenterprise_lib.php.patch
          9 kB
        10. imsenterprise_lib.php.patch
          8 kB
        11. imsenterprise_lib.php.patch
          8 kB
        12. imsenterprise_settings.php.patch
          2 kB
        13. imsenterprise.tar.gz
          14 kB
        14. moodle-287-imsenterprise-biggsb.patch
          15 kB
        15. moodle-master-MDL-31356.diff
          19 kB

        Issue Links

          Activity

            People

              sergeg55 Serge Gauthier
              perlwiz Brian Biggs
              Issam Taboubi Issam Taboubi
              Dan Poltawski Dan Poltawski
              John Okely John Okely
              Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Ilya Tregubov, Laurent David, Raquel Ortega, Sara Arjona (@sarjona)
              Votes:
              11 Vote for this issue
              Watchers:
              18 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                5/Dec/16