以编程方式将许多版本添加到Liferay Web内容

时间:2019-02-27 08:01:28

标签: liferay liferay-6

我在Liferay 6.2中拥有一个Web内容,并且为了测试目的,我想向其中添加许多版本。

如何做到这一点而无需点击数千次?

1 个答案:

答案 0 :(得分:1)

转到脚本控制台(在服务器管理中),将其设置为“ Groovy”,将脚本粘贴到下面,用找到的值替换userIdgroupIdarticleId值使用Liferay Web界面,将numberOfVersions值替换为所需的任何数字,然后执行:

import com.liferay.portal.service.ServiceContext
import com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil
import com.liferay.portlet.documentlibrary.model.DLFolderConstants

int numberOfVersions=1000
long companyId=20155
long groupId=21328
String articleId="21333"
long userId=20199
long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID
String content='<?xml version="1.0"?><root available-locales="en_US" default-locale="en_US"><static-content language-id="en_US"><![CDATA[Bonjour]]></static-content></root>'

ServiceContext serviceContext = new com.liferay.portal.service.ServiceContext()
serviceContext.setAddCommunityPermissions(true);
serviceContext.setAddGuestPermissions(true);
serviceContext.setScopeGroupId(groupId);
serviceContext.setCompanyId(companyId);
serviceContext.setUserId(userId);

for (int i=10; i<numberOfVersions; i++) {
  double version = i/10.0
  JournalArticleLocalServiceUtil.updateArticle(userId, groupId, folderId, articleId, version, content, serviceContext)
}

欢迎任何改进或其他想法!