在自定義portlet Liferay 6.1.1 GA2中創建kaleo工作流的步驟。自定義portlet中的Kaleo工作流程
嗨, 我是新到Liferay。我正在使用Liferay 6.1.1 GA2版本。有人可以請我提供一些步驟來創建具有一些可行的示例的自定義portlet中的工作流程。
在此先感謝。關於您的工作流程的portlet中service.xml中
在自定義portlet Liferay 6.1.1 GA2中創建kaleo工作流的步驟。自定義portlet中的Kaleo工作流程
嗨, 我是新到Liferay。我正在使用Liferay 6.1.1 GA2版本。有人可以請我提供一些步驟來創建具有一些可行的示例的自定義portlet中的工作流程。
在此先感謝。關於您的工作流程的portlet中service.xml中
添加實體。
即
<entity name="XXWorkflow" local-service="true" remote-service="false">
<!-- PK fields -->
<column name="workflowId" type="long" primary="true" />
<!-- Foreign key columns -->
<column name="XXd" type="long" />
<column name="companyId" type="long" />
<column name="groupId" type="long" />
<column name="userId" type="long"/>
<!-- Workflow fields -->
<!-- Resource -->
<column name="resourcePrimKey" type="long"></column>
<column name="title" type="String"></column>
<column name="status" type="int"></column>
<column name="statusByUserId" type="long"></column>
<column name="statusByUserName" type="String"></column>
<column name="statusDate" type="Date"></column>
<!-- Finder methods -->
<finder name="ResourcePrimKey" return-type="RfpWorkflow">
<finder-column name="resourcePrimKey"></finder-column>
</finder>
<finder name="Status" return-type="Collection">
<finder-column name="status"></finder-column>
</finder>
<finder name="R_S" return-type="RfpWorkflow">
<finder-column name="resourcePrimKey"></finder-column>
<finder-column name="status"></finder-column>
</finder>
<!-- end of workflow columns and finders -->
<finder return-type="Collection" name="XXId">
<finder-column name="XXId"></finder-column>
</finder>
<reference package-path="com.liferay.portal" entity="WorkflowInstanceLink"></reference>
<reference package-path="com.liferay.portlet.asset" entity="AssetEntry"></reference>
<reference package-path="com.liferay.portlet.social" entity="SocialActivity"></reference>
</entity>
你的JSP文件: -
submit button action url = "processAction"
控制器
public void processAction(ActionRequest request, ActionResponse response)
throws Exception {
//do your required stuff
workflowInitiation(request,response,XX.getXXId(),XX.getXXName());
}
public void workflowInitiation(ActionRequest actionRequest,
ActionResponse actionResponse,long XXId,String XXName) throws IOException, PortletException {
// TODO Auto-generated method stub
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest
.getAttribute(WebKeys.THEME_DISPLAY);
System.out.println("Title : " + XXName);
XXWorkflowImpl xxWorkflow = new XXWorkflowImpl();
XXWorkflow.setTitle(xxName);
XXWorkflow.setxxId(xxpId);
XXWorkflow.setCompanyId(themeDisplay.getCompanyId());
XXWorkflow.setGroupId(themeDisplay.getScopeGroupId());
ThemeDisplay themeDisplay1 = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
ServiceContext serviceContext;
try {
serviceContext = ServiceContextFactory.getInstance(XXPortlet.class.getName(), actionRequest);
XXWorkflowLocalServiceUtil.addXXWorkflow(XXWorkflow,serviceContext, themeDisplay1.getUserId());
} catch (PortalException e) {
e.printStackTrace();
} catch (SystemException e) {
e.printStackTrace();
}
}
Hanlder類
public class XXWorkflowHandler extends BaseWorkflowHandler {
public static final String CLASS_NAME = XXWorkflow.class.getName();
public String getClassName() {
return CLASS_NAME;
}
public String getType(Locale locale) {
return LanguageUtil.get(locale, "model.resource." + CLASS_NAME);
}
public Object updateStatus(int status,Map<String, Serializable> workflowContext) throws PortalException,
SystemException {
long userId = GetterUtil.getLong((String) workflowContext.get(WorkflowConstants.CONTEXT_USER_ID));
long resourcePrimKey = GetterUtil.getLong((String) workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));
ServiceContext serviceContext = (ServiceContext) workflowContext.get("serviceContext");
return RfpWorkflowLocalServiceUtil.updateStatus(userId, resourcePrimKey,status, serviceContext);
}
}
添加在你的Liferay-portlet.xml中後portlet的名稱
<workflow-handler>com.xx.RFPWorkflowHandler</workflow-handler>
HTH
您可以找到代碼中定義Portlet Kaleo工作流這裏的Liferay 6.2
https://drive.google.com/file/d/0B9B1NsG0lyx6ZmE0UWJCdjk0Mmc/view?usp=sharing
您可以在自定義portlet找到Kaleo工作流代碼這裏的Liferay 6.1 http://sourceforge.net/projects/meeralferay/files/LiferayWorkFlowPortlet/
你可以找到自定義門戶,這將只顯示批准的反饋列表Kaleo工作流程更具體的例子。 https://drive.google.com/file/d/0B9B1NsG0lyx6a3ctUERFNENDTUU/view?usp=sharing
哇,細節的偉大程度。 +1 –
感謝@OlafKock :) –
偉大的,易於理解的 –