Николас.
У меня была аналогичная проблема, которую нужно было решить в Liferay 6.2, но я считаю, что вы можете решить свою, используя тот же подход.
Мы создали «интеграционный интерфейс» (простой пакетный проект Java для запуска всего процесса), который взаимодействует с устаревшей системой и сервисом Liferay REST (созданным с помощью Liferay Service Builder).
Liferay предоставляет вам сервисный API, с помощью которого вы можете управлять некоторыми его ресурсами. Чтобы создать журнальную статью (веб-контент), вы должны вызвать класс JournalArticleLocalServiceUtil
Вот пример кода для создания статьи в журнале:
public static JournalArticle addJournalArticle(
long userId, long groupId, String title, String contentEn)
throws Exception {
ServiceContext serviceContext = new ServiceContext();
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
serviceContext.setScopeGroupId(groupId);
serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);
Map<Locale, String> titleMap = new HashMap<Locale, String>();
Map<Locale, String> descriptionMap = new HashMap<Locale, String>();
titleMap.put(Locale.US, title);
descriptionMap.put(Locale.US, title);
try {
JournalArticleLocalServiceUtil.deleteArticle(groupId, title, serviceContext);
} catch (Exception ex) {
System.out.println("Ignoring " + ex.getMessage());
}
String xmlContent = "<?xml version='1.0' encoding='UTF-8'?>" +
"<root default-locale=\"en_US\" available-locales=\"en_US\">" +
"<static-content language-id=\"en_US\">" +
"<![CDATA[" + contentEn + "]]>" +
"</static-content>" +
"</root>";
JournalArticle article = JournalArticleLocalServiceUtil.addArticle(
userId, groupId, 0,
0, 0, title, true,
JournalArticleConstants.VERSION_DEFAULT, titleMap,
descriptionMap, xmlContent,
"general", null, null, null,
1, 1, 2014, 0, 0,
0, 0, 0, 0, 0, true,
0, 0, 0, 0, 0, true,
true, false, null, null,
null, null, serviceContext);
return article;
}
Но вы должны улучшить его, чтобы поставить правильные права пользователя, категории, теги и т. д.
person
myakiju
schedule
19.05.2017