2016-11-17 6 views
0

Я работаю над AEM 6.2 и создал специальный модуль репликации. У меня есть некоторые свойства в дочерних узлах моей страницы под jcr: content, значениями которых является поле пути к другим страницам на одном сайте. Когда я активирую страницу, мне нужно активировать страницы, на которые ссылаются свойства. Например, мой путь к странице «/ content/project/family/subfamily/TestPage» Мне нужно активировать путь страницы в свойстве node «pathVal» под »/ content/project/family/subfamily/TestPage/abc123/JCR: содержание». Как это сделать?AEM- Активация ссылок на страницы в свойствах узла вместе со страницей

ответ

0

Я не уверен, что вы подразумеваете под

пользовательский модуль репликации


Написание репликации Preprocessor (см docs) может быть путь. Процесс репликации собирает все реализации этого интерфейса с использованием шаблона доски, а затем циклически запускает их, вызывая каждую из них.

@Component 
@Service 
public class ReferencedPagePreprocessor implements Preprocessor { 

    @Reference 
    private Replicator replicator; 

    @Reference 
    private ResourceResolverFactory resolverFactory; 

    public void preprocess(ReplicationAction action, ReplicationOptions options) { 
     // some extra filtering to avoid the calculation if it's not the expected page type 

     String resourcePath = action.getPath(); 
     ResourceResolver resolver = getResolver(); 
     Resource resource = resolver.resolve(resourcePath); 
     String referencedResourcePath = resource.adaptTo(ValueMap.class).get("pathVal", String.class); 

     replicator.replicate(resolver.adaptTo(Session.class), ReplicationActionType.ACTIVATE, referencedResourcePath); 
    } 

    private ResourceResolver getResolver() { 
     ... 
    } 
} 

также рассмотрим в примере реализации в ACS AEM Commons

0

Если я правильно понимаю, либо вы реализовали свой собственный рабочий процесс, который активизирует страницу или следовал бы подход Preprocessor, как это изложено Mateusz Chromiński.

В случае, если вы написали свой собственный рабочий процесс, который вызывает Replicator API вы могли бы эффективно добавить логику, чтобы получить ссылки пути и вызов активировать на них с помощью Replicator API