Apps compatible provides methods to help multiple apps or features to play nicely together.

This module does nothing on its own and should be installed only if it's required by another module.

Why this module?

Apps and features, used as building blocks of Drupal distributions, are intended to provide discrete areas of functionality that integrate together. However, in many cases there are shared components - roles, taxonomy vocabularies, fields, etc. - that are required in multiple apps or features.

If multiple different distributions each use Features to provide their own version of these shared components, the different distributions will be mutually incompatible, as they will have conflicting dependencies.

Despite its name, Apps compatible is not explicitly tied to the Apps module and may be used with any app, feature, or non-feature module.

What does this module do?

Shared components

The main focus of Apps compatible is to provide API methods that features modules can use to create and use shared components.

While Apps compatible uses the same export formats as used by Features, it does not use features for creating shared components. Instead a custom API is used to:

  • Avoid the dependency problems that Features introduces.
  • Allow apps or features to use selected shared components - e.g., one or two shared roles - without inheriting the full set of shared components.

Apps compatible ships with the definitions of several shared components:


  • administrator: a site administrator role, typically assigned the administrator role setting. All permissions that are assigned via Features should be assigned to the administrator role.
  • editor: a content administrator role. While this role may be assigned the 'administer nodes' permission by a particular distribution, individual features and apps typically should assign this role admin access to all content types that they provide.
  • contributor: a content contributor role.
  • manager: a site manager who who has access to tasks like administering content types and users.
  • member: a member of an organization; could be used by membership-based organizations to assign a subset of website users membership privileges.

Taxonomy vocabularies

  • tags: a freetagging vocabulary.


Field support is planned but not yet implemented.

Methods to facilitate interoperable apps and features

As well as providing methods for shared components, Apps compatible includes a collection of methods handy for developing interoperable features and apps.

Developer usage

See the API documentation for examples of how to use this module to write interoperable Apps or Features.

Project Information