65.9K
CodeProject 正在变化。 阅读更多。
Home

使用Page Visibility API和Event Blur的Microsoft SignalR Map Controller,用于映射文档管理系统(DMS)中的用户交互。

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.80/5 (3投票s)

2020 年 6 月 24 日

MIT

12分钟阅读

viewsIcon

5791

本工作提出开发一个集成到 DMS 系统中的层,以映射用户在分析信息中的行为,从而实现验证、加强控制并促进组织决策。

引言

信息技术已成为企业流程的强大支持,是企业中的战略因素[6]。目前,各行各业的技术应用直接影响了获得的组织成果[3]。管理文档的能力已成为管理企业知识不可或缺的工具[9]。在这种情况下,一个加剧因素是,在许多不同的行业中,组织无法放弃其流程中涉及的文档官僚程序。因此,它们仍然有义务处理严格的官方文件处理程序。

文档管理系统 (DMS) 作为一种业务战略,能够支持必要的组织流程,特别是对于那些处理大量表单关键流程的公司,如医院、运营商、保险公司和法律部门。在此背景下,需要处理文档的同样官僚程序也需要遵守与处理以及为这些项目采取的行动相关的某些规定和义务,例如确认、状态控制、验证和签名,这些往往难以证明,因为它们是技术环境之外的实际事物。也就是说,在多个商业合同中,系统操作员需要阅读技术报告的所有条款,然后才能批准或拒绝退款请求。从这个意义上说,在识别用户是否尝试过某条规则、浏览了某份合同、理解了某条确认消息,甚至遵循了系统中的标准流程,还是在某个操作中有所闪烁,这一点很难确定,这是那些业务与官方电子文件处理相关的公司面临的主要问题之一。

背景

文档管理系统 (DMS) 是一项技术,它提供了一种轻松生成、控制、存储、共享和检索文档中现有信息的方法。DMS 允许用户通过通常通过企业网络(内部或外部访问)的 Web 浏览器,以敏捷安全的方式访问文档[1]。任何类型的公司,无论大小,都可以使用 DMS,包括:学校;律师事务所;医院;公寓管理员;招聘公司;建筑、设计和工程办公室;新闻和传播咨询服务;以及咨询公司。在中大型公司中,DMS 可以应用于特定部门(人力资源、培训、会计、营销、信息技术)。此服务评估客户的特定需求,并提供模块化系统,从而能够逐步实施电子文档管理。

SignalR 是 Microsoft ASP.NET 的免费开源软件库,它允许服务器代码向客户端 Web 应用程序发送异步通知。该库包括服务器端和客户端 JavaScript 组件[12]。Mozilla Page Visibility API[10] 是一个 BSD 许可证项目。它由网页用于检测其是否可见。一些网站,包括 Twitch,使用此信息来暂停后台标签页中的视频播放。而 Event Blur[11] 则在对象失去焦点时发生。onblur 事件最常用于表单验证代码(例如,当用户离开表单字段时)。

提议

本工作旨在探索可用性技术[8]和人机交互 (HCI) 的基本原理,以尝试近似技术环境之外的操作,即以一种可以测量并稍后审计的方式。也就是说,本提议试图在用户和文档工作流的界面之间构建一个层,负责映射用户行为,并在预先建立的、特定于上下文的业务规则内,将这些映射编译成易于阅读的信息,从而实现更好的管理层决策。

提议的组件主要由两个主要功能组成:

  1. 观察用户,以了解用户在系统中花费了多少时间,访问了哪些文档;以及
  2. 确保重要文档已被系统用户阅读;

此外,这些功能还必须支持对用户操作的其他信息的控制,例如:批准的文档、访问的、待处理的、阅读百分比以及文件内的操作,此外还可以实时记录用户访问的任何页面;

这个提议的组件必须是一个额外的层,它将透明地运行于用户和组织流程(图 1)之上,这样它就不会干扰系统操作员的工作流程,也不会重新定义业务未定义的规则或流程。

5271889/artigo-igor-dmdocs.png

图 1 - 集成到企业系统架构中的分析模块图

技术规范

前端层

由于开发时间和客户的技术限制,所有监控都通过浏览器(Page Visibility API[10] 和 page Blur Event[11])的 HTML5 接口完成,为了验证用户没有离开标签页;系统会检查它是否执行了任何操作,例如在特定字段中乱点或输入,如果它在五分钟内没有执行任何操作。在这种情况下,系统会通知后端用户不再处于活动状态,直到用户再次采取行动。作为一种性能策略,只有用户当前页面有一个开放的套接字 Web,以避免重叠并减少服务器资源的使用;

后端层

为了快速注册而不严重依赖用户的延迟和连续互联网连接,映射过程会打开服务器和客户端之间的 Web 套接字,以实时交换异步信息。为了实现客户端和服务器之间的实时通信,使用了 SignalR[12],这是一个开源的异步通信库,负责创建 Web 套接字,能够提供足够的敏捷性和可靠性来实时注册用户所在的页面以及用户在该页面上活跃的时间。

数据库

分析模块的数据库提供了用于跟踪用户操作和已操作文档的特定表。在系统共享表中,有以下数据实体:UserStorageDocumentTypeDocumentFile。对于独占的分析和映射操作,该模块使用两个专用表来执行用户操作和行为的映射。

  • UserTrack
  • DocumentAnalytics

UserTrack 表记录系统中被跟踪的用户、他们的操作以及特别是与系统中的操作相关的输入和退出点(时间)。UserTrack 表处理的主要信息包括:

  • UserIdint - FK User.Id,非空(用户 ID)
  • RelativeUrlvarchar (2048) 非空(用户当前页面的相对 URL,用于系统屏幕跟踪)
  • EntityIdint null(实体 ID,可选)
  • DocumentIdint null - FK Document.Id(引用文档,可选)
  • BeginAccessDateTimedatetime 非空(访问开始日期)
  • EndAccessDateTimedatetime 非空(访问结束日期)
  • TimeInMinutesfloat 非空(访问持续时间,以分钟为单位)

DocumentAnalytics 是用于描述映射用户操作项的专用表。此实体可以更好地定义用户的操作,从而不仅能够根据使用时间构建行为,还能够分析用户处理的文档的每个特定项目。DocumentAnalytics 表处理的主要信息包括:

  • Idint,主键,非空,自动递增
  • UserIdint,外键 User.Id 非空
  • DocumentIdint,外键 Document.Id 非空
  • FileIdint,外键 File.Id 非空
  • Typeint 非空
  • Datedatetime 非空

考虑到构成分析模块的实体结构,用于恢复映射所需数据的查询过程利用了 **实体框架**。图 2 展示了该框架与分组和选择用于计算用户有效天数的使用平均时间相结合的示例。

ihc2020-igor-2-query-1

图 2 - 映射数据库交互的示例查询

Using the Code

当前版本的系统提供了两个完整的分析视图,包括检索、过滤和呈现:(a)特定用户的映射视图和(b)按文档项的呈现。图 3 展示了用户映射屏幕。

ihc2020-igor-2-analytics-1

图 3 - 按用户划分的分析屏幕

在此图中,可以查看给定用户自首次使用以来在系统中的所有操作的全局统计数据,包括在平台上的所有干预,无论是否在系统中操作过文档。对于涉及文档操作,此屏幕允许访问有关该项目的详细数据,从而可以检查数据级别上关于文档的更具体信息,例如更改或删除任何更改。图 4 展示了以文档记录为焦点的分析调查。在此分析视图中,还可以进行另一级别的观察,例如,考虑特定用户群体的给定文档的阅读百分比统计。

ihc2020-igor-2-analytics-2

图 4 - 按文档记录划分的分析屏幕

此视图的另一个特定功能是构建某项系统内容处理演变曲线的图表。例如,此视图可以识别组织中关于处理公司合同义务的给定培训的有效性。另一方面,系统中特定项目(例如手册)的演变曲线趋于平缓,可能表明该材料效率低下,或者在已经专业化的团队中已失去其有效性。对于这两个分析模块,屏幕的可用性[5]一直是一个关注点。由于这些屏幕处理大量在不同操作情况[4]下收集到的不同信息,数据合并并不容易,主要是因为此面板的宗旨始终是作为决策和解决公司冲突的来源。因此,易读性、良好的数据分布以及尊重应用上下文的直观一致性可能会直接影响所取得成果的成功。

可以通过此 Github 链接获取 Page Mapping With SignalR 示例的源代码:https://github.com/igorsantana76/PageMappingWithSignalRExample

结论

获得的结果使得能够实现一个包含对艺术研究在关注问题与系统可用性以及组织中实际需求之间的出色同步的行动环境,这些组织处理信息技术。

所获得的系统已直接在真实生产环境中进行测试,经过大约几周的测试,它已经显示出对该组织的巨大重要性。在某些更关键的文档处理环境中,系统管理员需要确切地知道哪些用户正在使用该工具,为什么使用,何时使用,他们是否正在使用,他们最近的操作是什么,以及还有多少信息尚未访问。更具体地说,测试显示了在医疗保健客户(一家大型医院)中适应和接受该项目的更好性能;在其他流程中,行政管理人员需要了解医生和外科医生是否了解在手术试验期间新的医院行为程序,以及他们是否正确使用该系统来接收信息或清除订单和释放。在此特定上下文中,在实施映射组件进行测试后,该系统被实施为该系统的新版本,然后与企业解决方案正确集成。

尽管取得了正式的验收结果,但在人机交互 (HCI) 问题方面,所开发的项目也受到了用户的广泛欢迎。用户从未感到被实施新层到他们的流程中而感到被排斥,这表明了性能和功能结果的完全透明性。关于分析模块,该工具展示了高效的数据呈现,对颜色和信息提供的直观探索非常出色。不同视图的访问都得到了很好的识别,并且分析覆盖范围对于实验室区域的企业需求而言被证明非常完整。

面临的主要问题之一是处理大量数据及其呈现的复杂性,始终优先考虑视觉清晰、简化和直观的数据,以促进高效分析和决策。应对这一问题的策略之一是穷尽地使用颜色和图形,所有这些都面向基于单页视图的项目,从而方便导航并最大程度地避免重新设计 Web 组件。作为未来的工作,该项目已经制定了开发功能的目标,这些功能可以对给定的文档项进行更详细的分析,而不是在操作层面,而是考虑通过跟踪页面上的鼠标位置来分析区域和阅读点,以便了解哪些区域被用户使用得最多。

参考文献

  1. R. Baldam (2016)。企业内容管理。ECM:电子内容管理 - 电子文档管理 (GED)、工作流、流程、WCM、DAM、RM 及相关技术。里约热内卢:Elsevier (2016)。
  2. Domore。Domore Consultoria e Treinamentos 公司页面。 [在线] 网址:http://www.domore.com.br,于 2020 年 3 月访问。
  3. Marcos A. S. Freitas:IT 服务管理基础。里约热内卢,Brasport 出版社,(2010)。
  4. Hix, D., Hartson, H. R.,《开发用户界面:通过产品和流程确保可用性》,纽约:John Wiley,(1993)。
  5. Kuhn, S.,《为工作而设计》,收录于 T.A. Winograd (编),《软件设计》,Addison Wesley,(1996)。
  6. Ivan L. Magalhães 和 Walfrido B. pinheiro:《IT 服务管理实践:基于 ITIL 的方法》。圣保罗,Novatec 出版社,(2007)。
  7. P. E. S. de Alencar 和 A. M. Silva。“在 HCIST’2016 - 第五届国际健康与社会关怀信息系统与技术会议上,提出一种应用于生产中医院管理系统的可用性评估方法”,葡萄牙波尔图,10 月 (2016)。
  8. Preece, J., Sharp, H. 和 Rogers, Y.,2002。《交互设计》。纽约,Wiley and Sons Pubs,(2002)。
  9. A. M. Silva 和 R. Mattos:“IBM Watson 作为聊天机器人开发和执行环境——用户服务流程应用案例研究”。会议:第三届国际卫理公会技术大会 (CIAT),于 2018 年 9 月在霍尔托兰迪亚/SP 举行。
  10. Mozilla MDN Web Docs。(2020) Page Visibility API。 [在线] 网址:https://mdn.org.cn/pt-BR/docs/Web/API/Page_Visibility_API,最后访问于 2020 年 4 月。
  11. Mozilla MDN Web Docs。(2020) Evento blur。 [在线] 网址:https://mdn.org.cn/pt-BR/docs/Web/Events/blur,最后访问于 2020 年 3 月。
  12. Microsoft。(2020) SignalR 实时 ASP.NET,为 ASP.NET 提供一个极其简单的实时 Web。 [在线] 网址:https://dotnet.microsoft.com/apps/aspnet/signalr,最后访问于 2020 年 4 月。

历史

  • 2020 年 6 月 18 日 - 文档创建
  • 2020 年 6 月 22 日 - 修订
  • 2020 年 6 月 23 日 - 修订和验证
  • 2020 年 6 月 23 日 - 文档提交
  • 2020 年 6 月 29 日 - 添加源代码访问链接
© . All rights reserved.