Различия между традиционными пакетами com.day.cq.workflow и com.adobe.granite.workflow

Как я понимаю, Granite - это имя Adobe для комбинации Felix, Sling и CRX в качестве базовой платформы. В настоящее время я изучаю рабочие процессы CQ, особенно в разработке пользовательского WorkflowProcess. Я заметил, что среди других есть два, казалось бы, эквивалентных пакета, com.adobe.granite.workflow.exec (Обзор пакета) и com.day.cq.workflow.exec (Обзор пакета ).

Я вижу, что устаревшие классы (например, JavaProcess) были удалены, а новые добавлены (например, InboxItem), в то время как другие, похоже, остались теми же (например, WorkflowProcess). Чей пакет WorkflowProcess должен реализовать пользовательский WorkflowProcess класс?

Ответ 1

API Adobe Granite Workflow API, представленный в AEM 5.6, является заменой классического API рабочего дня Day Communique 5. Все новые рабочие процессы должны использовать новый API, но даже в AEM 6 есть некоторые процессы, которые все еще полагаются на устаревший API.

В последних версиях AEM поддерживаются оба API. Например, в диалоговом окне "Шаг процесса", где вы можете перечислить все WorkflowProcess es, вы увидите службы, реализующие как новую, так и старую версию интерфейса. Тем не менее, чтобы ваш код был совместим с будущими версиями AEM, вы должны использовать новый API.

Как только вы решите использовать CQ или Granite API, важно придерживаться вашего выбора, так как вы не можете смешивать типы из первого и второго API в одном классе, и вы не должны делать это в одном приложении.