-
wangx 撰写了一篇新博客日志:调用TaskWorklist实现自定义的待办事项 1 年, 2 月 之前 · 查看
AWS平台遵循AWS框架进行开发,因此可以遵循这个这个框架扩展自己新的功能点。基于AWS平台提供了的扩展,并结合各个功能相关的API,我将在这里介绍如果调用TaskWorklist实现自定义的待办事项窗口,希望对了解AWS平台架构和扩展开发有一定帮助。 首先,先分析一下AWS平台的架构情况: 由上图,可以了解到,AWS平台分为浏览器客户端,Web服务器,和APP服务器。 首先,先做一下配置工作,可以在%AWS_HOME%/webserver/webapps/portal/WEB-INF/classes下添加一个action-my-app.xml,然后在actions.xml中注册一下我们这个新的参数解析配置文件:
<action><parse-name>action-my-app.xml</parse-name></action>我在这里是修改平台原有的action-core-portal.xml ,故以上工作可以略去,然后添加指令解析类,并继承BaseSocketCommand,之后需要在%AWS_HOME%/bin/aws-listener.xml中去注册我们新添加的这个类。到这里,请求返回处理的流程已经配置完毕: 接下来要做的工作就是实现功能,首先来完善指令解析类,判断cmd参数,并分发处理,如下: public boolean executeCommand(UserContext me, Socket myProcessSocket, OutputStreamWriter myOut, Vector myCmdArray, UtilString myStr, String socketCmd) throws Exception { if (socketCmd.equals(“Portal_Design_List”)) { //此处使用程序处理类进行处理,并发送给web myOut.write(xxx); }else{ return false; } return true; } 由上,指令解析类需要调用程序处理类,所以主要的工作都在程序处理类中来做,因为我们要实现自定义的待办事项,所以需要得到待办事项数据,主要有TaskWorklistAPI提供: 待办事项:
TaskWorklistAPI.getTaskList(String userId, int taskType, String workflowGroupName, String workflowDefUUID, int top)
总数量(getTaskCount)
已办事项:
TaskWorklistAPI.getHistoryTaskList(String userId, int taskType, String workflowGroupName, String workflowDefUUID, int top)
总数量(getHistoryTaskCount)
通过API提供的这些方法,我们可以得到待办事项的json数据,并返回,如果返回页面,可以使用:getHtmlPage(“portlet_MyTasks.htm”, hashTags);返回页面, 此处的portlet_MyTasks.htm放到%AWS_HOME%/template/system下,AWS启动时会加载到内存中,如果需要重新加载,可以在AWS控制台中输入:reload html命令. 到这里,我的介绍完毕了,我想大家应该了解AWS平台解扩展开发的过程了,最后秀一下我的成果: AWS积累了一定成熟、稳定的组件,这些出厂预置的组件全部基于接口进行设计, 高级用户可以基于接口扩展自己行业领域组件,让您的团队实施人员像使用 AWS [...]
炎黄盈动官方微博