Enroll a large number of users

When you enroll a large number of users in a course, first decide whether to enroll the users directly or create a group and enroll it. Adobe recommends these best practices for enrolling users in courses:

  • Enroll users directly in courses using permissions-update , which allows you to enroll 1000, 10,000, or more users with a single API call.

  • Add the users to a group and enroll it only if you plan to reuse the group (for example, to enroll it in multiple courses). In this case, you can add only 200 users at a time.

Enroll a large number of users (1000+) directly in a course

  1. Get the sco-id of the course (see Find courses and curriculums ).

  2. Get the principal-id of each user you want to enroll.

    To do this, you can:

    • Call principal-list with filters to list the users you want to enroll:

      https://example.com/api/xml?action=principal-list&filter-type=user 
          &filter-type=sales
    • Read the values from a file.

  3. Write a method that calls permissions-update with multiple trios of acl-id , principal-id , and permission-id :

    https://example.com/api/xml?action=permissions-update 
        &acl-id=2007064258&principal-id=2007105030&permission-id=view&acl-id=2007064258&principal-id=2006258745&permission-id=view ...
    • The acl-id is the sco-id of the course.

    • The permission-id is view to enroll users.

    • The principal-id is unique in each trio.

    If any trios have incorrect information, permissions-update returns an ok status, executes the correct trios, and does not execute the invalid ones.

  4. Call permissions-info to check that the users have been enrolled:

    https://example.com/api/xml?action=permissions-info 
        &acl-id=2007064258&filter-permission-id=view

    Without a principal-id , this call returns a list of all principals enrolled in the course.

Unenroll a large number of users (1000+) from a course

  1. Get the sco-id of the course (see Find courses and curriculums ).

  2. Get the principal-id of each user you want to remove. You can:

    • Call principal-list with filters to list the users you want to unenroll:

      https://example.com/api/xml?action=principal-list&filter-type=user 
          &filter-account-id=624520
    • Read the values from a file.

  3. Write a method that calls permissions-update with multiple trios of acl-id , principal-id , and permission-id :

    https://example.com/api/xml?action=permissions-update 
        &acl-id=2007064258&principal-id=2007105030&permission-id=denied&acl-id=2007064258&principal-id=2006258745&permission-id=denied ...

    The permission-id is denied to unenroll users from the course.

  4. Call permissions-info to check that the users have been removed:

    https://example.com/api/xml?action=permissions-info 
            &acl-id=2007064258&filter-permission-id=denied

Enroll a large group (1000+) in a course

  1. Create a group.

    With the XML API
    Call principal-update and parse the response for the principal-id :
    https://example.com/api/xml?action=principal-update&type=group 
            &has-children=1&name=developersc5

    With Adobe Connect
    Central Create the group at Administration > Users and Groups > New Group. Take the principal-id of the new group from the browser URL.

  2. Add the users you want to enroll to the group. You can use an API call or Adobe Connect Central, but you can add only 200 users at a time.

    With the XML API
    Call group-membership-update , using multiple trios of group-id , principal-id , and is-member=true :
    https://example.com/api/xml?action=group-membership-update 
        &group-id=4930296&principal-id=2006258745&is-member=true 
        &group-id=4930296&principal-id=2007343711&is-member=true

    If any trios have incorrect information, group-membership-update returns an ok status, but the user in the incorrect trio is not added to the group.

    With Adobe Connect Central
    Navigate to Administration > Users and Groups > Import. You can import users from a CSV (comma-delimited) file with at least a login ID for each user.

  3. Get the sco-id of the course (see Find courses and curriculums ) using the sco-id of the specialized training folder that contains the course.

  4. Call permissions-update to enroll the group in the course:

    https://example.com/api/xml?action=permissions-update 
        &acl-id=2007064258&principal-id=2007105030&permission-id=view

Unenroll a large group (1000+) from a course

  1. Call permissions‑info ‑ on the course, filtering for a permission-id of view :

    https://example.com/api/xml?action=permissions-info 
        &acl-id=2007064258&filter-permission-id=view&filter-type=group
  2. Parse the response for the principal-id of the group:

    <principal principal-id="2006258745" is-primary="false" type="group" 
                has-children="true" permission-id="view"> 
        <name>developers</name>  
        <login>developers@acme.com</login>  
    </principal>
  3. Call permissions-update with a permission-id of denied to remove the group’s access to the course:

    https://example.com/api/xml?action=permissions-update 
        &acl-id=2007064258&principal-id=2007105030&permission-id=denied

// Ethnio survey code removed