Я бы рекомендовал взглянуть на модуль профиля контента: http://drupal.org/project/content_profile. С помощью этого модуля вы можете указать тип контента, который будет использоваться для профилей пользователей. Делая это, вы можете использовать CCK и делать с этим узлом профиля все, что можно сделать с любым другим типом узла (список с представлениями, панелями, стиль с помощью node.tpl.php и т. Д.).
Кроме того, вы можете назначать разные роли разным профилям контента, устанавливая соответствующие разрешения для узла. Например, вы можете захотеть проверить «создать контент teacher_profile» и «редактировать собственный контент teacher_profile», где «teacher_profile» - это имя типа контента, который вы создадите. Затем вы можете создать вторую роль с именем «student» и второй тип контента с именем «student_profile» и применить аналогичные разрешения, чтобы только учащиеся могли создавать и редактировать свои соответствующие профили этого другого типа контента.