Last updated February 9, 2012.

Short Project Description

A new (contrib) profile module, which builds user profile's as nodes and so opens the opportunity to use the Content Construction Kit (CCK), is to be developed.

Motivation

Building a profile out of nodes allows using CCK and its field types as well as the CCK form builder. So there is no need to provide a duplicated form builder for a profile module any more. Furthermore it will benefit from existing CCK features, e.g. the CCK caching mechanism and also from any future CCK development. Integration of the view module allows to easily build customizeable user listings or even user search. For a maximum of flexibility it'll be also possible to use custom node-types and modules instead of the CCK.
Making users available as nodes also offers additional benefits, which are currently only available for nodes, think of using taxonomy, node comments or searching by field with users.

Goals

  • It should be possible to define multiple profiles, each of them assignable to user roles.
  • Views integration should work easily. E.g. it should be possible to display user information like username and mail address in a view.
  • Each profile may consist of multiple form pages, which can be filled out within a user-friendly workflow. This should work efficently, so that it's applicable to huge forms
  • Inside a profile it's possible to define a group, which the user may fill out multiple times - by giving that user the opportunity to add further form groups.
    So it would be possible to make a form, which lets a user fill out the properties of e.g. 3 (or more) items.

Problems

  • Other modules might use the nodeapi and hook into profile nodes, which might not be very suitable to profile nodes e.g. the url path settings. A possible solution would be to allow other modules to determine if a node type is used for a user profile.
  • The profile URLs are different for diverse users as each user gets a own Node-Id. More consistent URLs for user profiles would be appreciated.