Иерархические кусочки в Апостроф CMS - PullRequest
0 голосов
/ 04 февраля 2019

Отказ от ответственности: Я уже коротко поговорил об этом со Стюартом и хотел бы получить больше мнений по этому вопросу, особенно Тома как ведущего архитектора.

I 'Я строю некоторые структуры контента с помощью Apostrophe CMS и, исходя из мира Java Content Repository, который организован в виде деревьев с узлами, я (как хорошо, так и плохо) привык к иерархическому управлению контентом.

Хотя фрагменты Apostrophe следуютклассическая плоская структура, которая не подходит для страниц, которые на самом деле организованы в виде дерева.Однако, насколько я понимаю, погружаясь в код apostrophe-pages, иерархия не существует, за исключением фильтров children и ancestors, которые обеспечивают иерархию на основе путей.

КакПримеры того, почему кому-то нужны иерархические элементы, вот два примера из реальной жизни:

  • Если у нас моделей автомобилей или болезней частей, всегда естьбазовая модель / заболевание с общими полями (размеры для автомобилей, симптомы для болезней) и многими специфическими детскими полями, которые различаются только в нескольких областях (двигатель для автомобилей, лечение от болезней).Иерархия позволяет нам повторно использовать содержимое предка, если оно не перезаписано в дочернем.
  • Если у нас есть учебная платформа, состоящая из курсов, уроков и материалов, настройка ACL для курса (гости, зарегистрированные пользователи, премиум-пользователи,и т. д.) позволил бы неявно назначать одинаковые права доступа элементам этого курса.

Для достижения своих иерархических частей я делаю это «по-старому»: добавление «родителя»joinByOne поле в своем роде.

Мои вопросы будут:

  • Рекомендуется ли этот подход с точки зрения апострофов?Есть ли другой лучший способ управления иерархическим контентом в Apostrophe?
  • Сколько усилий потребуется для настройки модального фрагмента, чтобы отобразить иерархию, например, с помощью jstree, как в «apostrophe-pages»,У меня был проблеск в этом, и это кажется довольно обычным.

Я хотел бы услышать мнение сообщества в этом отношении, так как я очень открыт для работы в модуле npm, который допускает такое поведение, нодля того, чтобы сделать это должным образом, обратная связь с основной командой была бы высоко оценена (и, скорее всего, некоторые рекомендации, так как мои коллеги и я все еще новички в Apostrophe).

...