Relation is an API module and storage model for both simple and the most complex relations between entities. The module can handle both directional and symmetrical relations very well.
Relations are entities and can therefore have fields. This makes Relation the most flexible and powerful relation model out there. (Still, using Relation with anything but the default SQL storage will not work in most cases.)
Examples
John, Jen and Jack are siblings. This relation are symmetrical and points in all directions.
|-- John
|
Are siblings --|-- Jen
(relation) |
|-- Jack
CompanyA a made a donation to PartyB, with a transaction via BankC. Both relations (donation and transaction) are directional.
CompanyA --> DonationX --> PartyB
(node) (relation) (node)
DonationX --> TransactionY --> BankC
(relation) (relation) (node)
In the example above DonationX can have an integer field for the donation amount. This is something that no other relationship models in Drupal supports.
Usage
Drupal 8 version
The work on Drupal 8 version has started. The development progress can be followed on issue #1988922: Relation for Drupal 8 Development.
Credits
Credit goes to all the maintainers for building the module and to Itangalo for creating screencast documentation for this module. ITV sponsored chx's work on relation on 2011 December-2012 March.
Rationale
While a similar module could be built based on Entityreference and Entity Construction Kit (ECK) by creating a custom entity and adding entity reference fields to it, this hypothetical module would not be able to
- refer different kinds of entities for one endpoint
- handle symmetrical relations in one API (for eg. a single rule can be fired for both ends of the relationship)
- list siblings with Views
- support revisions
Also, relation, while very capable, is a small module which works with many contrib modules but requires none. We keep the API module as small as possible, adding new features into submodules as much as possible.
Project information
- Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed. - Obsolete
Use of this project is deprecated. - Module categories: Developer tools, Site structure
- 2,406 sites report using this module
- Created by sun on , updated
- Stable releases for this project are covered by the security advisory policy.
There are currently no supported stable releases.