[MAGNOLIA-9081] Alternative flat content app experience, and implicit JCR sharding Created: 05/Sep/23 Updated: 07/Dec/23 |
|
| Status: | Open |
| Project: | Magnolia |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Epic | Priority: | Neutral |
| Reporter: | Mikaël Geljić | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | dx-core-6.3 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Epic Name: | Flat content app experience |
| Acceptance criteria: |
Empty
|
| Date of First Response: |
| Description |
|
Editing large-scale content within Magnolia usually comes through content-apps and content-types. Typically, website pages don't grow as much. Few dynamic pages rather link to products/types via URI2RepositoryMapping (headful) or via delivery API (headless).
(Additionally, cases such as 1-directed hierarchical node-types, e.g. company » department » employee) are not supported by content-types, and in fact not so common). Workarounds
BackgroundThe two main reasons we offer a tree-like experience are:
ProposalOffer a flat content app experience, and hide the hierarchical sharding in JCR behind the scenes. This involves several components and aspects:
Implementation noteJackrabbit offers some utilities for dealing with flat structures in the org.apache.jackrabbit.commons.flat package. The interfaces and classes in that package allow transparent mapping of flat structures to a node hierarchy. The default implementation is based on a BTree, which splits nodes on insertion when necessary. The focus of the utility is on sequential access rather than random access and searching. |
| Comments |
| Comment by Aleksandr Pchelintcev [ 18/Sep/23 ] |
|
Another possibility to double check/verify is how the JCR's struggle with flat lists is related to the order support. I can't tell from the top of my head but my hunch is that we do enable orderable trait for the nodetypes/workspaces by default. If that's really the case - could we drop it by default and rather indeed rely on the approaches like surfacing the latest content or other optional ways of sorting the nodes? |