Отказ от ответственности: Я уже коротко поговорил об этом со Стюартом и хотел бы получить больше мнений по этому вопросу, особенно Тома как ведущего архитектора.
I 'Я строю некоторые структуры контента с помощью Apostrophe CMS и, исходя из мира Java Content Repository, который организован в виде деревьев с узлами, я (как хорошо, так и плохо) привык к иерархическому управлению контентом.
Хотя фрагменты Apostrophe следуютклассическая плоская структура, которая не подходит для страниц, которые на самом деле организованы в виде дерева.Однако, насколько я понимаю, погружаясь в код apostrophe-pages
, иерархия не существует, за исключением фильтров children
и ancestors
, которые обеспечивают иерархию на основе путей.
КакПримеры того, почему кому-то нужны иерархические элементы, вот два примера из реальной жизни:
- Если у нас моделей автомобилей или болезней частей, всегда естьбазовая модель / заболевание с общими полями (размеры для автомобилей, симптомы для болезней) и многими специфическими детскими полями, которые различаются только в нескольких областях (двигатель для автомобилей, лечение от болезней).Иерархия позволяет нам повторно использовать содержимое предка, если оно не перезаписано в дочернем.
- Если у нас есть учебная платформа, состоящая из курсов, уроков и материалов, настройка ACL для курса (гости, зарегистрированные пользователи, премиум-пользователи,и т. д.) позволил бы неявно назначать одинаковые права доступа элементам этого курса.
Для достижения своих иерархических частей я делаю это «по-старому»: добавление «родителя»joinByOne
поле в своем роде.
Мои вопросы будут:
- Рекомендуется ли этот подход с точки зрения апострофов?Есть ли другой лучший способ управления иерархическим контентом в Apostrophe?
- Сколько усилий потребуется для настройки модального фрагмента, чтобы отобразить иерархию, например, с помощью jstree, как в «apostrophe-pages»,У меня был проблеск в этом, и это кажется довольно обычным.
Я хотел бы услышать мнение сообщества в этом отношении, так как я очень открыт для работы в модуле npm, который допускает такое поведение, нодля того, чтобы сделать это должным образом, обратная связь с основной командой была бы высоко оценена (и, скорее всего, некоторые рекомендации, так как мои коллеги и я все еще новички в Apostrophe).