This section details concepts such as installation, user management, site structure, theming, apps, and contributions for the Open Atrium distribution.

Recently Updated Documentation

Site Users & Permissions

This collection of content is meant to cover the user and permissioning structure of a standard Open Atrium 2 site. This includes groups, teams, and basic users as well as how to restrict your content to these users.


How do I add content to my space?

Once you’ve created a section within your space, you’ll be able to add any content relevant to that section. The breakdown of section and types of content is as follows:

  • News section - document pages, wiki pages, articles, & document management

  • Discussion section - forums, discussions, media attachments to conversations etc.

  • Calendar section - events w/ geolocation, calendars

  • Custom content types - any other content types you customize for site will also appear in the “+” button in the…



What is a section?

A section is where your content actually lives on your site. OA ships with documents, discussions, and events as default section options, but you can easily add additional content types via Drupal modules or custom code.

How do I create a section?

  1. Be sure that your site admin has already created your spaces and subspaces architecture.

  2. Available to space admins and above, log into your OA account.

  3. Click on the “+” button in the top line navigation bar and select “Create a Section Page”

  4. The…



What is a subspace?

A subspace is an additional division of content nested within a larger space. A site can have as many subspaces as necessary to appropriately house users’ content, but it is recommended that subspaces are used for multiple pieces of content that follow one theme. (For example, each regional division within a department of a company would have it’s own subspace.)

How do I create a subspace?

  1. Available to site admins and above, login to your OA account.

  2. Follow the same directions as listed for “Create a Space,” except be…


What is a Space?

A space is a collection of content. Depending on the needs of your organization, spaces can be further divided into subspaces (for a large grouping of content nested within a space) and/or sections (where the content actually lives within spaces or subspaces).

How do I create a Space?

  1. Available to site admins and above, login to your OA account.

  2. Find the drop down arrow next to the home icon in the top left hand corner.

  3. Click “Create New Space”

  4. The following fields are required before you are able…


Site Content Structure & Hierarchy

This set of documentation describes the basics of content structure and hierarchy for a standard Open Atrium 2 site including spaces, subspaces, sections, and individual pieces of content. In addition, there are some brief walkthroughs of how to set each of these features up for your site.

Modifying Notifications

Once the messages are generated, Open Atrium 2 determines which users should receive notifications (e.g., via email). Each content node contains a list of Groups, Teams, and Users who should receive notifications. When a Group is specified, only users within that Group who are also members of the Space are notified.

Plugins can modify the default notification scheme via the hook_oa_notifications_source_alter($source, $context) function. $source is an array of associative arrays with 'source_id' and 'source_type' pair values which determine the source of the stored…


Modifying Messages

Two alter hooks can be used to modify a message.

hook_oa_messages_type_alter(&$message_type, $context)

Allows your Plugin to alter the machine_name of a message that is about to be created. $context is a keyed array with: 'account' as the user account, 'entity' as the entity being referenced by the message, 'entity_type' is the type of the entity, 'entity_id' is the id of the entity, 'entity_wrapper' is the wrapper around the referenced entity (if any), 'text' is the optional text and 'arguments' is the data passed in the original oa_messages_create function call. For…


Creating Messages in Code

To create a new message when a particular action has occurred within your Plugin, call the helper function:

where $message_type is the machine_name of your custom message entity, $entity_id and $entity_type reference a node or other entity that relates to the message being created, $text is optional text for the message, $args is optional data that your Plugin can add to the message, and $send is TRUE if you wish email notifications to be sent or not.

Message Display Modes and Templates

Open Atrium 2 defines several Display Modes for messages to handle how each message is displayed in various places on the site, including how Subject and Body email fields are rendered. The "Message Text" field is used to define templates for each display mode. Each display mode can contain zero or more "partials" of the "Message Text" field. In other words, each of the Message Text "parts" can be placed into a Display Mode in whatever order you wish. This allows you to re-use the same template within different Display Modes if necessary.

The following Display Modes are defined that…