Audience provides an abstract definition of user groups and types in a given context. These definitions are called "Audience presets" and can be used by other modules to control different types of audience related actions or permissions. By using CTools these audience presets are exportables and can either get stored in a database or live in code provided by modules.
Modules can use these presets to check if a user is member of a given audience. Therefore
audience_is_member_of($preset, $account, $context) is used.
audience_members($preset, $context) all users of a given audience in the given context can be retrieved.
Audience presets are instances defined by an audience type. Default audience types shipped with Audience are "user", "roles", "author" and "userreference". There also "intersection" and "union" that merge multiple preset definitions to one preset (e.g. User is "author of node xy" and has "role admin").
These modules are part of the project.
- Audience - Definition of audience presets
- Audience ACL - Caching of audiences by using ACL
- Audience NodeAccess - Provides a CCK Field that uses ACL cached audiences to control access on the given node
- Audience TaxonomyAccess - Provides a taxonomy setting to control access on terms and their nodes by using audiences (similar to TAC Lite but with a more generic approach)
The follow contrib Modules use audience.
- Field Access Field (github) - control field access in nodes by selecting an audience via cck field
- Chaos Tool Suite
- The submodules need ACL and/or CCK.
If you have comments on similar concepts, might see this project as a duplicate or simply have new ideas extending this module please file an issue.