2016-02-03 4 views
4

В настоящее время мы строим большой сайт с использованием AEM 6.1 и будем переносить сотни тысяч записей из старой системы на основе RDMS в JCR AEM. Мы понимаем, что ограничение 1000+ узлов не применяется к узлам с типом nt: неструктурированным, но мы ограничиваем ограничение при использовании узлов cq: Page.Преодоление ограничения 1000 узлов для cq: узлы страницы в AEM 6.1

Наш нынешний сайт имеет структуру, как это:

/ 
├── blog/ 
│   ├── some-blog-post 
│   └── another-post 
└── articles/ 
    └── some-article 
    └── another-article 
    └── ... 
    └── ... 
    └── ... 

Мы имеем более 6000 статей в поддереве статей, и мы должны сохранить структуру URL для облицовочного сайта потребителя. Мы используем классический интерфейс, и мы, конечно, сталкиваемся с проблемами производительности при расширении папки статей в AEM Siteadmin. Мы могли бы позволить разделить статьи на дополнительные каталоги в Siteadmin, но нам придется поддерживать плоскую структуру для наших URL-адресов.

Каков наилучший способ сделать это в AEM? Мы не можем сделать это в диспетчере, потому что диспетчер не имеет возможности узнать, где сопоставить запрос в иерархии JCR.

+0

какая версия crx вы используете? – awd

+0

AEM 6.1, так что Apache Jackrabbit Oak 1.2.2 – JStarcher

ответ

5

Если вы разделили контент на предсказуемый способ, вы можете действительно использовать переписывание URL-адресов на интерфейсе HTTP, чтобы обеспечить плоскую структуру URL-адресов.

В качестве примера /articles/s/so/some-blog-post может быть надежно нанесен на карту /articles/some-blog-post в обоих направлениях.

Это потребует некоторой логики на стороне разработки, чтобы убедиться, что пути к вашей странице построены в соответствии с таким правилом.

Обратите внимание, что обычный способ обработки этого содержимого в блоге - это префикс пути публикации с датой создания, например 2016/02/29/some-blog-post, которая обеспечивает приятную и значимую иерархию.