Online Community Service Engine

Pattern number within this pattern set: 
Fiorella De Cindio
University of Milano
Leonardo Sonnante
RCM - Milan Community Network - Italy

Researchers and practitioners often trivialize the relevance of the software in determining the sustainability and success of online communities. Opinions differ widely between two extremes: some implicitly assumes that any software for managing online forums is sufficient (cf. Kim A. J., "Community Building on the Web", Addison-Wesley Longman Publishing Co., Inc., 2000); others, including E. Wenger (Wenger, 2001), suggest a large set of features (up to 73) must be included in software for managing online communities—encompassing several different applications, from access to expertise and synchronous interactions, from e-learning spaces to project spaces—resulting in complex and expensive proprietary solutions. Between these two extremes, we believe it is necessary to identify a set of basic macro-functionalities that an Online Community Service Engine should provide as well as a framework for extending these functionalities as required. In the course of this effort, support for communicating across community boundaries is as vital as focusing on individual communities.


Communities are more and more seen as powerful means for addressing significant problems in many fields of human activities. Virtual and/or online communities extend these possibilities as they remove the time and space constraints of physical communities while preserving the advantages of sharing knowledge and experience, developing mutual trust, and ultimately cooperation.

Local communities in developed as well as developing countries, communities of practice within and across enterprises, and learning communities each represent very different situations that can be extended and enriched by an online counterpart. More recently, communities arose directly online, as in the case of blogs and blogger communities.

Regardless of these different contexts, online communities are complex socio-technical systems. However, while significant efforts have been made


While the socio-technical nature of online communities is manifest and a massive volume of literature on online communities now deals with topics such as their sociological aspects and organizational impacts as well as the role they can play is a variety of contexts (within organizations as well as in the society), much less attention has been paid to technological issues. Actually, otherwise satisfactory sociological analysis and identification of general requirements technologies already available - for instance, usability studies (cf. Preece, 2000) -- do not provide clear hints for software developers.

Etienne Wenger has probably advanced the most relevant attempt to identify an appropriate technological platform for the features online communities should provide. In his extensive survey (Wenger, 2001), now revised and updated (, Wenger identifies a set of critical factors for the success of a community of practice (CoP) and the technological implications for supportive tools in terms of a list of features (73 items) that an online community environment should have if it wants to satisfy its members’ needs.

Inspired by Wenger’s work, and through an analysis of software used for managing virtual community (PhpBB, PhpNuke) and community networks (such as FreePort and CSuite) as well as our direct experience of managing several online communities (first of all community networks which constitute our basic competence, De Cindio et al, 2004) with different software, we have worked out a higher-level classification of the macro-functionalities a Online Community Services Engine should provide, which is:

  • homogeneous, since each macro-functionality is at the same level of abstraction as the others;
  • complete, since the seven macro-functionalities capture the essentials elements of a fully featured online community service engine;
  • general enough to be applied to any kind of online community, that is, communities of practice, community networks, communities of interests, learning communities, etc.

The result is the following list of macro-functionalities an online community service engine should provide:

  1. Users Management characterizes community members and provides differing and personalized views. Allows discriminating levels of access to community resources. This group of functions includes member directories, access rights, profiles, etc.
  2. Communication and dialog include all the typical synchronous and asynchronous communication tools such as email, discussion boards, blogs, private messages, chats, etc.
  3. Information and publishing allow community members to manage content for publishing as with a standard content management system (CMS), but - which we believe essential in an Online Community Services Engine - an effective integration with the communication and dialog dimension (Benini et al, 2005).
  4. Community awareness gives members the sense of belonging to a community that is characterized by rules, roles, history, customs, etc. Examples of these features are: presence awareness (knowing who is online), reputation and ranking, personal history, subscriptions, distinctive look and feel.
  5. Calendaring includes features for storing personal or community events or appointments by date, together with reminders features and the possibility of sharing calendars among members based on access rights.
  6. Workgroup support features. These features are based on the ability to restrict member access to community resources like forums, upload file areas, calendars, etc.
  7. Monitoring and statistics, i.e., features for keeping track of access, the number of posts, liveliness of forums, moderators reliability, etc.; to trace the “health” indicators of the community.

Beside these general-purpose macro-functionalities, an Online Community Services Engine should be able to be integrated with modules that offer features relevant for any specific type of community. For example teaching modules for learning communities, or deliberation facilities for civic and community networks.

To facilitate the integration of basic functionalities with dedicated features necessary to support specific types of communities, the Online Community Services Engine:

  • must have an overall modular architecture for integrating functionalities that were not built-in;
  • must include a User Management component capable of supplying authentication and authorization services to external add-on components or tools (while most of the user management components of the software used to implement online communities - e.g. PHPNuke - do not accept authentication requests from external modules);

Both these requirements have the effect of opening the Online Community Services Engine through standard protocols, thereby facilitating cross-community communication. For the same reason, the Online Community Services Engine should include features such as RSS feeds which enhance information exchange.

All these functionalities are possible if the Online Community Services Engine is implemented on standard “base-technologies,” such as the Lightweight Directory Access Protocol (LDAP) to handle authentication and authorization and Web services for providing standard interoperability among modules.


This classification of the macro-functionalities an Online Community Services Engine should provide, together with the associated architectural requirements, challenge researchers and practitioners to implement and deploy an Online Community Services Engine that can be tailored by the community that uses it; i.e., each deployment of the engine should be created as an instance of the engine, including the set of functionalities necessary for each specific online community. The opening requirement naturally calls for developing software using open-source tools.

Alternatively, the resulting classification can also be viewed as a check list for selecting from available software (proprietary or not), rather than for development purposes.

Verbiage for pattern card: 

An Online Community Service Engine contains generic services that communities need to sustain themselves. These include user management; communication and dialogue; information and publishing; community awareness; calendaring; work group support features; and monitoring and statistics. An Online Community Service Engine should be able to connect with modules that support for specific groups such as educational or deliberative facilities.

Pattern status: 
Information about introductory graphic: 
Ambrogio Lorenzetti. Wikimedia Commons