O2OA使用手册
第1章 功能简介及概述
第6章 平台部署与配置
  • 6.1 安装部署-在Windows系统中部署O2OA开发平台
  • 6.2 安装部署-在Linux系统中部署O2OA开发平台
  • 6.3 安装部署-在宝塔/PHPStudy中部署O2OA开发平台
  • 6.4 安装部署-O2OA开发平台之HTTP端口规划
  • 6.5 安装部署-平台服务器版本升级操作说明
  • 6.6 安装部署-私有化部署服务器架构推荐
  • 6.7 安装部署-O2OA开发平台集群部署配置及操作说明
  • 6.8 安装部署-在线部署自定义应用的WAR包和JAR包
  • 6.9 服务器配置与管理-​O2OA主要配置文件说明
  • 6.10 服务器配置与管理-服务器端口冲突和端口修改
  • 6.11 服务器配置与管理-如何修改服务器内存占用率?
  • 6.12 服务器配置与管理-如何访问和操作H2内置数据库
  • 6.13 服务器配置与管理-​如何在O2OA中使用MySQL数据库?
  • 6.14 服务器配置与管理-如何修改平台支持的数据库驱动包
  • 6.15 服务器配置与管理-O2OA使用openGauss(华为高斯数据库)配置
  • 6.16 服务器配置与管理-O2OA开发平台平台数据库配置信息样例
  • 6.17 服务器配置与管理-配置O2OA服务器连接O2云
  • 6.18 服务器配置与管理-O2OA实现服务器随操作系统自动启动
  • 6.19 服务器配置与管理-文件存储服务器配置
  • 6.20 服务器配置与管理-工作日节假日配置
  • 6.21 服务器配置与管理-为平台增加全文检索功能
  • 6.22 服务器配置与管理-消息提醒配置说明
  • 6.23 服务器配置与管理-自定义消息提醒
  • 6.24 服务器配置与管理-定制消息通知的内容
  • 6.25 服务器配置与管理-消息通知过滤
  • 6.26 服务器配置与管理-为待办创建配置邮件通知
  • 6.27 服务器配置与管理-待办待阅数据的查询操作和管理
  • 6.28 服务器配置与管理-​自动执行平台数据的备份与恢复
  • 6.29 服务器配置与管理-数据导出导入与系统数据备份
  • 6.30 ​服务器配置与管理-定期自动执行数据备份与恢复
  • 6.31 系统安全-O2OA作为认证中心实现基于OAUTH2单点认证
  • 6.32 系统安全-O2OA基于Nginx的SSL跳转、转发配置
  • 6.33 O2OA(翱途)开发平台如何基于nginx上下文分发的方式快速集群部署
  • 6.34 系统安全-访问日志相关配置
  • 6.35 系统架构-平台集群化部署之基于Nginx端口分发机制实现集群部署
  • 6.36 系统安全-审计日志相关配置
  • 6.37 系统安全-平台日志文件说明
  • 6.38 系统架构-基于nginx快速集群部署-上下文分发
  • 6.39 系统安全-O2OA日志输出设置log4j2.xml
  • 6.40 系统安全-用户密码初始化规则的设定
  • 6.41 系统安全-启用HTTPS(百度云版)
  • 6.42 系统安全-启用HTTPS(腾讯云版)
  • 6.43 系统安全-自签名SSL证书验证HTTPS功能
  • 6.44 系统安全-登录密码RSA加密
  • 6.45 系统安全-用户登录IP限制
  • 6.46 系统安全-在用户登录过程中启用图形验证码
  • 6.47 系统安全-平台部署之使用非root用户运行服务
  • 6.48 系统安全-O2Server启用国密加密设置
  • 6.49 系统安全-日志应用使用说明
  • 6.50 系统安全-用户重置密码操作
  • 6.51 系统安全-超级管理员(xadmin)密码修改
  • 6.52 系统安全-使用Web端运行服务器管理命令
  • 6.53 系统安全-o2server无法正常显示验证码解决办法
  • 6.54 O2OA(翱途)开发平台前端安全配置建议(一)
  • 第16章 开发知识及常见问题
  • 16.1 如何替换登录页面二维码中默认的logo图标
  • 16.2 O2OA(翱途)流程引擎中如何修改,定制流程的流转记录
  • 16.3 mysql数据库备份
  • 16.4 domain不正确的时候如何强制设置成正确的
  • 16.5 配置文件中使用密文存储密码
  • 16.6 常见问题-连接MySQL出现 Public Key Retrieval is not allowed 的错误
  • 16.7 常见问题-查看表结构
  • 16.8 常见问题-7.2及以上版本开启web代理后请求中没有正确使用web端口问题解决方式
  • 16.9 linux环境libreoffice安装及使用
  • 16.10 在O2OA中使用网络会议(二):Openmeetings与O2OA认证配置
  • 16.11 在O2OA中使用网络会议(一):Openmeetings-5.1.0亲手安装整理 Step-By-Step
  • 16.12 藕粉社区问答系列1
  • 16.13 藕粉社区问答系列2
  • 16.14 藕粉社区问答系列3
  • 16.15 快速入门-平台相关资料汇总
  • 16.16 快速入门-服务器总体介绍汇总
  • 16.17 快速入门-流程表单载入基础数据
  • 16.18 快速入门-常用表单脚本样例汇总
  • 16.19 快速入门-自定义表数据分页样例
  • 16.20 OEM白标-如何修改平台中的Logo图标和文字
  • 16.21 云服务器-阿里云ECS服务器的端口启用
  • 16.22 开发知识-React篇:在O2OA平台框架中使用React
  • 16.23 开发知识-React篇:在O2OA门户页面中使用React
  • 16.24 开发知识-Vue篇:在Vue应用中集成O2OA
  • 16.25 开发知识-Vue篇:使用Vue-CLI开发O2应用
  • 16.26 开发知识-Vue篇:在O2门户页面中使用Vue
  • 16.27 平台中使用Druid数据库连接及监控
  • 16.28 开发知识-在PAAS平台上部署O2OA开发平台
  • 16.29 开发知识-如何使用Tomcat架设webdav服务器
  • 16.30 开发知识-单个端口模式的Nginx和系统配置
  • 16.31 开发知识-Linux非root用户如何使用80端口启动O2OA
  • 16.32 开发知识-O2OA平台启用Eruda进行移动端调试
  • 16.33 开发知识-神通数据库安装
  • 16.34 开发知识-人大金仓数据安装
  • 16.35 开发知识-中标麒麟安装达梦数据库(DM8)
  • 16.36 开发知识-中标麒麟安装人大金仓详细步骤
  • 16.37 开发知识-使用VNC连接中标麒麟V7操作系统
  • 16.38 开发知识-鲲鹏(ARM)麒麟操作系统如何替换yum源?
  • 16.39 开发知识-数据优化知识点
  • 16.40 水印安全-附件水印|加密|文档格式转换图片|PDF
  • 16.41 消息队列-配置activeMQ、kafka消息队列
  • 16.42 常见问题-数据导出或者导入时发生OOM异常
  • 16.43 常见问题-如何让用户在首次登录时,必须对初始密码进行修改
  • 16.44 常见问题-如何在模块部署中控制模块的访问权限
  • 16.45 常见问题-如何在平台中开发Ftp文件上传文件的服务?
  • 16.46 常见问题-如何使用服务管理调用WebService
  • 16.47 常见问题-如何使用脚本调用外部服务
  • 16.48 常见问题-如何使用脚本控制流程自动流转
  • 16.49 常见问题-如何通过脚本调用系统内服务
  • 16.50 常见问题-接口代码疑惑解答汇总
  • 16.51 常见问题:Maven编译o2server错误: Java Heap Space
  • 16.52 常见问题-集群配置后启动报错:NullPointerException
  • 16.53 常见问题-服务器错误:can not decrypt token
  • 16.54 常见问题-IOS移动办公无法收到验证码
  • 16.55 常见问题-服务器和日志时间相差12小时的问题
  • 16.56 常见问题-为什么127.0.0.1可以访问但其他IP无法访问
  • 16.57 藕粉社区问答系列4
  • 16.58 开发知识-React篇:在React应用中集成O2OA

  • 服务器配置与管理-消息提醒配置说明

    时间:2022-10-11   

    一、消息提醒配置文件

    文件路径:o2server/config

    文件名:messages.json

    注意:如果o2server/config目录下没有该文件,请从o2server/configSample目录中拷贝一份到o2server/config目录中,直接在configSample目录中修改将不会生效,V5.3后版本可以在web端登录系统,进入系统设置——基础配置——配套配置中找到messages.json进行配置

    二、事件说明


    attachment_editor                 #文件被编辑
    attachment_editorCancel           #文件编辑被撤消
    attachment_editorModify           #文件编辑被修改
    attachment_share                  #文件被分享
    attachment_shareCancel            #文件分享被取消
    meeting_delete                    #会议被删除
    meeting_invite                    #收到会议邀请
    cms_publish                       #内容管理文档发布
    readCompleted_create              #文件已阅
    readCompleted_delete              #文件已阅被删除
    read_create                       #收到文件待阅
    read_to_readCompleted             #待阅转已阅
    read_delete                       #文件待阅被删除
    taskCompleted_create              #收到已办信息
    taskCompleted_delete              #已办信息被删除
    task_create                       #收到待办信息
    task_to_taskCompleted             #待办转已办信息
    task_delete                       #待办信息被删除
    task_press                        #待办提醒
    teamwork_taskCreate               #收到工作任务
    teamwork_taskUpdate               #工作任务被更新
    teamwork_taskDelelte              #工作任务被删除
    teamwork_taskOvertime             #工作任务已超时
    teamwork_taskChat                 #收到工作任务交流信息


    三、关于consumers产生的消息的处理机(消费者)相关配置:


    ws : 内部处理器,PC端websocket消息推送的处理器
    pms : 内部处理器,pushMail通过极光推送向移动设备推送应用通知(Notifacation)的处理器
    dingding : 内部处理器,发送钉钉待办消息的处理器
    zhengwudingding : 内部处理器,发送政务钉钉待办消息的处理器
    qiyeweixin : 内部处理器,发送企业微信消息提醒的处理器


    四、配置外部消费者

    适应需求:比如分离出一组消息,由程序通过第三方短信网关发送"待办到达"提醒短信:

    1、添加新的consumer,比如sms(名称可以根据业务来自由决定,支持英文):


    "task_create": {
        "consumers": [
            "ws",
            "pms",
            "dingding",
            "zhengwuDingding",
            "qiyeweixin",
            "sms"
        ]
    },


    (注意,修改完成后,整个JSON的格式必须保证正确。)

    2、通过服务获取所有的需要提醒的消息列表:

    http://o2server_host:20020/x_message_assemble_communicate/jest/index.html

    1577079454382-a3875e84-a20c-4355-9cc6-522e285aa86d.png

    消息管理服务API

    服务请求地址:jaxrs/consume/list/{consume}/count/{count}

    参数说明:

           consume - 需要查询消息的消费者

           count - 返回列表最大数量

    服务地址示例: http://o2server_host:20020/x_message_assemble_communicate/jaxrs/consume/list/sms/count/10

    返回数据格式:


    {
      "type": "success",
      "data": [
        {
          "id": "665958e7-f590-43d5-9f0c-906514329e31",
          "title": "您有新的待办:流程调用:12323, (拟稿,测试并行流程)",
          "body": "{'id':'c8168b76-aa41-4223-bc0d-6b0a4143ca29','job':'712154cb-41aa-44ff-a7c2-b7c29a0f3db0','title':'流程调用:12323','startTime':'2019-09-13 08:21:03','startTimeMonth':'2019-09','work':'a0cb81b1-609a-40df-9a34-6813957c32ea','application':'45475aa6-1651-4014-ae6b-625f9dd5948b','applicationName':'001test','applicationAlias':'001test','process':'c5b46aed-4d1e-4da6-a1ef-bc591eb296b5','processName':'测试并行流程','processAlias':'','serial':'','person':'罗晶@luojing@P','identity':'罗晶@a553fb21-9354-4344-8eba-d8e284b7b460@I','unit':'开发部@22@U','trustIdentity':'纪桂丹@ed052254-23ae-4809-a5cc-8d12b95697de@I','activity':'fbb22a88-14fe-4154-b435-a4e410f78648','activityName':'拟稿','activityAlias':'','activityDescription':'','activityType':'manual','activityToken':'b084b040-3067-49bb-8e48-ea0f95eca59f','creatorPerson':'纪桂丹@JiGuiDan@P','creatorIdentity':'纪桂丹@e868844b-bcea-4b31-8ddd-ea3becda290a@I','creatorUnit':'开发部@22@U','expired':false,'urged':false,'routeList':['5ca98a7f-8a8b-4efb-8a0f-f6051501eb34','37345194-2456-4beb-8775-3b6c3108cad0'],'routeNameList':['go','选择'],'routeOpinionList':['',''],'routeDecisionOpinionList':['',''],'routeName':'','opinion':'','modified':false,'viewed':false,'allowRapid':false,'first':true,'createTime':'2019-09-13 08:21:03','updateTime':'2019-09-13 08:21:03','sequence':'20190913082103c8168b76-aa41-4223-bc0d-6b0a4143ca29'}",
          "type": "task_create",
          "consumer": "sms",
          "person": "罗晶@luojing@P",
          "consumed": false,
          "instant": "c619de29-166b-4571-96f0-da4f11c6ed63",
          "createTime": "2019-09-13 08:21:03",
          "updateTime": "2019-09-13 08:21:03"
        },
        {
          "id": "63eb790c-9b02-4faa-80c8-e9b9b93a4083",
          "title": "您有新的待办:流程调用:测试一分N个流程0001, (拟稿,测试并行流程)",
          "body": "{'id':'16ff7d53-dd0e-405f-9351-845d8ed697ab','job':'3fdeb09f-d3dc-48e6-962d-dd34d7aa8d7d','title':'流程调用:测试一分N个流程0001','startTime':'2019-09-13 08:21:03','startTimeMonth':'2019-09','work':'d7a4e5de-260b-496e-b73b-33fcf4c35629','application':'45475aa6-1651-4014-ae6b-625f9dd5948b','applicationName':'001test','applicationAlias':'001test','process':'c5b46aed-4d1e-4da6-a1ef-bc591eb296b5','processName':'测试并行流程','processAlias':'','serial':'','person':'罗晶@luojing@P','identity':'罗晶@a553fb21-9354-4344-8eba-d8e284b7b460@I','unit':'开发部@22@U','trustIdentity':'纪桂丹@ed052254-23ae-4809-a5cc-8d12b95697de@I','activity':'fbb22a88-14fe-4154-b435-a4e410f78648','activityName':'拟稿','activityAlias':'','activityDescription':'','activityType':'manual','activityToken':'d5240f24-515c-46a4-a386-d7188b3bcb8e','creatorPerson':'纪桂丹@JiGuiDan@P','creatorIdentity':'纪桂丹@e868844b-bcea-4b31-8ddd-ea3becda290a@I','creatorUnit':'开发部@22@U','expired':false,'urged':false,'routeList':['5ca98a7f-8a8b-4efb-8a0f-f6051501eb34','37345194-2456-4beb-8775-3b6c3108cad0'],'routeNameList':['go','选择'],'routeOpinionList':['',''],'routeDecisionOpinionList':['',''],'routeName':'','opinion':'','modified':false,'viewed':false,'allowRapid':false,'first':true,'createTime':'2019-09-13 08:21:03','updateTime':'2019-09-13 08:21:03','sequence':'2019091308210316ff7d53-dd0e-405f-9351-845d8ed697ab'}",
          "type": "task_create",
          "consumer": "sms",
          "person": "罗晶@luojing@P",
          "consumed": false,
          "instant": "0f0e0928-98be-44d4-ab4b-2fb244520297",
          "createTime": "2019-09-13 08:21:03",
          "updateTime": "2019-09-13 08:21:03"
        },
        {
          "id": "210c7c7d-b90b-4547-aef7-02e352233b3c",
          "title": "您有新的待办:纪桂丹的变革及重大事项积分个人申报, (部门积分管理员初审,个人申报流程)",
          "body": "{'id':'bc9bca9e-f9a1-42a2-8753-0767c08c7975','job':'dda07279-8692-46ac-b175-8106f53f4172','title':'纪桂丹的变革及重大事项积分个人申报','startTime':'2019-09-13 08:21:25','startTimeMonth':'2019-09','work':'b2113d2a-3e70-4c96-bbfe-3b14f913c4a3','application':'d205e63a-126a-4344-8115-3d7b9c25e8c8','applicationName':'积分管理-流程','applicationAlias':'pointManagerProcess','process':'7201edad-d86e-4eaf-b176-ca54ce956b36','processName':'个人申报流程','processAlias':'','serial':'','person':'罗晶@luojing@P','identity':'罗晶@a553fb21-9354-4344-8eba-d8e284b7b460@I','unit':'开发部@22@U','trustIdentity':'纪桂丹@ed052254-23ae-4809-a5cc-8d12b95697de@I','activity':'4b7b363c-57e3-410e-8b2b-583719411651','activityName':'部门积分管理员初审','activityAlias':'audit','activityDescription':'','activityType':'manual','activityToken':'6c03308e-d4cd-42cf-910c-145a12ee4e2e','creatorPerson':'纪桂丹@JiGuiDan@P','creatorIdentity':'纪桂丹@ed052254-23ae-4809-a5cc-8d12b95697de@I','creatorUnit':'开发部@22@U','expired':false,'urged':false,'routeList':['b24bfcc0-2a0b-4c6e-a5ec-bdcddc5594e6','e6475ed3-31cd-4edd-b30e-522670d64d67'],'routeNameList':['送积分行为管理单位管理员复审并公示','退回拟稿人'],'routeOpinionList':['',''],'routeDecisionOpinionList':['',''],'routeName':'','opinion':'','modified':false,'viewed':false,'allowRapid':false,'first':false,'createTime':'2019-09-13 08:21:25','updateTime':'2019-09-13 08:21:25','sequence':'20190913082125bc9bca9e-f9a1-42a2-8753-0767c08c7975'}",
          "type": "task_create",
          "consumer": "sms",
          "person": "罗晶@luojing@P",
          "consumed": false,
          "instant": "ed69ece9-b194-4344-addc-a2bc4b77b574",
          "createTime": "2019-09-13 08:21:25",
          "updateTime": "2019-09-13 08:21:25"
        },
        {
          "id": "9bf0cb36-5f37-4e13-9c85-bf6724738e08",
          "title": "日程提醒",
          "body": "{'id':'42e267b5-d5c6-4b96-b0f6-7b89a6f65586','calendarId':'fa61c4e5-2424-4a89-9ada-341aaf05162c','repeatMasterId':'73d39f2d-7718-463f-9d6a-e1a90957cac4','eventType':'CAL_EVENT','title':'三国杀--兰德杯-预赛','color':'#428ffc','comment':'
    三国杀--兰德杯-预赛
    
    
    ','startTime':'2019-09-15 08:26:00','startTimeStr':'2019-09-15 08:26:00','endTime':'2019-09-15 23:59:00','endTimeStr':'2019-09-15 23:59:00','locationName':'三国杀--兰德杯-预赛','recurrenceRule':'FREQ=WEEKLY;UNTIL=20191005T160000Z;BYDAY=SU','alarm':true,'alarmTime':'2019-09-15 08:21:00','alarmAlready':false,'valarmTime_config':'0,0,-5,0','valarm_Summary':'日程提醒','isAllDayEvent':false,'daysOfDuration':0,'isPublic':true,'source':'PERSONAL','createPerson':'纪桂丹@JiGuiDan@P','updatePerson':'纪桂丹@JiGuiDan@P','targetType':'PERSON','participants':['纪桂丹@JiGuiDan@P','xadmin'],'manageablePersonList':['纪桂丹@JiGuiDan@P','xadmin'],'viewablePersonList':['纪桂丹@JiGuiDan@P','xadmin'],'viewableUnitList':[],'viewableGroupList':[],'createTime':'2019-09-05 08:26:50','updateTime':'2019-09-05 08:26:50','sequence':'2019090508265042e267b5-d5c6-4b96-b0f6-7b89a6f65586'}",
          "type": "calendar_alarm",
          "consumer": "sms",
          "person": "纪桂丹@JiGuiDan@P",
          "consumed": false,
          "instant": "dc8eaf90-28b6-40e0-8fcb-ca972a30c8b3",
          "createTime": "2019-09-15 08:24:54",
          "updateTime": "2019-09-15 08:24:54"
        },
        {
          "id": "1f257456-0a88-4d6b-bfe0-d8d099874bdf",
          "title": "日程提醒",
          "body": "{'id':'42e267b5-d5c6-4b96-b0f6-7b89a6f65586','calendarId':'fa61c4e5-2424-4a89-9ada-341aaf05162c','repeatMasterId':'73d39f2d-7718-463f-9d6a-e1a90957cac4','eventType':'CAL_EVENT','title':'三国杀--兰德杯-预赛','color':'#428ffc','comment':'
    三国杀--兰德杯-预赛
    
    
    ','startTime':'2019-09-15 08:26:00','startTimeStr':'2019-09-15 08:26:00','endTime':'2019-09-15 23:59:00','endTimeStr':'2019-09-15 23:59:00','locationName':'三国杀--兰德杯-预赛','recurrenceRule':'FREQ=WEEKLY;UNTIL=20191005T160000Z;BYDAY=SU','alarm':true,'alarmTime':'2019-09-15 08:21:00','alarmAlready':false,'valarmTime_config':'0,0,-5,0','valarm_Summary':'日程提醒','isAllDayEvent':false,'daysOfDuration':0,'isPublic':true,'source':'PERSONAL','createPerson':'纪桂丹@JiGuiDan@P','updatePerson':'纪桂丹@JiGuiDan@P','targetType':'PERSON','participants':['纪桂丹@JiGuiDan@P','xadmin'],'manageablePersonList':['纪桂丹@JiGuiDan@P','xadmin'],'viewablePersonList':['纪桂丹@JiGuiDan@P','xadmin'],'viewableUnitList':[],'viewableGroupList':[],'createTime':'2019-09-05 08:26:50','updateTime':'2019-09-05 08:26:50','sequence':'2019090508265042e267b5-d5c6-4b96-b0f6-7b89a6f65586'}",
          "type": "calendar_alarm",
          "consumer": "sms",
          "person": "xadmin",
          "consumed": false,
          "instant": "b2caf573-7933-483c-a3de-7446e37a8cb2",
          "createTime": "2019-09-15 08:24:54",
          "updateTime": "2019-09-15 08:24:54"
        }
      ],
      "message": "",
      "date": "2019-09-20 13:38:43",
      "spent": 12,
      "size": 5,
      "count": 0,
      "position": 0
    }


    3、消费后,需要由自定义程序将消息主动标识为已消费,否则将一直存在于数据库中,每次查询都会将消息重新查询出来:

    http://o2server_host:20020/x_message_assemble_communicate/jest/index.html

    1577079454851-e8ce2700-7c81-47f9-a757-d9d824394ef8.png

    消息管理服务API

    更新(消费)消息服务地址:jaxrs/consume/{id}/type/{type}

    参数说明:

           id - 需要标识的消息ID

           type - 需要标识的消息类别(在查询时返回数据中的type值)

    服务地址示例: http://o2server_host:20020/x_message_assemble_communicate/jaxrs/consume/1f257456-0a88-4d6b-bfe0-d8d099874bdf/type/calendar_alarm

    返回数据格式:


    {
      "type": "success",
      "data": {
        "value": true
      },
      "message": "",
      "date": "2019-09-20 13:59:34",
      "spent": 12,
      "size": -1,
      "count": 0,
      "position": 0
    }


    五、消息信息表自动清理相关设置

    配置文件communicate.json中的"clean"配置

    enable - 是否启用 cron - 定时cron表达式 keep - 消息保留天数


    "clean": {
        "enable": true,
        "cron": "30 30 6 * * ?",
        "keep": 7.0,
        "###enable": "是否启用###",
        "###cron": "定时cron表达式###",
        "###keep": "消息保留天数###"
    }