Что такое узел и свойство в репозитории контента?
Я читаю о репозиториях контента и в настоящее время читаю спецификацию JCR и документацию, найденную на Apache JackRabbit. Тем не менее, я до сих пор не понимаю, что именно я собираюсь хранить в узлах и свойствах.
Я знаю, что фактические данные идут в свойствах. Но я не понимаю их "семантику", как они предназначены для использования. Может ли кто-нибудь объяснить Node и Property?
Какую роль это имеет?
2 ответа
Хороший способ представить модель содержимого JCR - это "фрактальная файловая система на стероидах".
Вы можете начать с организации своего контента в макродереве и видеть различные элементы контента в виде микровылов со своими собственными структурами, не зависящими от общей структуры дерева контента.
В проектах моей команды мы используем структуру дерева макросов, которая похожа на структуру системы Unix, с папками, такими как /content, /var, /etc, /tmp и т. Д., Которые обеспечивают знакомую и понятную структуру.
Затем узлом может быть веб-страница с подпапками, такими как изображения, комментарии, контент и такими свойствами, как заголовок, описание, теги. Хранение фактического контента в виде упорядоченного набора узлов в папке контента под узлом страницы обычно имеет смысл, когда каждый из этих подузлов контента играет определенную роль в контенте, например, заголовок статьи, тело статьи, основное изображение и т. Д.
Фактическое текстовое содержимое будет затем сохранено в свойствах String этих подузлов содержимого, и общие метаданные могут быть свойствами подузла метаданных.
Считая, что дерево JCR как (в некоторой степени) фрактальная структура помогает, на мой взгляд, вам нужно переключиться между макро- и микро-представлениями дерева контента (включая вложенные микро-представления), чтобы убедиться, что каждая из этих структур понятна и подходит для ваших сценариев использования., В этой модели узлы в основном используются для организации контента, а свойства хранят фактический контент.
http://wiki.apache.org/jackrabbit/DavidsModel также предоставляет хорошие рекомендации по дизайну модели содержимого JCR.
Узлы предоставляют простой способ перегруппировать свойства и другие узлы. Думайте о них как о папках в вашей файловой системе, в то время как свойства больше похожи на файлы (данные). Думайте о JCR как о вашей файловой системе, она должна помочь вам почувствовать, как вы хотите ее использовать.