0

我可以为 Liferay 文档和库中上传的文件启动工作流程吗?

这是我的代码:

DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test");
ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
actionRequest);

fileEntry = DLFileEntryServiceUtil.addFileEntry(dlFolder.getGroupId(), dlFolder.getRepositoryId(), dlFolder.getFolderId() ,file.getName(),"" ,title,"test", null, dlFolder.getDefaultFileEntryTypeId(), null, file, null, file.getUsableSpace(), serviceContext);

// * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** *现在* ** * ** * ** * ** * ** * ** * ** * ** * **

  • 如何启动已上传文件的工作流程?
  • 已启动的工作流程,对于 test 文件夹中的所有文件,它会是相同的工作流程吗?
4

2 回答 2

0

你的问题不是很清楚。

如果您谈论的是当您以编程方式上传文档时是否会应用 Liferay 的工作流程?如果您为文档库 portlet 选择了工作流定义,那么答案将是肯定的。

您将在我的工作流任务下的控制面板中找到工作流任务。

于 2012-07-17T10:16:02.487 回答
0

假设您有一个自定义 portlet 并且您尝试将文档上传到其中的文件夹具有工作流,

DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test");
ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
actionRequest);

FileInputStream is = new FileInputStream(file);
DLFileEntry fileEntry = DLFileEntryServiceUtil.addFileEntry(dlFolder.getGroupId(), dlFolder.getRepositoryId(), dlFolder.getFolderId() ,
                            file.getName(),MimeTypesUtil.getContentType(file) ,title,"test", StringPool.BLANK, 
                            dlFolder.getDefaultFileEntryTypeId(), null, file, is,
                            file.length(), serviceContext);
DLFileEntryLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), file.getName(), MimeTypesUtil.getContentType(file), 
        title(), "test", StringPool.BLANK, Boolean.FALSE, dlFileEntry.getFileEntryTypeId(), null, file, is,
        file.length(), serviceContext)

您应该在addFileEntry之后调用updateFileEntry方法。它实际上做了两件事,

  1. 它从草稿更改文档的状态
  2. 它调用工作流

希望这可以帮助。

于 2015-10-14T08:13:18.810 回答