Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

Supports multiple Farm tenants in a single farmOS 4 installation. Leveraging the Group module, Farm Multitenant creates a group for each Farm Organization. A member of a Farm Organization can see assets, logs, and other data for that organization only.

Important Information

This core patch is required for FarmOS installations using PostgreSQL. See #3523409: Error installing module: mimic_implicit_commit is already in use and #2920527: Postgres driver issue with nested savepoints mimic_implicit_commit duplicated.

Installation

Install as you would normally install a contributed Drupal module. Visit: Installing Modules for further information.

Configuration

A group with type Farm will be created automatically for any existing farm organizations when the module is enabled. When a new farm organization is created, a group will be created for that organization as well.

Members can be added to the farm organization group via the farmOS Setup pages (/organizations), as well as through the Group module's configuration pages. This allows a site admin to hide the Group settings from farm managers to allow them to manage their own members without having to know about groups.

Roles and permissions

Configuring global and group roles for Farm Multitenant can be challenging, as it requires understanding both Drupal's permissions system and the Group module's roles and permissions. The module does not provide a default set of roles, apart from the Farm Admin group role. To help with this, the module provides a recipe that can be applied to create an initial set of roles and permissions for a typical Farm Multitenant installation.

Roles Recipe

Example roles and permissions can be installed running the following command:

drush recipe modules/farm_multitenant/recipes/example_roles

For more information about Drupal recipes, see the Recipes Initiative Documentation.

Global Roles

The example global roles created by the recipe are:
- Primary Manager: This role can add and manage all farm organizations
- Technical Assistance Provider Admin: This role can create farm organizations and can view and manage organizations that they are a member of.
- Technical Assistance Provider: This role can can view and manage farm organizations that they are a member of, but cannot create new farm organizations.
- Producer: This role can view, add and edit assets and logs that belong to the farm organization they are a member of.
- Producer (read-only): This role can view assets and logs that belong to the farm organization they are a member of.

Group Roles

The example group roles created by the recipe are:
- Primary manager (outsider) - This group role is mapped to the global Primary Manager role. It allows Primary managers to manage farm organizations even if they are not a member of the organization.
- Primary manager (insider) - This group role is mapped to the global Primary Manager role. It allows Primary managers who are members of an organization to retain the same permissions as the outsider role.
- Technical Assistance Provider Admin - This group role is mapped to the global Technical Assistance Provider Admin role. It allows Technical Assistance Provider Admins to add farm organizations, and manage the members of the farm organizations it is a member of.
- Technical Assistance Provider - This group role is mapped to the global Technical Assistance Provider role. It allows Technical Assistance Provider to manage the members of the farm organizations it is a member of.
- Producer - This group role is mapped to the global Producer role.
- Producer (read-only) - This group role is mapped to the global Producer (read-only) role.

Sponsors

This project has been sponsored by Our Sci.

The work was supported in part by funds from the Climate Action Research Grants of the University of California, Grant Number R02CP7344.

Activity

Total releases
10
First release
Jan 2025
Latest release
2 months ago
Release cadence
39 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
2.0.0-beta1 Pre-release Jan 21, 2026
2.0.x-dev Dev Jan 20, 2026
1.0.0-beta7 Pre-release Nov 20, 2025
1.0.0-beta6 Pre-release Oct 2, 2025
1.0.0-beta5 Pre-release Aug 21, 2025
1.0.0-beta4 Pre-release Jul 18, 2025
1.0.0-beta3 Pre-release Jul 11, 2025
1.0.0-beta2 Pre-release Jun 11, 2025
1.0.0-beta1 Pre-release May 16, 2025
1.0.x-dev Dev Jan 31, 2025