!EzDesk 设计要点

杨裕欣 2010/1/18

EzDesk v1开发,简称EzDesk系统。

目标:展现利用类Twitter功能设计OA产品概念的简单产品。能够提供潜在客户试用,为项目进一步发展提供基础。
  1. EzDesk系统概述
面向设计创意行业的小型公司,项目团队提供OA系统支持。
  1. 核心服务(EzDesk.Core)
    1. 职责描述
  2. 基本数据
提供各模块协同工作所需的公司基本数据。包括员工,部门,职位等等数据;
  • Feed管理
为各App模块提供统一的Feed显示,处理接口;
 通用模块
提供可选通用模块接口。包括工作流处理模块(状态机,或流程图),计划任务模块,集中权限控制模块,等等
2.2 Feed处理方式
 Feed用于及时将信息Push到用户,供用户参考。
 所有Feed由App发出,经过核心服务处理后,统一分发给用户:
Apps -> EzDesk Core -> Users
 Feed发送使用模板机制。各App需要发送的Feed类型必须实现注册到Core中,每次Feed发送传入 Id以及相关参数变量(使用JSON实现),EzDesk.Core完成Feed模板到Feed的替换工作。
 EzDesk.Core 同时实现将Feed Push到User前的筛选过滤操作,User在EzDesk.Core上选择接受的Feed。
 在本系统中将Feed分为Notification和Update两类:
 目前暂时分为两类,服务对两类Feed提供分离的API;
 Feed在客户端显示,Feed的显示和管理由EzDesk.Core负责;
 Notiication特点:
 包括Title和Body两部分,内容可以较丰富,在客户端显示较为醒目;
 有效期限通常较短(几小时?),支持显示到期倒计时功能;
 功能:为需要用户做出处理或非常重要是Feed使用
 示例:对于需要确认的消息的确认提醒、对于工资确认的提醒、对于项目任务变动的提醒等
 Update在到期前可以撤销
 UpDate特点:
 只包含Title部分,内容一般为一句话,客户端显示为普通Feed;
 有效期限通常较长(默认2-3天?)
 功能:一般情况下的通知
 Update一般不被撤销
 对Feed取消:Feed可以被客户端用户取消,也可能被各APP根据业务逻辑在恰当的时候取消(尤其是对于Notification)。
 对FEED更新时间修改:对于UPDATE和NOTIFICATION,APP都能够对DATE进行修改同时更新时间,使其重新出现在前部位置。
 Feed模板使用 “字符串 + 参数”方式描述。认为被大括号包围的内容属于参数部分,例如字符串:
“这是一个 {test}”
认为这个字符串存在 test参数,发送此Feed时需要传入包含Key为test参数的JSON字符串。
可以设定存在公共变量,例如设置名称为companyName的公司名称公共变量,假设存在 {companyName}的描述,则由EzDesk.Core自动替换为公司名称,传入参数中不需要Key为companyName的变量。
 Feed内容使用专门设计的XML描述,暂时称为”EZML”。包含类似<ez:link>的结构性描述,由各客户端转换成相应内容。
2.3 App框架服务
 核心服务应该包含App功能管理。处理各App的安装,卸载,服务注册等功能,为核心服务提供统一的服务程序。
 处理各App和各客户端的关系。
 …………
2.4 可选功能
 GroupId的处理模块
各App可通过EzDesk.Core的GroupId相关API或代码库建立用户组,方便使用。
 集中的权限处理模块
………………
 状态机业务流处理模块
提供App注册状态机的处理程序,供Apps,用以完成工作流,业务逻辑描述等功能;
…………
 计划任务
提供Core级别的计划任务服务,供App使用,用于涉及时间驱动的工作流。
…………
3 应用模块(Apps)
 每个模块相对独立,完成业务逻辑功能,模块可调用EzDesk.Core提供的数据;
 模块在系统部署时配置,运行期各模块一般不需要太大变化;
 各模块可选用EzDesk.Core提供的可选模块简化编程;
模块
3.1 消息发送(EzDesk.Message)
3.1.1 职责描述
 员工之间的消息通知,包括消息确认,一定程度上代替邮件功能
3.1.2 概念
 消息:每条被发出的信息称为一条消息。每条消息必须存在一个消息发送人,存在一个或一些消息接受者。可将每个消息看做一个多人参与的“主题”。
消息被删除,消息相关的:回复,确认信息,Update,Notification同时全部被删除
 消息参与者:消息被发送时,每条消息的消息发送人和所有消息接受者全体称消息参与者;
消息接受者包括消息发送者本人时,发送过程需考虑处理“本人”情况。(例:消息接受者为“所有人”和消息接受者为“xx部门”或单独某人(不包含本人)情况)
3.1.3 功能描述
 一般消息发送
选择发送对象,发送对象可能是一个组或者若干个人,输入消息内容并发送消息;
所有消息参与者(包括本人)收到有关新消息的 Update, Update内容大致包括:
“Xxx 说: “aaabbbcccddd” 回复(3)”
 需要确认的消息通知
基本同“一般消息发送”,但在发送前选择复选框“需要确认”;
消息接受者除了接受到新消息的Update:
Title:“Xxx 说: “aaabbbcccddd” 回复(3) 确认(4)”
还收到一条Notification:
Title:“Xxx 给您发送了一条需要确认的消息。”
Body:”aaaaaabbbbbxxxssss” 查看详细 直接确认
注:消息回复功能独立于”Update回复”。消息发送App产生的Update和Notification本身均设定为不可回复
用户使用Notification提供的链接或者查看消息页面确认消息,确认后该Notification消失;
如果一条消息需要确认,用户能够查看某条消息的确认情况列表;
3.1.4 Feed无关功能描述
相对独立的消息管理程序,使用列表显示接受者参与的消息;
提供不通过Feed对消息进行操作(删除,打开,回复,确认,忽略等)的功能;
 消息列表
列表方式列出“我发出的消息”“我参与的消息” (考虑分页);
列表显示每条消息的“简要内容”,回复情况,确认情况,消息发送时间,参考Update格式
 消息详细信息
显示消息发送者,发送时间,消息参与者,确认情况,回复列表,回复框等
3.1.5 权限控制
用户只能访问(回复,确认)自己属于消息参与者的消息。
3.1.6 其他
 消息为不包含任何特殊字符(换行,HTML)等的字符串,但是考虑扩展的可能性,今后可能需要富文本编辑
3.2 考勤&工时(EzDesk.Attendance)
3.2.1 职责描述
 管理员工的上下班考勤数据
 管理员工的假期,请假数据
 根据考勤,假期计算员工工时
3.2.2 概念
标准上班时间:正常工作日的上班时间,默认9:00
标准上班提前时间:标准上班时间加上标准上班提前时间内考勤都算作有效,默认30分钟,即8:30 – 9:00前上班都算作有效,若考勤时间晚于9:05则计迟到,若考勤时间早于8:30则从8:30开始计算;
标准下班时间:正常工作日的上班时间,默认18:00
标准下班提前时间:标准下班时间加上标准上班提前时间内考勤都算作有效,默认30分钟,即在30分钟内根据上班时间计算早退时间
3.2.3 功能描述
 上下班考勤
参与考勤人:A 考勤管理人:B
上班考勤:A每次完成考勤,发送Update到A处,大致内容如下:
Title:“Xxx 于1-19 08:28 上班考勤。”
 迟到早退处理
若考勤迟到,则在Update中包含说明:
Title:“Xxx 于1-19 08:28 上班考勤。上班迟到”
Update显示为链接,点链接进入可输入原因
 申请抵消调休时间
进入某一天考勤详细信息,显示当天考勤信息以及评价。可对当天考勤结果进行原因解释,如果因为“迟到”,“早退”等产生了提供“申请撤销调休处理”复选框
当使用了“申请撤销调休处理”后,B收到Notification,内容大致如下:
Title:“xxx 于 1-19 10:21 申请撤销调休处理”
Body:“原因 撤销处理 详细”
点击撤销处理 记录自定义调休时间,取消因迟到等扣除的调休时间
点击详细,进入此人当天考勤记录,进一步处理
 假期申请
A进入假期申请界面(参考原系统假期申请界面)选择假期类型,开始时间,结束时间,输入事由,进行申请;
申请时判断申请是否符合要求,申请成功后B接受到Notification,内容大致如下:
Title: “xxx 申请 (假期类型)”
Body: “时间 xx-xx xx:xx 至 xx-xx xx:xx 原因原因原因 审核通过 详细”
直接点击审核通过则通过此次假期审核,点击详细查看本条假期详细信息
 假期管理
A进入假期管理页面,管理自己申请的假期,
3.2.4 权限控制
考勤管理者
考勤参与者
3.3 项目管理(EzDesk.Project)
3.3.1 职责描述
 提供项目的录入,进度管理功能
 提供项目和员工工作任务的分配,跟踪功能
 提供项目甘特图,进度控制等躬耕
3.3.2 概念
 项目:
 项目阶段:
 项目团队:
 节点时间:
3.3.3 功能描述
3.3.4

Last edited Jan 20, 2010 at 1:21 AM by YuxinYang, version 3

Comments

No comments yet.