多用户、多时间协作批注的方法和系统的制作方法

文档序号:6650318阅读:216来源:国知局
专利名称:多用户、多时间协作批注的方法和系统的制作方法
技术领域
本发明涉及计算机软件。具体来说,涉及GUI协助的工作流进程控制。
背景技术
本发明涉及协作软件领域。协作软件提供了在执行需要技巧和多个人的注意的任务时帮助多个用户的系统。
批注系统是一种协作软件。批注系统是存储了有关对象、或对象的部件的描述性信息的系统。批注存储器,通常是数据库,包含批注的描述性信息,使用索引模式来将每一个批注映射到对象或对象内的位置。
批注系统可以将批注存储在目标文档的数据流内,如此简化了批注系统发现和检索批注的任务。以该方式存储批注的批注系统包括MICROSOFT Office套件的“注释”功能或Adobe Acrobat产品的“批注”标记功能。
批注系统还可以将批注存储在独立于目标文档的数据流的数据库中,如此简化了跨全部批注数据中的高级查询,并允许对只读目标文档进行批注。以这样的方式存储批注的批注系统包括IBMINSIGHTLINK产品和说明书(两者都已经作为专利提出)POU8-2003-0147,″Recovery of Lost Annotations via DigitalFingerprinting″,和ROC8-2003-0446,″Universal AnnotationManagement System″中描述的系统。
在生命科学和生物技术中对批注系统的需求很高,但不仅仅限于该领域。
批注系统用来收集有关某些目标数据的注释,即,元数据。许多批注系统只是为用户提供简单文本字段,以插入自由形式的注释。比较高级的批注系统给用户提供多个字段,以便用户创建结构化批注。当批注被结构化时,信息变得更容易索引和查询。
当今,批注系统以简单化的模型使用,其中,用户将相关的信息输入到批注中,以便让那些查找此额外的信息和利用批注的记录的见识的用户以后使用。本质上,用户被要求输入批注,以便帮助可能的未来用户。这是当前批注系统提供的交互模型。此模型具有多个问题。用户常常认为对文档进行批注是一个负担。当前批注模型不会帮助用户直接实现任何任务,如此,用户常常感觉到费力对文档进行批注没有多大的价值。如果用户看到批注的直接的好处,如在批注供进行批注的同一个用户使用的特殊情况下,如在演讲时作笔记那样,那么,用户很可能对文档进行批注。甚至在用户在当前批注模型内对文档进行批注的情况下,由于用户不能预期到将读取他们的批注的未来的用户,因此,批注的质量会下降。这一未来的用户可能与批注者执行非常不同的任务。如果批注者了解他的批注的未来的读者(本质上,他的受众)的任务和角色,则批注者可能更加有效地对文档进行标记。如此,需要一种为批注创建新的范例的批注系统,通过帮助实现用户的任务给批注者提供直接好处的系统,以及批注者对他的批注的受众知道得更多并且如此能够创建更加有效的批注的系统。
1990年10月4日提出的并在这里加以引用的美国专利No.5,239,366″System for selectively routing and merging independentannotations to a document at remote locations″讨论了使用批注作为粘条来进行长(物理)距离的通信。这是通过允许包含指向原始文档的指针的批注单独地或分组地发送并通过“个人通信计算机”在接收端重新组合来实现的。此专利没有讨论结构化的批注,没有提供包括与工作流结合的目标数据独立的批注新颖的组合的定义明确的和结构化的多用户语义。此外,此发明只通过分组机制将批注关联到一起。它不允许额外的语义工作流信息(在系统内)与目标对象上的一系列批注(或其生存期内)关联。
1998年8月31日提出的并在这里加以引用的美国专利No.6,240,429″Using attached properties to provide document services″说明了在文档管理系统内将键值属性与文档关联。如此,此发明要求属性或代码可以连接到的所有数据对象必须存在于文档管理系统内。(存在这一限制,因为通过诸如“读取”之类的文件操作来访问属性和可执行代码。)这是一个严重的限制,因为属性和工作流信息是数据对象的一部分。
工作流软件是另一种协作软件。工作流系统提供了不同的用户完成任务的单个部分的自动对一个任务进行协调的方式。工作流系统是其中实现了具有许多步骤的进程流的协作管道,并包括用于在每一个步骤通知特定的参与者(参与者可以是用户或程序)应该采取的操作的装置,在步骤完成时,调用或通知管道流中的下一梯级。例如,工作流系统可以被配置为自动协调执行通过电话发出的客户订单的任务。在这样的情况下,工作流系统可以被配置为接收来自话务员的订单或付款信息。然后,工作流系统可以将待办工作的通知发送到发运部门。工作流系统通常向每一个用户显示了个性化的待办工作列表。一旦本商品被发运,则发运部门在工作流系统中的他们的那一部分标记为“完成”,系统自动向财务部门发送一个通知。这一简单示例显示了如何用特定任务中的步骤以及任务的每一部分涉及的特定用户来配置工作流系统。然后,工作流系统可以使用通知和任务列表作为中心交互机制来协调任务的执行。对于过分地基于数据或文档的任务,典型的工作流软件范例的局限性变得显而易见。例如,评估一个新位置的候选的任务。此任务过分地依赖职业申请表或个人简历作为关键目标文档。在工作流中的每一个步骤,文档都被用户引用。典型的工作流系统会将任务与文档分开,只是将文档引用为供用户引用的“附件”。这与紧密地将用户的注释和判断与文档本身连接的批注系统不同。如此,其中批注是完成工作流中的任务的关键范例的工作流系统就有了改进的空间。
当前技术中的主要问题是,批注系统忽略了工作流和任务的概念,而工作流系统忽略了作为协作的有用模型的概念。本发明合并了这两个协作方法以提供改进的协作系统。

发明内容
本发明提供了位于被批注的目标文档的图像上的批注小部件。用户选择批注小部件来执行工作流批注任务。给用户提供了批注表单。当用户将批注表单提交到批注存储器时,执行工作流任务,并将工作流推进到另一个工作流状态。
因此,本发明的目标是通过从文档存储器中检索文档来执行工作流批注任务。然后,将文档与批注存储器中的一个或多个批注相关联,所述批注存储器包括批注和批注键,所述一个或多个批注通过对应的批注键与文档关联。然后,从所述批注存储器中检索一个或多个批注,所述批注通过对应的批注键与文档关联,批注小部件具有对应的批注GUI小部件。然后,在GUI界面上显示文档,显示的文档具有覆盖了显示的文档的预先确定的部分的一个或多个批注GUI小部件,所述一个或多个批注GUI小部件包括第一个批注小部件。然后,通过GUI界面来选择第一个小部件。然后,响应于选择所述第一个小部件,从所述批注存储器中检索第一个批注文档。然后,在GUI界面中显示检索到的第一个批注文档,该文档包括一个或多个字段。然后,通过GUI界面修改一个或多个字段的第一个字段。最后,将修改的第一个批注文档提交到批注存储器,所述提交步骤包括执行工作流操作的另一个步骤。
本发明的另一个目标是给用户提供一个允许用户创建第一个批注文档的应用程序。然后,将第一个批注文档与第一个批注小部件相关联。然后,创建对应的批注键,所述对应的批注键将第一个批注文档与文档相关联。然后,将文档的位置与小部件关联,所述位置用于显示第一个批注小部件。然后,在批注存储器中保存第一个批注文档和对应的批注键。
本发明的另一个目标是执行工作流操作,工作流操作是结束工作流、将工作流转换为下一个工作流步骤、改变第一个批注小部件的外观、改变第一个批注小部件的位置、或将工作流操作通知给另一个用户中的任何一个操作。
本发明的另一个目标是显示具有显示的文档的任务列表。
本发明的另一个目标是为一个或多个用户角色自定义第一个批注文档,以便对于第一个用户角色和第二个用户角色,以不同的方式显示第一个批注的元素。
本发明的另一个目标是提供包括一个或多个批注结构的批注文档,批注结构包括用于提示用户提供批注数据的标题字段,批注文档进一步包括用于接收用户提供的批注数据的数据输入字段。
本发明的另一个目标是提供包括一个或多个工作流通知批注结构的批注文档,工作流通知批注结构包括工作流标题字段,工作流标题字段用于提示用户提供工作流操作,所述工作流通知批注结构进一步包括用于执行工作流通知操作的工作流通知程序。
本发明的另一个目标是提供包括向负责的用户发送通知的另一个步骤,所述负责的用户负责采取与批注关联的工作流中的下一个步骤。
本发明的另一个目标是提供包括电子邮件、电话消息、文本消息、即时消息、一部分文档或一部分批注中的任何一个的通知。
通过本本发明的技术,来实现其他功能和优点。这里详细描述了本发明的其他实施例和方面,它们被视为带有权利要求的本发明的一部分。为了更好地了解具有优点和功能的本发明,请参阅说明和图形。


在本说明书结尾时在权利要求书中特别指出了并明确声明了被视为本发明的主题。通过下面的结合附图对本发明进行的详细说明,可以更好地理解本发明的前述和其他目标、特点和优点,其中图1是描述了采用现有技术的计算机系统的组件的图表;图2是描述了采用现有技术的计算机系统网络的图表;图3是根据本发明的工作流批注的流程表示法;图4是用于创建新批注的初始个人简历评估员屏幕的示例视图;图5描述了示例个人简历评估员批注视图;图6描述了悬挂了文档的批注的示例初始面谈者屏幕视图;图7描述了示例面谈者批注视图;图8描述了示例经理批注视图;图9是描述了采用现有技术的基于表单的工作流用户活动流程;图10是描述了根据本发明的基于批注的工作流用户活动的流程;图11是示例采用现有技术的工作流任务列表的示例视图;图12是基于批注的映射示例以文档为中心的工作流任务列表;以及图13是基于批注的文档示例以文档为中心的工作流任务列表。
详细的描述通过参考图形说明了本发明的优选实施例,以及优点和功能。
具体实施例方式
图1显示了其中可以应用本发明的典型的工作站或服务器硬件系统。图1的系统100包括诸如个人计算机。工作站或服务器之类的包括可选外围设备的典型的计算机系统101。工作站101包括一个或多个处理器106,用于根据已知技术连接处理器106和系统101的其他组件并在它们之间进行通信的总线。该总线将处理器106连接到存储器105和可以包括硬盘驱动器、软盘驱动器或磁带驱动器等等的长期存储器107。系统101还可以包括通过总线将微处理器106连接到一个或多个接口设备(如键盘104、鼠标103、打印机/扫描仪110和/或其他接口设备)的用户界面适配器,该适配器可以是任何用户界面设备,如触敏屏幕、数字化输入垫等等。总线还可以通过显示适配器将诸如LCD屏幕或监视器之类的显示设备102连接到微处理器106。
系统101可以通过能够与网络109进行通信的网络适配器来与其他计算机或计算机网络进行通信。通信信道、令牌环、以太网或调制解调器是网络适配器的示例。或者,工作站101可以使用诸如CDPD(蜂窝数字数据包数据)卡之类的无线接口来进行通信。工作站101可以与局域网(LAN)或广域网(WAN)中的这样的其他计算机关联,或者,工作站101也可以是具有另一台计算机等等的客户端/服务器布局中的客户端。所有这些配置,以及相应的通信硬件和软件,都是当前技术中已知的。
图2显示可以应用本发明的数据处理网络200。数据处理网络200可以包括多个单个网络,如无线网络和有线网络,其中每一个网络都包括多个单个工作站101。另外,如那些精通相关技术的人所理解的,可以包括一个或多个LAN,其中,LAN可以包括多个连接到主机处理器的智能工作站。
仍请参看图2,网络还可以包括大型计算机或服务器,如网关计算机(客户端服务器206)或应用程序服务器(可以访问数据知识库的远程服务器208)。网关计算机206充当到每一个网络207的入口点。当将一个网络协议连接到另一个网络协议时,需要网关。优选情况下,网关206可以通过通信链路连接到另一个网络(例如,因特网207)。网关206还可以使用通信链路直接连接到一个或多个工作站101。可以利用IBM推出的IBM ESERVER、ZSERVER和900 SERVER来实现网关计算机。
实现了本发明的软件编程代码通常被系统101的处理器106从诸如CD-ROM驱动器或硬盘驱动器之类的长期存储介质107进行访问。软件编程代码可以包含在诸如磁盘、硬盘驱动器或CD-ROM之类的供数据处理系统使用的各种已知介质中的任何一种介质中。代码可以以这样的介质进行分发,也可以从一个计算机系统的存储器通过网络分发给其他计算机系统的用户,供这样的其他系统的用户使用。
或者,编程代码111也可以包含在存储器105中,并由处理器106使用处理器总线进行访问。这样的编程代码包括控制不同的计算机组件和一个或多个应用程序的功能和交互的操作系统。程序代码通常从密的存储介质107被分页到高速存储器105,在那里,供处理器106进行处理。用于将软件编程代码放到存储器中,物理介质上,和/或通过网络分发软件代码的技术和方法已为大家所熟知,这里就不再进行讨论。
在优选实施例中,本发明是作为一个或多个计算机软件程序111来实现的。本发明的软件的实现方式可以在用户的工作站上操作,作为应请求被调用的一个或多个模块或应用程序111(在面向对象的编程中也被称为代码子例程,或“对象”)。或者,软件可以在网络中的服务器中,或能够执行实现了本发明的程序代码的任何设备中操作。实现本发明的逻辑可以集成在应用程序的代码内,也可以作为被该应用程序调用的一个或多个实用程序模块来在实现,而不会偏离这里所说明的发明构思。应用111可以在Web环境中执行,其中Web服务器响应来自通过因特网连接的客户端的请求提供服务。在另一个实施例中,应用可以在公司内联网或外联网中执行,或者在其他网络环境中执行。环境的配置包括客户/服务器网络、对等网络(其中客户端通过执行客户和服务器功能而直接进行交互)以及多层环境。这些环境和配置是本领域技术人员所公知的。
本发明是一个批注系统,用于对包括文本或图像的不同的“文档”进行批注,其中,批注可以由多个用户在不同的时间和从不同的机器协作地创作。此外,由于批注是协作地创作的,不同的用户根据他们的角色或权限可能会看到诸如批注中的不同的数据输入字段之类的批注的不同视图。批注系统还能够视情况而通知用户,他们需要对批注进行注意,如当他们必须执行批注创作的他们的那一部分或先前创作的批注已经被更改。本发明提供了通过批注将工作流连接到任意目标数据的能力。传统的工作流系统通常是独立程序,而批注--根据定义--与数据集成,因此可以轻松地实现所有可批注的数据的工作流,而不需要独立的工作流客户端程序。
图11显示了基于采用现有技术的表单的工作流软件任务列表1102的示例。通常,用户将运行工作流应用程序,并看到如图11的屏幕1101。涉及工作流任务的文档和数据是与独立的工作流软件完全分开的。相比之下,图12和13显示了基于批注的工作流任务列表1203 1304 1305 1306的两个示例。基于批注的工作流系统中的任务列表不是平面列表。相反,每一个任务都作为批注在上下文中被表示出来。在图120中,每一个任务1204 1205 1206 1207 1208都由纸图标1210 1212 1213 1214通过映射来表示。在图13中,任务由椭圆注释方框1304 1305 1306表示,它们引用了文档1303的特定上下文部分,显示了破折线。那两个示例显示了对于本发明的基于批注的工作流系统,文档是工作流系统的中心方面。工作流系统没有用于查看和管理任务的独立应用程序。相反,由于工作流被表示为批注,然后,启用任何批注的应用程序可以用工作流功能来加以增强。图10中的示例显示了MICROSOFT MAPPOINT和MICROSOFT WORD(MICROSOFT CORPORATION的产品)作为只需通过具有批注支持即可被延伸为识别批注工作流的现有应用程序的示例。诸如IBM INSIGHTLINK(IBM Corp的产品)批注系统所使用的以及2003年6月20日提出的并在这里加以引用的IBM US专利申请No.10/600014″Universal AnnotationManagement System″中所描述的体系结构,可以用来用批注功能来扩展应用程序。
本发明将任务的传统的工作流软件概念和对同一个任务的协作与将文档和简单发现和分析进行深度集成的传统的批注概念合并在一起。以前,批注被视为单个人关于对象和子对象的单一观测。然而,某些进程受益于不同的单个思想的集中。本发明给批注系统提供了这样的优点。
通过组合两种概念、创建了新的系统类型,其中,工作流过程可以自动地被附加到可以被批注的任何对象,无需对象正在被批注或实际在工作流过程的控制之下。批注的存在是收集每一级工作流管道的输出的工具。这与常规工作流系统的特别不同之处是,任何参与者(具有查看批注的权限)现在都可以参与编辑或只查看工作流过程的结果。
批注范例给用户提供了待办任务的改进的视图,更重要的是,和与工作流任务相关的目标数据的关联改进。在传统的基于表单的工作流系统中,呈现给用户的待办任务列表是以工作流为中心的。那就是说,用户主要与作为任务的平面列表的系统进行交互。用户打开或启动待办任务以判断与完成任务相关的数据。本发明的批注范例不是以工作流为中心的,也不是基于待办任务的平面列表。本发明的批注范例提供了以数据为中心的交互机制,该机制更适合于各种问题。例如,假设有一个城市房地产评估员所使用的假设应用程序。房地产评估员每天必须到多个地产那里去,以评估它们的价值,以便征收财产税。传统的工作流系统将给用户(评估员)提供一个要被评估的地产的平面列表。
图9显示了一个流程图,该流程图描述了诸如房地产评估员之类的用户在为此任务使用传统的工作流系统时所采取的步骤。通常,评估员将从待办任务901的平面列表中打开或查看第一个任务902,查找目标数据库905中存储的地址904,并到该地产那里,以对其进行评估。在评估该地产906之后,评估员将完成表单907,并将它输入到工作流系统911中,并将它发送到下一个工作流步骤909,除非他的步骤是最后一个步骤910。然后,评估员将打开或查看列表903中的下一个任务,查看地址904,并到下一个地产那里,以对其进行评估906。这样的传统的工作流系统使得评估员难以有效地绘制他的地产之间的路线图,以使其行驶距离最短,或选择方便的位置。可以增强传统的工作流系统的功能,以便以某种方式执行路线计划,或基于某种量度考虑列表的优先次序,但这样的功能将是自定义的设计,而不是工作流系统本身的一部分。本发明允许用户自定义他的活动,而不是解决现有技术的基于表单的工作流系统的局限性。在此示例中,用户与其进行交互以执行到地产那里并对其进行评估的任务906的“文档”905是要被评估的房屋的地址。它是用户完成他的任务所需要的信息。注意,在传统的工作流流程图中,用户在选择任务之后的稍后的阶段读取此“文档”904。本发明,由于使用批注范例,将允许用户采用更加自然和有效的操作。我们的基于批注的工作流系统将地产当作批注的相关目标“文档”。然后,评估员可以使用启用批注的地理信息系统(GIS)或诸如来自MICROSOFT Corp.的MICROSOFT MAPPOINT之类的地图应用程序,来采用以数据为中心的方式而不是采用传统的以工作流为中心的平面任务列表来查看任务列表。
利用本发明,每天早上评估员将打开他的地图应用程序,并查看城市的地图。(参考图12)1215。当他查看他负责的区域时,他查看需要评估的地产上的位于地图1215上的图标1210 1212 12131214。那些图标1210 1212 1213 1214代表批注,在本发明中,它们是他的待办任务。通过采用以数据为中心的方式呈现任务列表12101212 1213 1214,评估员立即能够轻松地排定线路的优先次序,并绘制有效的路线图,以执行当天的地产评估。本发明将工作流附加到任意目标数据这一事实,使得此功能成为本系统的固有的优点。只是由于选择了“地产”作为批注的目标数据,评估员看到了优于传统的工作流任务列表模型的直接的好处。
图10显示了描述了诸如此示例中的评估员之类的用户在为此任务使用基于批注的工作流系统中所采取的步骤的流程图。注意,“文档”1006,在此示例中为地图1215上的地产1210 1212 1213 1214的位置,是任务选择中的驱动因素,而不只是如图9中的传统的流程图中那样,是被引用的数据。根据图10,用户(评估员)从涉及任务的存储器1006打开文档1215。用户可以看到由文档1215中的其他内容所做的注释(如图标1210、1212、1213、1214)。用户选择注释1212以查看从注释数据库1007检索的注释1212所表示的任务。用户完成任务(评估)1004,并利用观于完成的任务的信息1005,在文档1215上修改或创建注释。数据被存储1011在注释系统1007中。如果1008工作流完成,则进程结束1010。如果未完成,则表示工作流中下面的步骤的注释1210 1212 1213 1214被实例化,以供用户进行查找1009。
图3显示了用户和批注工作流系统之间的交互的示例。首先,用户A,在查找到所感兴趣的目标文档305之后,使用批注工作流系统302在目标文档上创建批注301。在提交该批注301时,启动批注工作流系统中配置的特定工作流,并执行工作流中的下一个步骤。此步骤可以包括多个用户306的通知。在图3中,用户1307到N 309可以是人用户,但也可以是执行特定任务的代理或计算机程序。一旦人或计算机用户307 308 309以对批注的更改和添加的形式记录了它们的结果310(如果有的话),那么,批注工作流系统302就检索被配置的工作流306中的下一个步骤。如果在工作流中没有步骤剩余304,那么,任务就已完成,否则,通知306适当的用户执行下一个步骤。该过程一直持续到工作流任务完成。在工作流中的任何步骤中,用户可以访问并可以利用目标文档来查看上下文中的批注。
图4到8显示了多个用户之间的协作的示例用户界面屏幕。在用户完成示例任务时,通过批注工作流系统的示例实施例,在用户的协作中为其提供帮助。示例任务是评估待招聘的职位的候选人。有三个用户参与了示例工作流简历评估员、面谈者和招聘经理。此示例工作流中的每一个用户都按按先后顺序执行步骤。即,简历评估员必须判断是否要对候选人进行面试,面试时,将分配面谈者以进行面试,之后,招聘经理将决定工资以及是否要雇用该候选人。图4显示了简历评估员按下“创建批注”按钮并提示“选择批注表单”窗口408,以便选择要创建的批注的类型。可以给批注工作流系统配置许多批注类型,每一种类型都代表为要完成的不同的任务收集不同的数据。评估员通过突出显示窗口408的“选择表单区域414”中的对应的条目412来选择创建批注的“候选人简历评估类型”412。然后,评估员看到图5所示的屏幕401,其中有“创建批注”窗口501。批注501具有许多字段505-511 513,以便让评估员输入诸如雇用的类型507以及以前的经验信息509。然而,批注还显示了不能被评估员写入的字段512 514 515 516,如字段名称512 515旁边的黑色挂锁图标所表示的。那些字段是工作流中的另一个用户的职责。一旦评估员输入完信息,他就提交批注502。现在通知面谈者关于待办批注的事项,当面谈者打开简历文档402时,面谈者看到在文档402中有一个批注601,如图6所示。文档左边的列表601显示了文档上的批注。面谈者点击列表项601,该项打开窗口610,该窗口呈现有关与关联列表项601关联的批注的信息。然后,面谈者面试候选人,并打开批注窗口710,以便进行编辑,如图7所示。注意,面谈者具有针对他的特定任务而自定义的批注的不同视图。具体来说,评估员的预先输入的字段是只读的,如图黑色挂锁505 506 507 509 511所示的,他的字段512 515可用于输入。一旦面谈者提交502有关候选人的评论,则通知招聘经理有待办的批注。当经理打开文档(图8)401,并打开批注501以便进行编辑时,经理看到用于进行批注的屏幕810。注意,此视图不同于评估员和面谈者的批注视图。将显示的屏幕810向下滚动,暴露出末尾的两个额外的字段801 802,“工资”801803和“雇用吗?”802 804。批注工作流系统被配置为对于评估员视图610和面谈者视图710隐藏这些字段。只有经理视图810有权看到和修改这些字段。还要注意,评估员和面谈者预先输入的所有信息都被显示出来,供经理在作判断时使用。一旦经理提交了带有他的更改801的批注,就可以启动更加自动化的工作流步骤,如邮寄招聘书,或转发到其他经理。了解情况的收件人可以选择对文档进行批注,将另一个项目添加到列表中,例如,经理可以看到,具有小部件技巧405的雇员可以将批注粘贴到简历文档402上的该项目,表示技巧在某一项目中具有特定用途。然后,项目经理将看到表示技巧批注的项目,并用特定角色、时间帧,以及在雇用候选人时可能给候选人分配的子项目部分。还可以将系统配置为在任何时候都作出自动化的判断。例如,在最初对简历进行评估之后610,系统可以丢弃没有经验的任何候选人。面谈者视图710将自动地只接收有资格的候选人。此外,还可以基于条件和查询参数,智能地发出通知,如只面试所有经过评估简历的前10名候选人。应该注意的重要事项是,此任务过分地以文档的批注为中心。天然的″记事贴″(post-it note)范例被本发明注入了协作和工作流功能。
批注工作流系统的一个实施例由批注工作流引擎构成,该引擎与数据库进行通信,以存储批注。批注工作流引擎配置有批注布局和每一个批注的特定工作流。批注工作流引擎还与用户目录进行通信,以判断特定用户的角色和在配置的工作流中的权限。批注工作流引擎向其客户端暴露下面的操作集1.对于给定用户,给定文档上的对所有批注的查询2.给定批注ID和特定用户的情况下,检索特定批注3.给定批注ID和特定用户的情况下,编辑特定批注4.列出配置的批注类型或工作流5.基于其中一个配置的批注类型,创建新批注批注工作流引擎可以作为Web服务来实现,用户目录可以是标准的轻型目录访问协议(LDAP)服务器,而批注数据库可以是标准的关系数据库,如IBM的DB2系统。直接与用户进行交互并代表他们与批注工作流引擎进行通信的客户端可以作为插件写入到现有的文档查看器应用程序中。例如,MICROSOFT CORPORATION出品的MICROSOFT OFFICE产品套件提供了扩展性和集成应用程序编程接口(API),以允许第三方直接扩展应用程序的功能。与批注工作流引擎的通信和批注的呈现可以作为这样的插件来实现。
到目前为止所描述的体系结构与2003年6月20日提出的并在这里加以引用的IBM US专利申请No.10/600014“UniversalAnnotation Management System”中所描述的批注系统的体系结构一致。该体系结构的主要改变是,批注引擎具有添加的配置信息和解释配置的工作流和在工作流的每一个步骤中采取适当的操作(如待办工作通知)的功能。
工作流的配置可以与批注类型的配置一起来实现。对于被添加到有关谁能够读取和写入的批注信息中的每个字段,每一个字段是与是必需的或可选的字段上的约束及其他这样的约束一起添加的。对于一个批注类型的配置中的每一个字段,定义了条件和操作的列表。将由批注工作流引擎在提交批注时对这些条件进行评估。引擎将执行为被评估为“true”值的任何条件描述的操作。条件和操作甚至可以以诸如JavaScript和Perl之类的语言来进行描述,但不必如此普通。条件和操作可以引用诸如其他数据库和Web服务之类的外部数据源,甚至可以在被执行时修改批注或其他数据源。然而,它们不必如此精细,特别是由于安全原因,操作应该在受限的或沙箱环境中运行。既可以在批注工作流引擎上,也可以在客户端插件应用程序上评估和执行条件和操作。
下面描述了当用户打开文档以查看以批注的形式呈现的任务,以及完成任务时用户从头到尾与系统交互的的实现方式。所描述的发明的实施例说明了本发明的元素。
情况是上文所描述的评估员示例。给评估员分配了地产,以通过工作流系统进行评估。评估员是示例工作流中的中心步骤。任务已经被工作流的前一步骤中的用户(如评估员的经理或监督者)通过将批注图标(图12)1212 1210 1214 1213附加到图1215来分配给他。在评估员完成每一个任务之后,给工作流中的下一个步骤提供工作流中的随后的任务。例如,对地产进行评估之后紧接着的任务可能是税务员向业主发送征税单。
第一个步骤是评估员启动启用批注的MICROSOFTMAPPOINT应用程序以查看他的分配的任务。评估员看到如图12所示的屏幕1201。批注1204 1205 1206 1207 1208代表任务。为提供此视图,插件组件已经被添加到MICROSOFT MAPPOINT,以与中心批注工作流服务器进行通信。在用户启动MICROSOFTMAPPOINT应用程序时,应用程序以包含在Windows动态链接库(DLL)文件中的并注册为Windows注册表的MICROSOFTMAPPOINT部分中的MAPPOINT插件的组件对象模型(COM)组件的形式加载批注插件。一旦批注工作流插件被MAPPOINT应用程序加载,插件查询批注工作流服务器,以查找适用于评估员的所有批注和被他查看区域。此查询是作为发往位于网络上的已知的地址的批注工作流服务器的HTTP请求来完成。通常,评估员用他的公司部署的批注工作流服务器的网络地址预先配置了插件。发送到服务器的HTTP请求包括诸如应该检索其批注的特定文档之类的信息以及诸如特定用户提出了请求和作出了请求的应用程序之类的上下文信息。然后,所有该信息都由批注工作流引擎用作输入参数,以创建到包含批注和工作流信息的关系数据库存储器的结构化查询语言(SQL)查询。对HTTP请求的响应包含所产生的匹配那些查询参数的批注。具体来说,返回每一个批注的唯一标识符以及有关在文档中的什么位置应用批注的信息。然后,插件使用该信息在屏幕上相应地呈现图标,以供用户查看。
接下来,评估员选择批注以进行编辑。评估员双击显示的其中一个批注1212,插件呈现出批注编辑GUI。为呈现此GUI,插件再次与批注工作流服务器进行通信。它向服务器发送另一个HTTP请求,包括用户选择的批注的唯一批注标识符作为HTTP请求内的参数。作为响应,服务器执行另一个SQL查询,以检索特定批注内的数据以及批注数据所符合的架构。当插件接收到作为可扩展标记语言(XML)文档格式化的此数据时,插件使用可扩展的样式表语言(XSL)文档来将批注数据和架构转换为被着色(rendered)的可呈现的表单。具体来说,XSL文档将数据和架构转换为可以使用诸如MICROSOFT Internet Explorer之类的Web浏览器来向用户呈现的超文本标记语言(HTML)文档。批注架构描述了批注结构,并包括诸如数据输入字段和它们的类型的信息(即,叫做“标题”的字符串字段,叫做“邮政编码”的号码字段,或叫做“AssesedValue”的货币字段)。架构信息可以包含更加高级的信息,如字段的访问控制列表(即,工资字段对于经理组中的用户之外的所有人都是只读的)和有关除了这样的信息之外的必需的或可选的字段的信息。批注数据只包含对于架构中描述的字段存在的实际值(即,邮政编码字段值是02142)。批注-工作流系统通常可以被配置为包含多个批注架构以定义不同类型的批注。适用于批注的特定架构是由用户在创建批注时选择的。然后,批注的唯一标识符与批注工作流服务器所使用的关系数据库内的其架构关联。
一旦如上所述通过诸如MICROSOFT Internet Explorer之类的嵌入Web浏览器组件呈现了批注表单,用户被允许输入和编辑批注的数据。在此情况下,评估员根据批注表单的规定添加有关属性的注释,并将属性的值的最后的评估输入到批注表单中。一旦输入了所有数据,用户点击表单上的“提交”按钮以提交批注数据。此时,插件收集输入的和编辑批注数据,并作为参数将它格式化到发送到批注工作流服务器的另一个HTTP请求中。当服务器接收到此请求时,它将新数据插入到以唯一批注标识符为键的其关系数据库存储中。然后,它查询其配置信息,以判断与该批注的提交关联的下一个工作流步骤。工作流步骤是由系统管理员预先配置的。发现了工作流中的下一个步骤之后,批注工作流服务器执行必需的操作,通常包括将批注放在适当的地方,以供工作流中的下一个用户使用。
在上面的示例中,插件通过HTTP请求进行通信。该通信可以通过多个装置来完成,包括但不限于通过许多不同的传输协议和有线编码或其他分布式计算技术(如组件对象请求代理体系结构(CORBA)甚至简单的基于套接字的自定义TCP协议)的WebService。
本发明的功能可以以软件、固件、硬件或其某些组合来实现。
作为一个示例,本发明的一个或多个方面可以包括在具有计算机可使用的介质的产品中(例如,一个或多个计算机程序产品)。介质中包含了用于提供和促进本发明的功能的计算机可读取的程序代码装置。产品可以作为计算机系统的一部分或单独地销售。
另外,可以提供至少一个由机器可读取的程序存储设备,其中可触摸地包含了由机器可执行的至少一个指令程序以执行本发明的功能。
这里所描述的流程图只是示例。在不偏离本发明的精神的情况下,对这里所描述的这些图表或步骤(或操作)可以有许多更改。例如,可以以不同顺序执行各个步骤,也可以添加、删除或修改步骤。所有这些变化被视为带有权利要求的本发明的一部分。
尽管这里显示和描述了本发明的优选实施例,但是,应该理解,本发明不仅限于这里所说明的准确的结构,在所附的权利要求所定义的本发明的范围内,可以进行所有更改和修改。
权利要求
1.一种进行工作流批注的方法,该方法包括下列步骤从文档存储器中检索文档;将文档与批注存储器中的一个或多个批注相关联,所述批注存储器包括批注和批注键,所述一个或多个批注通过对应的批注键与文档关联;从所述批注存储器中检索一个或多个批注,所述批注通过对应的批注键与文档关联,批注小部件具有对应的批注GUI小部件;在GUI界面上显示文档,显示的文档具有覆盖了显示的文档的预先确定的部分的一个或多个批注GUI小部件,所述一个或多个批注GUI小部件包括第一个批注小部件;通过GUI界面来选择第一个小部件;响应于选择所述第一个小部件,从所述批注存储器中检索第一个批注文档;在GUI界面中显示检索到的第一个批注文档,该文档包括一个或多个字段;通过GUI界面修改一个或多个字段的第一个字段;以及将修改的第一个批注文档提交到批注存储器,所述提交步骤包括执行工作流操作的另一个步骤。
2.根据权利要求1所述的方法,包括下列步骤创建第一个批注文档;将第一个批注文档与第一个批注小部件相关联;创建对应的批注键,所述对应的批注键将第一个批注文档与文档相关联;将文档的位置与小部件关联,所述位置用于显示第一个批注小部件;以及在批注存储器中保存第一个批注文档和对应的批注键。
3.根据权利要求1所述的方法,其中,工作流操作是结束工作流、将工作流转换为下一个工作流步骤、改变第一个批注小部件的外观、改变第一个批注小部件的位置、或将工作流操作通知给另一个用户中的任何一个操作。
4.根据权利要求1所述的方法,包括显示具有显示的文档的任务列表的另一个步骤。
5.根据权利要求1所述的方法,其中,为一个或多个用户角色自定义第一个批注文档,以便对于第一个用户角色和第二个用户角色,以不同的方式显示第一个批注的元素。
6.根据权利要求1所述的方法,批注文档包括一个或多个批注结构,批注结构包括用于提示用户提供批注数据的标题字段,批注文档进一步包括用于接收用户提供的批注数据的数据输入字段。
7.根据权利要求1所述的方法,其中,批注文档包括一个或多个工作流通知批注结构,工作流通知批注结构包括工作流标题字段,所述工作流标题字段用于提示用户提供工作流操作,所述工作流通知批注结构进一步包括用于执行工作流通知操作的工作流通知程序。
8.根据权利要求1所述的方法,其中,执行工作流操作的步骤包括向负责的用户发送通知的另一个步骤,所述负责的用户负责采取与批注关联的工作流中的下一个步骤。
9.根据权利要求8所述的方法,其中,通知包括电子邮件、电话消息、文本消息、即时消息、一部分文档或一部分批注中的任何一个。
10.一种用于工作流批注的计算机程序产品,该计算机程序产品包括由处理电路可读取的存储介质和由处理电路执行以便执行包括下列步骤的方法的存储指令从文档存储器中检索文档;将文档与批注存储器中的一个或多个批注相关联,所述批注存储器包括批注和批注键,所述一个或多个批注通过对应的批注键与文档关联;从所述批注存储器中检索一个或多个批注,所述批注通过对应的批注键与文档关联,批注小部件具有对应的批注GUI小部件;在GUI界面上显示文档,显示的文档具有覆盖了显示的文档的预先确定的部分的一个或多个批注GUI小部件,所述一个或多个批注GUI小部件包括第一个批注小部件;通过GUI界面来选择第一个小部件;响应于选择所述第一个小部件,从所述批注存储器中检索第一个批注文档;在GUI界面中显示检索到的第一个批注文档,该文档包括一个或多个字段;通过GUI界面修改一个或多个字段的第一个字段;以及将修改的第一个批注文档提交到批注存储器,所述提交步骤包括执行工作流操作的另一个步骤。
11.根据权利要求10所述的计算机程序产品包括下列步骤创建第一个批注文档;将第一个批注文档与第一个批注小部件相关联;创建对应的批注键,所述对应的批注键将第一个批注文档与文档相关联;将文档的位置与小部件关联,所述位置用于显示第一个批注小部件;以及在批注存储器中保存第一个批注文档和对应的批注键。
12.根据权利要求10所述的计算机程序产品,其中,工作流操作是结束工作流、将工作流转换为下一个工作流步骤、改变第一个批注小部件的外观、改变第一个批注小部件的位置、或将工作流操作通知给另一个用户中的任何一个操作。
13.根据权利要求10所述的计算机程序产品,包括显示具有显示的文档的任务列表的另一个步骤。
14.根据权利要求10所述的计算机程序产品,其中,为一个或多个用户角色自定义第一个批注文档,以便对于第一个用户角色和第二个用户角色,以不同的方式显示第一个批注的元素。
15.根据权利要求10所述的计算机程序产品,批注文档包括一个或多个批注结构,批注结构包括用于提示用户提供批注数据的标题字段,批注文档进一步包括用于接收用户提供的批注数据的数据输入字段。
16.根据权利要求10所述的计算机程序产品,其中,批注文档包括一个或多个工作流通知批注结构,工作流通知批注结构包括工作流标题字段,所述工作流标题字段用于提示用户提供工作流操作,所述工作流通知批注结构进一步包括用于执行工作流通知操作的工作流通知程序。
17.根据权利要求10所述的计算机程序产品,其中,执行工作流操作的步骤包括向负责的用户发送通知的另一个步骤,所述负责的用户负责采取与批注关联的工作流中的下一个步骤。
18.根据权利要求17所述的计算机程序产品,其中,通知包括电子邮件、电话消息、文本消息、即时消息、一部分文档或一部分批注中的任何一个。
19.一种进行工作流批注的系统,该系统包括网络;与网络进行通信的第一计算机系统,其中,计算机系统包括执行包括下列步骤的方法的指令从文档存储器中检索文档;将文档与批注存储器中的一个或多个批注相关联,所述批注存储器包括批注和批注键,所述一个或多个批注通过对应的批注键与文档关联;从所述批注存储器中检索一个或多个批注,所述批注通过对应的批注键与文档关联,批注小部件具有对应的批注GUI小部件;在GUI界面上显示文档,显示的文档具有覆盖了显示的文档的预先确定的部分的一个或多个批注GUI小部件,所述一个或多个批注GUI小部件包括第一个批注小部件;通过GUI界面来选择第一个小部件;响应于选择所述第一个小部件,从所述批注存储器中检索第一个批注文档;在GUI界面中显示检索到的第一个批注文档,该文档包括一个或多个字段;通过GUI界面修改一个或多个字段的第一个字段;以及将修改的第一个批注文档提交到批注存储器,所述提交步骤包括执行工作流操作的另一个步骤。
20.根据权利要求19所述的系统,包括下列步骤创建第一个批注文档;将第一个批注文档与第一个批注小部件相关联;创建对应的批注键,所述对应的批注键将第一个批注文档与文档相关联;将文档的位置与小部件关联,所述位置用于显示第一个批注小部件;以及在批注存储器中保存第一个批注文档和对应的批注键。
21.根据权利要求19所述的系统,其中,工作流操作是结束工作流、将工作流转换为下一个工作流步骤、改变第一个批注小部件的外观、改变第一个批注小部件的位置、或将工作流操作通知给另一个用户中的任何一个操作。
22.根据权利要求19所述的系统,包括显示具有显示的文档的任务列表的另一个步骤。
23.根据权利要求19所述的系统,其中,为一个或多个用户角色自定义第一个批注文档,以便对于第一个用户角色和第二个用户角色,以不同的方式显示第一个批注的元素。
24.根据权利要求19所述的系统,批注文档包括一个或多个批注结构,批注结构包括用于提示用户提供批注数据的标题字段,批注文档进一步包括用于接收用户提供的批注数据的数据输入字段。
25.根据权利要求19所述的系统,其中,批注文档包括一个或多个工作流通知批注结构,工作流通知批注结构包括工作流标题字段,所述工作流标题字段用于提示用户提供工作流操作,所述工作流通知批注结构进一步包括用于执行工作流通知操作的工作流通知程序。
26.根据权利要求19所述的系统,其中,执行工作流操作的步骤包括向负责的用户发送通知的另一个步骤,所述负责的用户负责采取与批注关联的工作流中的下一个步骤。
27.根据权利要求26所述的系统,其中,通知包括电子邮件、电话消息、文本消息、即时消息、一部分文档或一部分批注中的任何一个。
28.一种进行工作流批注的服务,该服务包括提供目标文档的GUI描述,GUI描述提供位于文档用户定义的位置中的一个或多个批注小部件,其中,批注小部件与一个或多个批注窗口关联,批注窗口提供工作流小部件,用于推进与批注窗口的批注关联的工作流;响应用户选择目标文档上的对应的批注小部件的情况,向用户提供批注窗口;以及通过选择批注窗口的工作流小部件来执行工作流操作。
29.根据权利要求28所述的服务,其中,描述的批注小部件提供了工作流状态的可视指示。
全文摘要
被显示的文档包括批注小部件,小部件与批注文档和批注存储器中的对应的批注键关联。批注文档与工作流操作程序关联。具有预先确定的权限的用户选择小部件,并给该用户提供批注文档。用户执行修改批注文档的批注任务,并将批注文档提交到批注存储器,该提交触发工作流操作程序将工作流进入到另一个步骤。
文档编号G06F17/30GK1841421SQ200510118679
公开日2006年10月4日 申请日期2005年11月7日 优先权日2004年11月8日
发明者约迪·A.·阿尔伯诺兹, 李·D.·菲根鲍姆, 肖恩·J.·马丁, 西蒙·L.·马丁, 洛尼·A.·麦克卡尔洛, 伊莱亚斯·特里斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1