'Create a custom UserPartition to support dynamic groups.
A Partition has an id, name, scheme, description, parameters, and a list
of groups. The id is intended to be unique within the context where these
are used. (e.g., for partitions of users within a course, the ids should
be unique per-course). The scheme is used to assign users into groups.
The parameters field is used to save extra parameters e.g., location of
the course ID for this partition scheme.
Partitions can be marked as inactive by setting the "active" flag to False.
Any group access rule referencing inactive partitions will be ignored
when performing access checks.'

@classmethod
def create_user_partition(cls, id, name, description, groups=None, parameters=None, active=True):

    return EnrollmentTrackUserPartition(id, unicode(name), unicode(description), [], cls, parameters, active)
