-
Notifications
You must be signed in to change notification settings - Fork 3
Content Relationships
Relationships in Symphony 2 are are clunky, inconsistently implemented, and almost completely siloed into field extensions. In Symphony 3, creating and managing content relationships should be easy and elegant from the start, and their implementation should be more modular.
The following was proposed during a working group chat on 28 April 2011 (transcript). Draft 1 is in progress pending a follow-up discussion.
Symphony 3 should handle relationships in the core. Exactly what this entails is subject to a follow-up chat.
The scope of this proposal is primarily around how content relationships are architected from a system perspective, but the user experience of creating and managing relationships needs to be considered in a broad sense.
Agreed-upon
-
The core should be responsible for handling the relationships on a fundamental level
e.g. creating. removing, fetching related entries, etc
-
The core should support all the different kinds of relationships
see for example Types of associations in Rails
-
The core will need to provide a relationships API for extensions to work with.
Under discussion
-
Users should be able to manage basic relationships elegantly by default
-
System should provide sane defaults for relationship behavior that are configurable, and the API should allow these defaults to be overridden
Under discussion
-
Whether system's basic, default relationship behaviors should be built into core or provided in a bundled default extension
-
Whether relationship is defined via a field, or defined on the relationship itself and optionally rendered by a field
-
We will continue fleshing out use cases and system implications via the wiki:
-
We will reconvene in a follow-up chat to discuss the approaches