复盘:OA办公系统中的公告
mhr18 2024-12-08 15:05 34 浏览 0 评论
作者从项目实践出发,对OA办公系统中如何发布公告进行了分析复盘,并从多个方面对关于公告的相关概念和功能进行了拆解,与大家分享。
公告是什么
是指政府、团体对重大事件当众正式公布,一种行政公文。它有三大特性:庄重性、广泛性和周知性。
公告和通告区别
在严格意义上讲,公告是国家机关对于重大事件决议结果的一种公文告示。
而通告,则是适用于公布社会各有关方面应当遵循或者周知的事项的公文文体。
这样来看,大部分OA中的“公告管理”其实是“通告管理”,但是为了不那么“钻牛角尖”通常会统一叫做“公告管理”,方便直面理解。在此次OA的公告中,也是将其作为了两种不同的公告样式。
公告的作用
简单的四个字“公而告之”。作为信息化系统,公告是可以作为一种信息数据载体,然后通过“之”限定范围已达到信息输出和反馈的目的。相对于普通的即时信息,最重要的一点就是它具有庄重性。
公告包含的内容
整体上,公告的业务模块就是包含两部分:
- 公告查看
- 公告管理
一个业务的构成往往是:一定组织(若干角色),经过一套流程,完成一定的事(处理一定数据载体)
公告涉及到角色
公告此项业务主要涉及三种角色:
- 公告发布者
- 公告审核者
- 公告接收者
公告的基础流程
以上三种角色,通过发布公告、审阅查看公告,来完成公告发布查阅这一事务。
部分核心内容
公告查看
对于公告的查看其实分为两部分:
- 公告接收
- 公告内容查看
公告接收中又分为两部分:1.新公告的被动推送提醒 2.主动查看公告提醒
其中被动推送提醒,主要是指用户在登录时,收到的系统级公告推送。一般是在新公告发布时的即时推送,或是用户初始登录,推送离线期间发布的公告。而主动查看公告提醒,则是用户在相关的门户页,查看到的相关未读公告列表。一种是“推”式,一种是“拉”式。
公告内容查看是用户主动查看公告的正文内容,并涉及到阅读状态的回执处理。
公告的查看还涉及到两个范围:1.谁能看?2.能看哪些公告?
而这些都是由公告管理在制作公告时所决定的。
公告管理
管理公告主要管哪些?对于公告管理模块可能管理内容很多,但是当我们聚焦一条公告信息,则主要管理的有三部分:
- 公告正文
- 公告范围
- 公告的已阅情况
公告正文就主要是公告的主体信息,包括主题、发布者、正文内容等信息。在正文部分其实也暗含公告的种类,目前使用较多的为两类:
- 普通公告;
- 红头文件
普通公告基本就是由公告正文构成,红头文件种类就比较多了,这里就列举下通用模板:
一般会在正文的落款处加盖红章,红章的样式也有很多细目,这里举两种例子:
公告范围由 有效时间+公告发布对象构成。
这两者确定了公告接收者的查看公告的核心逻辑:
以上的逻辑控制只是决定了“谁能看”,但是对于公告接收者“能看哪些公告”这层业务逻辑没有回答。“能看哪些公告”主要是关注“能看哪些过期公告”。
例如:
一个公告的有效期范围是【2020年1月1日 ~2020年1月3日】,发布对象为【全体】可看。在1月5日创建了一个新用户,此时该新用户是否可查看此条公告?
这是一条不定的业务逻辑,不同的公司业务规则不同,比较理想化的是——在公告管理时就有相关的配置项进行业务规则设定【新用户是否可查看过往公告】,亦或是其他的业务规则设定,这里就不再展开讨论。
当确定了公告范围后,就剩下对于公告已阅情况的管理了。
公告的已阅情况,主要是查看某个公告其接收者的回执。
对于已阅情况的数据处理有两种方案:
已阅情况的查看,个人认为是个低频的,所以就废弃了已阅接收表这样的快照,采用了第二种【查看已阅情况时动态组织】的以时间换空间方案。这样做的好处是节省了保存已阅人员的空间,当然带来的坏处就是过期的公告想回顾历史时无法回顾,只能看到当前的组织结构情况,这项决定的决策点就在于预判企业是“向前看”还是“向后看”。而且就算有了快照,对于公告来说,在其有效期内若是组织结构发生了变动,而此快照想要精确的变动要素就要追加。
既然采取了以时间换空间的方案,就要想办法优化相关的处理,好在在B端产品中,很多业务场景会常用到组织树的查看,所以可以在这方面进行一定的存储查询优化:
当然服务端缓存机制也有若干种类,如redis、服务端内存 等,这里也不再展开讨论,根据公司实际情况暂定一种即可。
其他
除了上述的一些公告核心业务处理,还需考虑到公告除了自身本身是个独立业务,它也是信息数据的载体。除了公告模块自己可以发布公告,其他业务也可以搭载【转为公告】,而此功能仅是用于快捷化填充公告的主体信息。
本文由 @29号同学 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
相关推荐
- Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway
-
AI-generatedimageAsianFin--Dubaiisrapidlytransformingitselffromadesertoilhubintoaglob...
- OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs
-
TMTPOST--OpenAIisescalatingthepricewarinlargelanguagemodel(LLM)whileseekingpartnershi...
- 黄仁勋说AI Agent才是未来!但究竟有些啥影响?
-
,抓住风口(iOS用户请用电脑端打开小程序)本期要点:详解2025年大热点你好,我是王煜全,这里是王煜全要闻评论。最近,有个词被各个科技大佬反复提及——AIAgent,智能体。黄仁勋在CES展的发布...
- 商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署
-
1、本文属于mini商城系列文档的第0章,由于篇幅原因,这篇文章拆成了6部分,本文属于第5部分2、mini商城项目详细文档及代码见CSDN:https://blog.csdn.net/Eclipse_...
- Python+Appium环境搭建与自动化教程
-
以下是保姆级教程,手把手教你搭建Python+Appium环境并实现简单的APP自动化测试:一、环境搭建(Windows系统)1.安装Python访问Python官网下载最新版(建议...
- 零配置入门:用VSCode写Java代码的正确姿
-
一、环境准备:安装JDK,让电脑“听懂”Java目标:安装Java开发工具包(JDK),配置环境变量下载JDKJava程序需要JDK(JavaDevelopmentKit)才能运行和编译。以下是两...
- Mycat的搭建以及配置与启动(mycat2)
-
1、首先开启服务器相关端口firewall-cmd--permanent--add-port=9066/tcpfirewall-cmd--permanent--add-port=80...
- kubernetes 部署mysql应用(k8s mysql部署)
-
这边仅用于测试环境,一般生产环境mysql不建议使用容器部署。这里假设安装mysql版本为mysql8.0.33一、创建MySQL配置(ConfigMap)#mysql-config.yaml...
- Spring Data Jpa 介绍和详细入门案例搭建
-
1.SpringDataJPA的概念在介绍SpringDataJPA的时候,我们首先认识下Hibernate。Hibernate是数据访问解决技术的绝对霸主,使用O/R映射(Object-Re...
- 量子点格棋上线!“天衍”邀您执子入局
-
你是否能在策略上战胜量子智能?这不仅是一场博弈更是一次量子智力的较量——量子点格棋正式上线!试试你能否赢下这场量子智局!游戏玩法详解一笔一画间的策略博弈游戏目标:封闭格子、争夺领地点格棋的基本目标是利...
- 美国将与阿联酋合作建立海外最大的人工智能数据中心
-
当地时间5月15日,美国白宫宣布与阿联酋合作建立人工智能数据中心园区,据称这是美国以外最大的人工智能园区。阿布扎比政府支持的阿联酋公司G42及多家美国公司将在阿布扎比合作建造容量为5GW的数据中心,占...
- 盘后股价大涨近8%!甲骨文的业绩及指引超预期?
-
近期,美股的AI概念股迎来了一波上升行情,微软(MSFT.US)频创新高,英伟达(NVDA.US)、台积电(TSM.US)、博通(AVGO.US)、甲骨文(ORCL.US)等多股亦出现显著上涨。而从基...
- 甲骨文预计新财年云基础设施营收将涨超70%,盘后一度涨8% | 财报见闻
-
甲骨文(Oracle)周三盘后公布财报显示,该公司第四财季业绩超预期,虽然云基建略微逊于预期,但管理层预计2026财年云基础设施营收预计将增长超过70%,同时资本支出继上年猛增三倍后,新财年将继续增至...
- Springboot数据访问(整合MongoDB)
-
SpringBoot整合MongoDB基本概念MongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和...
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
-
概述 Jmeter最早是为了测试Tomcat的前身JServ的执行效率而诞生的。到目前为止,它的最新版本是5.3,其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JM...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway
- OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs
- 黄仁勋说AI Agent才是未来!但究竟有些啥影响?
- 商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署
- Python+Appium环境搭建与自动化教程
- 零配置入门:用VSCode写Java代码的正确姿
- Mycat的搭建以及配置与启动(mycat2)
- kubernetes 部署mysql应用(k8s mysql部署)
- Spring Data Jpa 介绍和详细入门案例搭建
- 量子点格棋上线!“天衍”邀您执子入局
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (56)
- oracle 乐观锁 (53)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)