Skip to content

[Feature Request] Formalize Object Nesting for Property Inheritance and Automatic Collection Grouping #1708

@icarus-00

Description

@icarus-00

Have you read a contributing guide?

  • I have read CONTRIBUTING.md
  • I have searched the existing requests and didn't find any that were similar
  • I have considered creating a pull request instead and want to proceed

Clear and concise description of the problem

The current system for nested objects and local properties leads to significant UI/UX friction and a disconnect from user expectations regarding hierarchy and context.

Lack of Contextual Schema: When Object B is created inside Object A in the content area, B does not gain access to A's local properties (P local), forcing manual, hacky replication of schema context.

Collection Disconnect: The nesting relationship is not formalized, so a linked object (Ob) is not automatically included in the Collection its parent (Oa) belongs to.

Local Properties Inconsistency: The "Local" properties panel is hidden by default. Activating it requires indirect workarounds (e.g., using a Collection view or the /properties content block), which severely impacts feature discoverability.

Suggested solution

the introduction of Soft Hierarchical Schema Inheritance and Automatic Collection Inclusion based on the object nesting relationship.

A. Formalize the Parental Relationship
To enable hierarchy, we need a formalized link:

System Relation: Introduce a new, automatically managed System Relation (similar to Links or Backlinks) named Nested Children to track objects created within the current object's content.

B. Property Panel Enhancement: "Inherited Context"
New Section: Add a section to the child object's properties panel: "Inherited properties".

Functionality: This section displays the local properties (P local) of the parent object (Oa ) in a read-only view, with values are only editable.

Action: Include a button next to each inherited property to "Promote to Local Property", which adds the property's schema to the child's P local section for data entry.

C. Automatic Collection Inclusion
New Option: In Collection settings, add a toggle: "Include all objects nested within current Collection object."

Result: This ensures a child objects is automatically included in its parent's Collection view, which would be different from the current workaround via enabling the Links property in the property panel, as the newly nested object would be part of the same collection automatically.

D. UI/UX Fix for Local Properties
The "Local" properties panel should be always visible, and an easily accessible "+" button should be present to allow users to Add New Local Property directly to the object instance, removing the need for workarounds.

Alternative

I have considered manually linking objects to Collections and manually promoting properties to the Object Type. However, these are inadequate because:

Manual Linking: This defeats the purpose of an automatic graph/hierarchy model and requires repetitive work for large nested projects.

Promoting to Type: Promoting a property to the global Object Type (e.g., Page) pollutes the schema for all pages, even those outside the specific project or context. The "Inherited Properties" is a necessary middle ground.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions