A community that is accessed via a portal is disclosed, for maintaining
user membership during collaboration on a project. A repository
containing resources is provided wherein the data is stored nodes and
each node is associated with a collaboration resource. The resources can
each have a set of properties or attributes. A content object can be
provided for wrapping each node and for specifying what type of resource
the node holds data for. A generic control can be implemented in order to
handle various business logic for the developer in terms of the
collaboration resources. The generic control can deal with the content
object wrappers instead of nodes. Developers can use the generic controls
in order to obtain an abstracted interface to the content management
system API. The generic control can also contain an extensible control
for performing CRUD operations on the data nodes.