关键词:信息管理,内容管理,信息发布,信息流程,信息发布流程
O2OA提供的信息管理功能可以帮助用户快速地配置信息发布栏目,如通知公告,公司动态,规章制度等。用户可以高效地完成信息栏目和配置。本文主要介绍如何在O2OA中为信息发布创建一个流程,实现流程审批后完成信息发布工作。
一、设计信息发布流程
在流程结束节前增加一个服务调用节点,该节点作用是把流程数据传入到信息发布的通知公告中。如图配置相应的参数 REST地址:document/cipher/publish/content 配置消息体脚本:引用publishToCMS脚本,并设置消息体内容。
var data = this.getPublishData();
this.body.set(data);
在脚本配置中新建publishToCMS脚本,代码见
this.define("getPublishData", function(){
var clone = function (obj) {
if (null === obj || "object" != typeof obj) return obj;
if ( typeof obj.length==='number'){ //数组
//print( "array" );
var copy = [];
for (var i = 0, len = obj.length; i < len; ++i) {
copy[i] = clone(obj[i]);
}
return copy;
}else{
var copy = {};
for (var attr in obj) {
copy[attr] = clone(obj[attr]);
}
return copy;
}
};
var removeHTMLTag = function(str) {
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
//str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
str=str.replace(/ /ig,'');//去掉
str=str.replace(/\s/g,''); //将空格去掉
return str;
};
var document = clone( this.data.cmsDocument );
var data = clone( this.data );
var work = this.workContext.getWork();
data.formProcess = true;
delete document.attachmentList;
document.subject = data.subject;
document.title = data.subject;
document.wf_workId = work.id;
document.wf_jobId = work.job;
document.pictureList = [];
if( data.imageclipper ){
document.pictureList.push( data.imageclipper );
}
document.summary = "";
if( data.htmleditor ){
var text = removeHTMLTag( data.htmleditor );
document.summary = text.substr(0,85);
}
var attachmentList = this.workContext.getAttachmentList();
var attachmentIds = [];
for( var i=0, len=attachmentList.length; idocument.wf_attachmentIds = attachmentIds;
var cnArray = ["组织","群组","人员","人员","角色"];
var keyArray = ["U","G","I","P","R"];
var result = [];
print( "data.publishFor.length="+data.publishFor.length );
if( typeOf(data.publishFor) == "array" && data.publishFor.length > 0){
for( var i=0; ivar publishFor = data.publishFor[i];
var dn = typeOf( publishFor ) === "string" ? publishFor : publishFor.distinguishedName;
var index = keyArray.indexOf(dn.substr(dn.length-1, 1))
if( index > -1 ){
result.push({
permission : "阅读",
permissionObjectType : cnArray[ index ],
permissionObjectName : dn
});
}
}
}
print( JSON.stringify(result) )
var owners = [];
if( result.length > 0 ){
var taskCompletedList = this.workContext.getTaskCompletedList();
for(var i=0, len=taskCompletedList.length; ivar taskCompleted = taskCompletedList[i];
if(taskCompleted.person){
owners.push( taskCompleted.person );
}
}
if( owners.length > 0 ){
for(var i=0, len=owners.length; i"阅读",
permissionObjectType : "人员",
permissionObjectName : owners[i]
});
}
}
}
document.permissionList = result;
data.processOwnerList = owners;
document.docData = data;
return document;
}.bind(this));
示例表单如下:
二、给分类配置信息发布流程
推荐文章:
系统集成-SSO与单点认证
2021-02-26
O2OA平台提供灵活的系统集成方案,让企业信息平台与各类第三方系统进行集成。本篇主要介绍如何在O2OA中与其他系统实现单点登入。
常见问题-数据导出或者导入时发生OOM异常
2021-02-07
现象描述:OOM异常Exceptioninthread"main"java.lang.OutOfMemoryError:Requestedarraysizeex
开发知识-JQuery篇:如何在O2OA中使用Jquery
2021-02-07
O2OA平台默认使用的JavaScript框架是mootools,有些用户对mootools框架不是很熟悉,造成使用上一些学习成本。平台也提供其他js库的引用,
服务管理-开发代理程序
2021-03-01
O2OA提供的服务管理中心可以让用户使用Javascript语言自由编写脚本的处理逻辑来实现与第三方的数据交互,数据同步以及系统内的数据处理等工作,也可以编写系
常见问题-如何使用服务管理调用WebService
2021-02-07
一、接口样例1、打开服务管理平台2、创建接口写上相关代码/********************this.entityManager;//实体管理器this.
开发知识-单个端口模式的Nginx和系统配置
2021-02-07
配置目的部分企事业单位外网地址不能开通太多的端口,我们使用单个端口,上下文根的方式配置访问地址。Nginx服务器域名:harbor.o2oa.net(172.1
平台维护-待办待阅数据的查询操作和管理
2021-02-26
O2OA提供平台数据维护应用,用于对平台应用类数据的维护操作,用户可以在应用市场选择安装平台维护应用。本篇主要简单介绍系统待办、已办、待阅、已阅数据的查询和维护
权限管理-平台组织人员权限管理
2021-02-25
O2OA开发平台组织架构管理组件不局限于传统的组织,群组,角色,人员的关系,在减小授权管理的复杂性基础上,通过独特的职位管理,汇报关系管理思想,增强了架构管理的
消息提醒-如何实现收到待办给QQ发送提醒?
2021-03-11
一、前期准备一台windows服务器(用于运行QQ机器人)下载QQ机器人框架下载地址:https://lanzous.com/ilzGNkb95ej下载http
常见问题-如何使用脚本调用外部服务
2021-02-07
一、调用样例try{varurl='http://localhost:8080/jersey/webapi/dept4/formuis3josn'varArra