A common need across many enterprise solutions is the ability to define and retrieve relationships between items of the same or different types. These relationships can be of several types:
- Manually determined by a person or automatically generated
- Static or dynamic (changes over time)
- Sorted or unsorted
- Bi-directional or uni-directional
- Single valued or Multi-valued
- Single-scope or multi-scope (i.e. link to items in a different scope)
Some examples of useful relationships that have been found useful when building Liferay applications and solutions are:
- Blog Entry - suggested blog entries: manually picked blog entries that the reader may want to continue with after finishing the current entry. Characteristics: Sorted, Multi-valued.
- Blog Entry - entries about the same topic: automatically picked based on the categories or tags of the current entry. Characteristics: Unsorted, Multi-valued.
- Product - related web content: manually picked web content that help describe the product. Characteristics: Sorted, multi-valued.
- Product - Documents: manually picked documents that a product buyer may want to have access too. Characteristics: Unsorted, multi-valued.
- Category - Web Content: which can be used in a Category Display Page
- Category - Image Document: which can be used in a Category Display Page
The goal of this Epic is to provide a set of improvements that allow end users to create relationships as well as display items following the relationships. Solution developers should be able to define custom relationship types.