内容管理系统及在其中报告多个对象的计算机实现方法
【技术领域】
[0001 ]本技术总体涉及内容管理,并且更具体地涉及企业内容管理中的对象报告。
【背景技术】
[0002] 用户因他们从任何地方、在任何时间、从任何设备进行的无处不在的和受管理的 访问而越来越依赖于内容管理系统。然而,一些现有技术的内容管理系统不具有自己的报 告工具,其用户需要使用第三方报告工具,这需要用户建立完全独立的数据存储、从内容管 理系统取得数据、并且将数据移动并转换到第三方报告工具。虽然一些现有技术的内容管 理系统具有自己的报告工具,但是其对文档或工作流是严格的,并且通常每个文档一行数 据,因此非常不灵活。图1示出了由这种现有技术的内容管理系统报告工具提供的示例性报 告页面。
[0003] 因此,理想的是能够在内容管理系统中实现数据相关,使得用户可以使用复杂对 象以灵活的格式定义或报告实时数据。
【发明内容】
[0004] 本公开的主题涉及在内容管理系统中报告多个对象的方法,该方法包括:在存储 装置中存储多个对象;接收定义了第一对象和第二对象以及第一和第二对象之间的关系的 报告类型定义;为报告类型定义生成多对象查询语言语句;将多对象查询语言语句拆分成 第一查询和第二查询,其中,第一查询对应于第一对象,第二查询对应于第二对象;为第一 查询和第二查询生成索引访问查询定义;从基于Lucene的搜索引擎提取对应于索引访问查 询定义中的第一查询的第一对象的ID和对应于索引访问查询定义中的第二查询的第二对 象的ID;连接所提取的第一对象的ID和所提取的第二对象的ID。
【附图说明】
[0005] 图1示出了由现有技术的内容管理系统中的报告工具提供的示例性报告页面。 [0006]图2示出了其中可以实现本发明的企业内容管理架构的示例性高级框图。
[0007]图3示出了计算装置的示例性框图。
[0008]图4示出了用户计算装置的示例性高级框图。
[0009] 图5示出了根据本发明一个实施例的图2中示出的企业内容管理架构中的报告执 行引擎的示例性高级框图。
[0010] 图6示出了根据本发明一个实施例的图2中示出的企业内容管理架构中的查询语 言执行引擎的示例性高级框图。
[0011] 图7示出了根据本发明一个实施例的图2中示出的企业内容管理架构中的成本优 化引擎的示例性高级框图。
[0012] 图8示出了根据本发明一个实施例的图2中示出的企业内容管理架构中的索引访 问提取引擎的示例性高级框图。
[0013] 图9A和9B示出了根据本发明一个实施例的用于在图2中示出的企业内容管理架构 中报告多个对象的方法的示例性流程图。
[0014] 图10示出了根据本发明一个实施例的用于启动多对象报告的示例性图形用户界 面(⑶I)。
[0015] 图11示出了根据本发明一个实施例的用于接收报告的用户定义的示例性GUI。 [0016]图12示出了根据本发明一个实施例的用于成本优化的方法的示例性流程图。
[0017] 图13示出了用于在内容管理系统中显示文档的示例性GUI。
[0018] 图14示出了连接之后所得到的索引文件的实例。
[0019] 图15示出了根据本发明一个实施例的用于显示所生成的多对象报告的实例的 GUI。
【具体实施方式】
[0020] 以下给出的详细说明书旨在作为本技术的各种配置的说明,而不旨在仅表示其中 可以实践本技术的配置。附图被纳入并构成详细说明书的一部分。为了提供对本技术的透 彻理解,详细说明书包括了具体细节。然而,本技术不限于这里给出的具体细节,并且可以 在没有这些具体细节的情况下实践。在一些情况下,为了避免模糊本技术的概念,以框图形 式示出了公知的结构和部件。
[0021] 本技术致力于提供一种用于在内容管理系统中报告多个对象的技术。对象可以是 动态可变项,例如,表格。对象可以灵活的格式存储,并且在搜索引擎中索引。搜索引擎例如 可以是基于Lucene的搜索引擎,其基于含有文本字段的文档的想法。该灵活性允许Lucene 的API不依赖于文件格式。来自FOFAHTMI^Microsoft WorcUOpenDocument文档以及许多其 他的文本都可被索引,只要其文本信息可被提取。可以由内容管理系统的服务供应商或用 户根据所管理的内容或者其一部分(例如,产品、文档、或国家)来定义对象。
[0022] 在内容管理系统中,文档可以具有多个属性,例如,产品、国家、文件名、文件大小、 文件类型、以及是否被批准。这些属性中的一个或多个可以进一步与多个属性相关,例如, 姓名、昵称、缩写、以及产品类型。当用户在内容管理系统中创建文档时,可以要求他/她提 供这些属性。利用这些属性,用户可以聚合数据,以找到具有特定属性(例如,产品类型)的 所有文档,并且可被提供有例如计数(例如通过产品类型或通过国家)、取平均、以及求和的 聚合功能。用户还可以将数据分组,例如,请求首先通过产品类型、其次通过国家将数据分 组的报告。因此,即使仅仅具有线索(pointer)的对象,也可以是非常复杂的对象。内容管理 系统需要能够例如通过提供仅示出其产品类型是的胆固醇药物的文档的报告,对其进行报 告和过滤。
[0023] 本发明的内容管理系统可以保持对象的结构化并且分离、隔离数据,然后响应于 查询根据要求进行连接,而不是保持其中的一切都是非规范化的单个大对象且每当有任何 变化时用户都需要重新索引搜索标准。将数据分成小片允许内容管理系统更加高效和灵 活,并且更易于维护。
[0024] 搜索引擎可以取得存储装置中存储的对象,并且连接引擎可以连接从搜索引擎返 回的对象并且将它们变成复合对象。该信息然后可以以具有驱动对象或主要对象并且每个 对象与该驱动对象的关联的格式显示。当存在多个对象时,一个连接与另一个连接之间的 关系可能很不同。例如,内容管理系统中的文档可以具有15个产品,但只有一个是国家,是 不同的对象。因此,这些单个对象都明显不同,但是相关联。用户可以在这些对象的每个中 进行排序,而实际上不会影响驱动对象的排序。
[0025]在一个实施例中,可以使用搜索引擎(例如,基于Lucene的搜索引擎)作为对象的 快速数据存储。当报告的用户定义要求连接时,可以使用基于数据库的索引访问方法和标 准哈希连接来写基于Lucene的搜索引擎的连接,以取得单独的Lucene索引并且将它们连接 在一起以创建连接对象。该索引访问方法可以例如是索引顺序访问方法("I SAM")或虚拟存 储访问方法("VSAM")。
[0026]图2示出了其中可以实现本发明的企业内容管理架构200的示例性高级框图。企业 可以是商业或组织。如图所示,架构200可以包括内容管理系统210、经由网络250彼此耦合 的多个用户计算装置220&、22013、-_22011。内容管理系统210可以包括内容存储装置211和内 容管理服务器212。网络250可以包括一种或多种通信网络,例如,局域网("LAN")、广域网 ("WAN")、内部网络、互联网络(例如,Internet)、电信网络、有线或无线的对等(peer-to-peer)网络(例如,自组对等网络)。
[0027]用户计算装置220a_220n可以是用于用户经由网络250访问内容管理系统210的任 何机器或系统,并且可以是任何市售的计算装置,包括笔记本电脑、台式计算机、移动电话、 智能电话、平板电脑、上网本、以及个人数字助理(PDA)。客户端应用程序221可以从例如用 户计算装置220a运行,并且经由网络250访问内容管理系统210中的内容。图4更详细地示出 了用户计算装置220a-220n。
[0028] 内容存储装置211可以存储用户计算装置220a_220n中的客户端应用程序(例如, 221)可以访问的内容,并且可以是任意市售存储装置。在一个实施例中,内容存储装置211 可以存储电子试验主文件("eTMF"),该文件是用于记录药物将要进行的过程的主文件,并 且使得赞助商和合同研究组织("CR0")可以在试验的设置、执行、和存档的每个点都可以实 时访问临床文献。在该文档上,可以有称为"site"的对象,例如,测试药物的位置。该文档还 可以与"study"(学习)相关,并且该study可以具有多个不同属性,例如,学习的类型。
[0029] 在一个实施例中,内容存储装置211可以存储用户的安全和专有内容,诸如产品配 方、标准操作程序("S0P")、变化控制、以及各种FDA授权的电子文件,以帮助制药、生物技 术、和医疗产品公司提高质量控制、安全性、和合规性。用户可以创建、审核、批准、发布和制 定有效的S0P以及具有核心版本控制、文件状态、以及完整的审计跟踪