用于实现多应用程序标签和标签集的系统和方法

文档序号:6566777阅读:241来源:国知局
专利名称:用于实现多应用程序标签和标签集的系统和方法
用于实现多应用^m蔬和t^集的系统和方法
参考"序列歹拨",表格,或附属提交在计穀几光盘上的计穀几禾骄列表 不可适用
背景技术
本发明总体上涉及类鄉库,具体而言,涉及创建和显示用于在多成员组和/
或多申请f好居库系纟,使用的顾客标签和标签^xm的系统和方法。
在多成员组数据库系统里,诸如使用多成员组结构的salesforce.com服务, 其中顾客组织(即成员组)共享储藏在逻辑数据库里的应用程序、数据和数据 库资源。所述数据库表本身通常被共享。例如,在数据模型里的每个实体通 常包含为每个成员组区别行的o堪anizationjd歹i」。在成员组的上下文里的所有 查询和数据操作在这个(索引)o堪anizationjd列上过滤来确保适当的安全和虚 拟私有数据库的外形。在salesforce.com系统里,例如使用这个策略为顾客显示 诸如帐号、联系人、引导和机会等标准条目实体。
然而,顾客希望除已经提供的标7侮像和标准应用以外,可能希望添加他 们自己定义的S豫和应用,歸到P服系统。在传统客户沛服务器应用,M^里, 其中顾客具有它自身的物理数据库,添加自定义对象通常是通逝寸照所述数据 库的DDL (数据定义语言)来创建新物理模式表格和列来实现的。在诸如 salesforce.com月艮务的在线多成员组 库系统里,因为各种原因,这种方法是 支持不住的。例如,因为数据库系统具有大量成员(例如大约1,000或10,000 或更多成员),所有期望方案的合并伶覆誠层的类娥字典目录(例如Oracle词 典)。此外,所有这种方^)(寸象的维护对于DBA (数据库管理员)将是几乎不 可能的负担。此外,当前关系数据库不够为组织支持在线DDL(在高度并行处 理系统里)以保,f^截虫立。具体来讲,由一个组织的方案的创建可以为所有 其它不可接受延迟的顾客锁定应用程序。
2004年4月2日提出的美国专利申请序号为10/817,161、标题为"在多成 员组l^库系统里的顾客实体和字段(Custom Entities and Fields in a Multi -TenantDatabaseSystem)",其在此处通过参考其全部l^用,公开了用于创建和
7自定义诸如实体和字段的,的系统和方法。在其中提供的系统和方法提出一 种弹性方法来在固定物理模式里存储变量方案数据以便克服以上所述以及其它 问题。
然而,P余提供创建诸如实体和字段的顾客繊库緣的能力以外,还希望 提供允许用户容易和便利地在用户或用户群之中共享这种标准和自定jm^以 及应用禾M/^的共對莫式。戶/M共對莫式应该允许用户创建提供用户访问到各种 目标以及应用,M^元件的顾^4见图。这种共享模式也应该为单个用户提供自定 义模型的单个视图的能九以便向用户劍共更方便、便于4OT者操作的数据库和
应用禾Mr芋用户接口环境。

发明内容
本发明J^共一种新的共享模式,其允许用户容易地并便利地在用户或用户 群之中创建和共享标准以及自定义對居库^樣、以及应用超争。
根据本发明,所述共享模式提供允许用户创建以及自定义定义了对象和字
段、标7tx,p字段、以及应用禾旨之间的关系的i^和i^集的系统和方法。
可视标签表^4A应用禾OT的元件或iiA类射居库对象的用户接口 。标签的选择 提供到由所述^^表示的应用程序的x^^元件的用户访问。标签集是一组关
系标签,其像一个单元一样工作来^f共应用禾,功能。可以定义新^^和^^ 集以及可以自定义标签集视图以便最终用户可以容易并便利地在由所显示的标
签和标签集视图表示的各种,和应用禾M^元件之间转换。依照此方式,标签 和标签集可以用作用于在诸如请求的基于网络的主机应用环境的多个应用环境 里,Wa之间和在应用程序之间切换的装置。此外,'通过使用简档,标签集 的创建者或其它具有适当权限的用户可以定义哪个用户能看见并使用标签集定
义,并由此哪个用户被允许访问在标签集定义里的标,供访问的自定3am
和应用辦。
参考说明书的其余部分,包括附图和权禾腰求书,将了解本发明的其他特 征和优势。下面参考附图详细说明本发明的其它特征和优势以及本发明各种实 施例的结构和操作。在戶,附图中,相同的附图^i己指示相同的或功會th类似 的元件。


图1举例说明了在其中可以使用多成员组数据库系统的环境。图2更详细的举例说明了图1的元件和各种互连。
图3是根据一个实施例,由主机系统提供的标准标签集定义的用户接口 (UI)视图。
图4根据一个实施例举例说明了包括t礎集的示例性UI的各个方面。 图5根据一个方面示出了支持不同视图标签模式的"MTabs (所有标签)" 页面的示例。
图6根据一个方面,示出了OT的示例,该页面^f共用户完全地自定义每 个标签集、指定哪个禾礎iaA哪个牛礎集以及那些禾礎的顺序的能力。
图7根据一个方面示出了标签集视图歹據页面的示例,其允许用户创建并 自定义标签集。
图8根据一个方面示出了第一标签集创建向导页面的示例。 图9根据一个方面示出了第二丰蔬集创建向导页面的示例,其允许用户提 供自定义商标。
图10根据一个方面示出了第三标签集创建向导页面的示例,其允许用户指 定哪个标签属于新建标签集,以及他们将要显示的顺序。
图11根据一个方面示出了第四向导页面的示例,其允许用户指定标签集的 可见性。
图12根据一个方面示出了标签集详细页面的示例,其为存在的标签集示出 了细节。
图13根据一个方面示出了在用户选择删除动作的时候呈现的页面的示例。 图14根据一个方面示出了#^列表视图页面的示例,其允许用户创建并自 定义紘
图15根据一个方面示出了第一标签创建向导页面的示例。 图16根据一个方面示出了第二禾^创建向导页面的示例。 图17示出了包括用于Custom Object Tabs (自定j0^^^)和Web Tabs (网络标签)的新建动作的附加步骤的向导页面的示例。
图18示出了显示如同图19中示出的简档编辑页面中产生的选择的详细的 简档详细页面的示例。
图19根据一个方面示出了简档编辑页面的示例。
具体实施方式
图1举例说明了在其中可以使用多成员组数据库系统的环境。如图1中所 示那样(在图2里更详细),任何用户系统12 f,具有多成员组数据库系统
(MTS) 16的网络14相互作用。那些用户系统12的用户可以是在不同容量里 的用户以及特定的用户系统12的容量可以完全地由用于当前用户的权限确定。 例如,其中推销员使用特定的用户系统12来与MTS16交互,那些用户系统具 有分配给那些推销员的容量。然而,虽然管理员f顿那个用户系统与MTS 16 交互,那个用户系统具有分配给那个管理员的容量。由此,根据用户的权限7jC 平,在访问和更改应用,歸和数据库信息,包括标签以及标签集定义和简档信 息方面,不同用户将具有不同的能力。 —
网络14可以是LAN (局域网),WAN (广域网),无线网络,点到点网络, 星形网络,令牌环网,集线器网络或其它结构。因为目前正在使用的最通用网 络类型是TCP/IP (传输控制幼议和网际协议)网络,诸如通常被称为具有大写 "I"的"Internet (因特网)"的全局网际网络,因此期每在此处的许多示例里4顿。 然而,应该理解的是,虽然TCP/IP是当f滩荐的协议,但本发明使用的网络没 有如此限制。
用户系统12使用TCP/IP与MTS 16通信,以及在较高网络级4OT其它通 用网际协议来通信,诸如HTIP, FTT, AFS, WAP等等。举例来说,HTTP 时,用户系统12包手誕常称为"浏览器"的HTTP客户端用于从在MTS 16的 HTTP服务器发送和接收HTTP瓶息。这禾中HTTP服务器可以实现为在MTS 16 和网络14之间的专用网络矛妾口,但也可以使用或改为其它技术。在一些实现 方式里,在MTS 16和网络4之间的接口包括负载共享功能,诸如循环的HTTP 请求分配器,来平衡负载并在多个服务器上均匀地分配输入的HTTP请求。优 选的是,多个服务器的W^有权访问MTS的数据,至少就访问服务器的用户而 言是这样。
在优选的方面,图1中示出的系统实现基于网页的自定义关系管理(CRM) 系统。例如,在一个方面中,MTS16可以包括配置为实现并执行CRM软件应 用程序,以及为用户系统12和从用户系统12提供相关数据,代码,表格,网 页以及其他信息,并存储到与数据库系统相关的数据、,和网页内容中,以 及从与类娜库系统相关的类妇居、X^f,页内容中检索。禾拥多成员组系统, 成员组数据被更好地设置以便一个成员组的数据保持独立于其它成员组的数据,以便一个成员组不具有对另一个的数据的访问,除非这种数据被明确地共
享。然而,应该知道系统16还可以执行不同于CRM应用禾聘或除CRM应用 程序以外的应用程序。例如系统16可以为包括CRM应用禾歸的多个主机应用 禾1JW供成员组访问。
用于MTS 16的元件的一个配置在图1中示出了,包括网络接口 20,用于 成员组数据的储存器22,用于可访问MTS 16以及可能多个成员组的系统 的储存器24,以及用于执行MTS16的各个功能的禾,代码26,以及用于执行 MTS系统进程和具体成员组处理的进程空间28,诸如作为应用主机服务一部分 的运行应用辦。
如图1显示的一些元件包括传统的公知的在此不需详述的元件。例如,每 个用户系统12可以包括台式个人计##1,工作站,膝上型电脑,PDA,便携电 话或ftf可允许WAP的设备或任何其它能够直接或间接地连接到因特网或其它 网络连接的计算设备。用户系统12通常运行HTTP客户端,例如浏览程序, 诸如微软公司的Internet Explorer 浏览器,美国Netscape公司的Navigator 浏 览器,Opera的浏览器,或在便携电话、PDA或其他的无线设备等等的情况下 是允许WAP的浏览器。允许用户系统12的用户(CRM系统的预订者)经由网 络14访问、处理和浏览信息、页面和MTS 16可以利用的应用giW个用户系 统12通常包括一个或多个用户接口设备,诸如键盘,鼠标,触摸屏,笔等等, 用于与由在显示器(例如监视屏,LCD显示器等等)上的浏览器提供的图形用 户界面(GUI)连同由MTS16或其它系统劍艮务器提供的页面、表格、应用程 序以及其他信息CT。例如,用户接口设备可用于选择l礎和^礎集并另外允 许用户与此处所述的各个GUI页面交互。
如上所述,本发明适用于与因特网一起使用,其指的是特定的全局网际网 络。然而,应该理解的是,可以4顿除了因特网的其它网络,诸如内联网,外 联网,虚拟专用网络(VPN),基于非TCP/IP的网络,倒可LAN或WAN等等。
根据一个实施例,每个用户系统12和所有它的组件是使用应用程序可配置 的操作者,诸如浏览器,包括使用诸如英特尔奔腾处理器等等的中央处理单元 运行的计算机代码。同样地,MTS16 (和MTS的附加实例,其中存在一个以 上)和所有它们的组件可以是使用包括使用诸如英特尔奔腾处理器等等的中央 处理单元或多个处理器单元运行的计^M代码的应用fM^可配置的操作者。此处戶/M的用于运行和配置MTS 16来互相通信并处理网页、应用程序以及其它
数据和媒体内容的计算机代码 被下载和存储在硬盘上,但整个禾,代码或 它的部分也可以存储在任何其他的易失的或非易失性存储器介质或众所周知的
设备中,诸如ROM或RAM,或i^共在ftj可能够存储禾i^代码的介质上,诸如 光盘(CD)介质,数字通用盘(DVD)介质,软盘等等。此外, ^旨代 码或它的部分可以是从软件源传输和下载,例如经由因特网,或从另一个众所 周知服务器传 俞或下载,或^[顿倒可^iff周知的通信介质和协议(例如TCP/IP, HTIP, HTIPS,以太网等等),经由任何其它^M周知的传统网络连接(例如 外联网,VPN, LAN等等)传输。同样将知道,用于执行本发明各方面的计 算机代码可以以任何可以在服务器或服务器系统上执行的程序设计语言实现, 例如以C语言,C++, HTML,任何其它牛斜己语言,Java, JavaScript,诸如VBScript 的任何其它命令式语言程序,和许多其它众所周知的编程语言。
根据一个实施例,旨MTS16被配置为向用户系统12提供网页、表格、 应用程序、数据和媒体内容来支持作为MTS 16的成员组的用户系统12的访问。 这样,MTS16提供安全机制来保t^个成员组的i[^独立,除非该 是共享 的。如果4顿一个以上MTS,他们可以是位于互相接近的位置(例如在位于单 个建筑物或校园的服务器场里),或他们可以是分布在彼此很远的位置(例如, 位于城市A的一个或多个服务器和位于城市B的一个或多个服务器)。正如此
处使用的那样,旨MTS可以包括一个或多个逻Wn/或物理连接的、本地分
配或跨越一个或多个地理位置分配的服务器。此外,术语"服务器"意欲包括 包含处理硬件和进程空间,和关联的存储系统和在现有技术里众所周知的数据 库应用禾Mi^ (OODBMS或RDBMS)的计^m系统。还应该理解的是,"服务 器系统"和"服务器"在此经常是可互换地使用。同样地,此处所述的数据库 可以实现作为单个数据库,分布式数据库,分布式数据库的集合,具有冗余在 线或离线备份或其它冗余的数据库等等,并可以包括分布式数据库或存储网络 和相关的处理智能。
图2更详细的举例说明了MTS16的元件和各种互连。叙b例子中,该网 络接口实现为一个或多个HTTP应用服务器100。此外示出的是包括单个成员 组进程空间104,系统数据库106,成员组数据库108和成员组管理程序空间110 的系统进程空间102。成员组数据库108可以被被分成单个成员组存储区域
12112,其可以是物理排列或逻辑排列。在針成员组存储区域112内,用户储
存器114可以同样地分配纟^1^用户。
可以理解*应用服务器ioo M31不同的网^l连接,可以通信i,接如系
统数据库106和成员娜库108的类媚库系统。例如, 一个服务器IOO,可以通 过因特网14连接,另一个服务器100n-,可以M:直接网络链路连接,以及另一 个服务器100N可以由不同网络连接连接。传输控制切议以及网际协议(TCP/IP)
是推荐的用于在服务器ioo和i媚库系统之间通信的协议,然而对于本领域技 术人员显而易见的是可以根据使用的网络互连,使用其它传^rt办议来优化系统。
在雌的方面,針应用服务器100被配置为处理任何用户/组织请求。因
为能够为任何原因随时从服务器库添加和册滁服务器是所希望的,因此4m的 是,对于用户和减组织到特定的应用服务器腦没有服务器亲合力。因此在一
个实施例中,实现负载平衡功能(侈咖F5 Big—IP负载平衡器)的接口系统(未 示出)魏信i條接在服务器訓和用户系统12之间,来分配请求至鹏务器100。
在一个方面中,负载平衡器使用最少连接算^*路由用户请求到服务器ioo。此
外可以使用其它负载平衡算法的示例,诸如循环复用和观测响应时间。例如, 在某些方面,来自相同用户的三个连续请求可以命中三个不同服务器,以及来
自不同用户的三个请求可以命中相同服务器。依照此方式,MTS 16是多成员 组,在其中MTS 16处理跨越不同的用户以及组织的不同対l、数据以^Z用 程序的储存和X寸其的访问。
作为存储器的一个例子, 一个成员组可以是雇用销售人员的公司,其中每 个推销员使用MTS 16来管理它们的销售处理。由此,用户可以保留接点 , 前导数据,自定义后续检査数据,工作数据,目标和进展数据等等对于那个用 户的个人销售处理所有可利用的数据(例如在成员组数据库108里)。在i^ MTS结构里,由于所有这种类娥和用于存取、浏览、更改、报告、传输计算等 等的应用程序可以保留并由仅仅可以进行网络访问的用户系统访问,用户可以 根据许多不同用户系统的任何一个管理他或者她的销售工作和周期。例如,如 果推销员正在访问顾客,并且该顾客在它们的休息室里可以因特网访问,该推 销员可以在等待顾客到达该休息室的时候获得该顾客的关键的更新。
虽然不考虑每个用户的雇主,每个用户的销售数据可以是3^:于其它用户
的销售数据,但对于也就是成员组的给定组织, 一些数据可以是共享的或可由多个用户或所有销售人员访问全机构的数据。由此,可以有一些由MTS16管 理的数据结构,其配置在成员组级,而其它数据结构可以在用户级管理。因为
MTS可以支持多个包括可能竞争者的成员组,该MTS应该具有保持 、应 用程序和应用程序使用分离的安全协议。此外,因为许多成员组将选择访问 MTS而不是保留他们自己的系统,冗余、可用时间和Mj、是更多关键的功能并 必须在MTS里实现。
除用户指定数据和成员指定数据以外,MTS 16也可以保留由多个成员组可 用的系统级数据或其它M。这种系统级 可以包括行业报告,新闻,由附 等等,其可在成员组之中共享。
在某些方面,客户端系统12与应用服务器100通信来从MTS 16请求和更 新系统级和成员组级数据,其需要到数据库系统106和/或类好居库系统108的一 个或多个査询。MTS16 (例如在MTS16里的应用服务器)自动地生成一个或 多个设计成能访问所希望的信息的SQL说明(SQL查询)。
每个辦居库通常可以作为只豫集合浏览,诸如逻辑表集合,包含方爐预定 类别的数据。
一个"表格"是一个 乂豫的表示,以及在此^ffl来简化根据
本发明的x微咱定3a像的扭綠描述。应该理解的是,"表格"以及"X豫"
在此可互换地使用。每,格通常在可浏览的略图里包含逻辑上设置为列或字 段的一个或多个数据类别。表格的每个行或记录包含用于由字段定义的每个类 别的数据的实例。例如,CRM娄娥库可以包括一,格,其描述具有用于基 本联系信息,诸如名称,地址,电话号码,传真号码等等的字段的顾客。另一 个表格可以描述包括用于诸如顾客、产品、销售价格、日期、等等信息的字段 的购货单。在一些多成员组数据库系统里,标准实体表格可以提供给所有成员 组使用。对于CRM数据库应用程序,这种标准实体可以包括用于帐号、联系 人、提示以及机会数据的表格,每个包含预定义的字段。
根据一个方面,用户可以设计其自定义应用程序,包括自定义目标,自定 义标签,自定义字段和自定义页面版面。2004年4月2日提出的美国专利申请 序号为10/817,161 、标题为"在多成员组fdg库系统里的顾客实体和字段(Custom Entities and Fields in a Multi - Tenant Database System) ", fflil弓l用其全部被预先采 用,公幵了用于创建和自定义诸如实体和字段的赠的系统和方法。i顿本发
明的技术,可以创建和自定义标签以及标签集来定义自定jwm和字段、标准X豫和字段,以及应用程序之间的关系,以^ig5宗有关的数据。 自定义驗和磁集
根据本发明,标签通常表^4A应用程序的元件或;1A数据库X^的用户 接口 。标签的选择提供到由所述标签表示的应用程序的对象或元件的用户访 问。标签集是一组有关的标签,其像一个单元一样工作来Jif共应用程序功能。 本发明允许新建标签和标签集被定义并允许标签集视图被自定义以便最终用户 可以容易并便利地在由所显示的标签和^^集表示的各种对象和应用禾M)f,元件 之间转换。在一个方面中,例如,标签和i^集可用作用于在诸如请求的基于 网络的主机应用环境的多个应用环境里,在对象之间和在应用,,之间切换的 装置。
在一个实施例中,标签集包括名称,商标,和标签的有序列表。通常在图 形用户界面(GUI)环境里浏览l礎集,例如J顿在用户的计^M系统上运行的 浏览器应用禾骄。例如,图3举例说明了标签集的一咅盼GUI视图的示例。如 图3所示,当前选择的标签集100包括商标1〗0和标签 择器120,当多个标 签ft)(寸于用户的选择是可用的时候,tt^只包括一个。标签 择器120在某 些方面包括下拉列表或拾取列表,其在提供多个标签集的时候可利用,并且用 来在可用的标签集之间转换。当用户改变选择的时候,基于选择的标签集定义 改顿示的标签,f碟的顺序和"新建xxx"条。
在图3中示出的t^集表示由例如MTS 16的主机系统掛共的标准标签集 定义。标准标签集是预定义的禾雜集合,例如从源中输入,该源提供容量(例
如模板容量)以确定哪个标签、标签集和idg是最初准备给成员组或用户的。标
准标签集的一个示例是由salesforce.com网站通过它的预订CRM服务提供的。 使用这些标准标签集,给用户提供对标准表格或诸如帐号、联系人、提示和机 会实体的实体的访问。例如,在图3中示出了表示salesforce.com帐号,联系人, 提示和机会实体及其他的^^。作为另一例子,salesforce.com此外提供创建自 定义实体以及用于标准实体的自定义字段的能力。利用本发明,用户可以创建 包括表示自定义实体和字段的标签的标签集。
根据一个方面,用户可以创建自定义标签集和自定义标签。1M的是,基 于存储的他们的权限,只有管理员级用户具有标签集创建功能。此外,用户可 以自定义他们的标签集视图,包括显示的标签的顺序和标签集里的哪个标签被显示。为允许用户便利地组织他们的,,,如果希望,^Nf^可以出现在任 何^^f有标签集中。雌的是,招可用户可以编^f签组合柳,,但不能重 命名或更换商标;标签集名称和商标选择1M只有管理员级功能。例如,管理 员可以创建新^^集和自定义存在的标签集。X寸于所有纟^集,管理员可以指 定哪个l^被包括,以及签应该显示的顺、序。为特定组织的标签集,管理员还 可以指定名称以及提供随意的商标。对于由主机系统提供的标准禾/遂集,例如
由salesforce.com提供的标签集,诸如Salesforce.com以及Supportforce.com标签
集,优选的是管理员不能改变戶,名称或商标,管理员也不可以删除该标准标 签集。{媳的是,任何用户可以完全地自定义他们的具有浏览权限的所有标签 集的视图。对于只有能访问单个标签集的用户,在一个方面中,这些用户不能 看见标签 择器120。作为以下将i,,用户可以看见的^^是以用户的权 限级为基准的。用于每个f^集的简档允许管理员级用户设定^^和S^集的 简档级可视性,例如以便在某些权限级的用户群被限制浏览某些标签或杏遂集,
因此同柳蹄ij访问或浏览由所限制+碟或t/遂集弓间的特定只微n应用禾骄。
因此,在一方面,标签组可以被认为一个过滤器,其覆盖一个已存在的简 档级标签视觉定义之上。管理员设定包括在每个标签集滤过器中的默认标签, 但每个用户可以忽略----他们不能改变的唯一事情是标签集名称和商标。最后结
果是标签集十分的轻便和灵活。没有强制用于1^m集的特定装置;每个用户通 常可以如他们所希望的使用l/,集。 标签设定用户接口
图4根据一个实施例举例说明了包括标签集的示例性UI的各个方面。如 图4所示, 一部分屏幕(例如,^屏幕的右上角^S,其中通常提供Setup (设 置)、Help (帮助)和Training (顺序)、Logout (注销)以及其它链接)可以是 有阴影的或者相反的是显著地显示来指^个区段适用于(例如是不变的)所 有应用程序。对于具有浏览一个以上+^集的权限的那些用户,这部分中也示 出了标签難择器120。如图所示,选择器120包括"S"商标,其在此例子中 用来在请求操作系纟灶标志salesforce.com,以及拾取列表122,列举用户具有 权限浏览的每个标签集。如图4b所示,当用户从拾取歹懷122选择标签集的 时候,标签集的商标被显著地显示,例如在如图所示页面的人手的左上角位置。 如果主机系统没有i^辩識集,例如在此例子中,主机是salesforce.com,并且
16顾客掛共商标(g卩戶服纟礎集没有f顿默认主机商标),那么另外提供的主机图
形,诸如"powered by Customforce.com"图形,可以紧挨着戶脱注册显示在所 述^i吾的右手侧面,如图4c所示。
依照由存储的i^集定义指定的顺序,戶腿标签(除Home标签之外)被 替换为选择的fe^集的^^。作为默认,Homei^被呈现为当前^^。"新 建"条也被替换为用于创建涉及由在选择的标签集里的标签弓l用的那些X寸象的 对象的链接列表。例如图4d所示,如果标签集包括下列标签:Zoos和Monkeys, 那么所述"new (新建)"条将具有如下New Zoo, New Monkey和Recycle Bin。 在"new"条里的链接的顺荆雄匹酉己在禾礎難的标签的顺序,但没有必要如 在图4c中看至啲那样。
在一个方面中,为帮助用户理解标签^^择器120,当鼠标在"S"商标或 者拾取列表122上盘旋的时候,将显满辨華戶脱纟礎集的概念的工具框。
如果用户创建新对象或浏览现有,,并且那个对象没有在选择的标签集 里被引用,那么系统的行为4腿不变,例如,与当浏览或创建不具有禾礎的新 又 时发生的相同。即{数卩个) 在另一个所述用户的标签集里具有标签,优 鹏择的标签集没有改变。4顿最近的项目列表时,tt^列表没有按选择的标 签集定义过滤。如果用户点击不具有在当前标签 显示的标签的项目,将显 示它的详细页面但不会显示它的标签。
图5丰艮据一个方面示出了支持浏览fe^的不同模式的"M Tabs(所有^^)" 页面的示例。禾偶"View"下拉列表(拾取列表)选^t莫式。在一个模式里, MM择"All Tabs",按字母jl醉显示用户能访问看到的所有t蔬。在另一个 模式里,通iH示签集以显示〗吸序组合戶/M标签。如图所示,以显示顺,示出了 用于标准salesforce.com #^集的*^。下拉列表允许用户选出^^集来显示。
图6示出了页面的示例,该页面提供用户完全地自定义針t碟集、指定 哪个标签进入哪个丰礎集以^^些丰礎的顺存的能力。列在决斗列表上的丰礎 包括用于所述用户的简档的没有隐藏的所有标签。如图6所示,用户利用"add" 禾口"Remow"按钮可以指定哪个l/遂属于戶腿择的纟礎集。用户也可以利用"up" 和"Down"按钮重排那些标签应该出现的顺序。用户i^只能够浏览他们具 有权限来看到的标签,不考虑所述标签是否列在标签集上。
图7显示一个^S集视图列表页面的例子,根据一个方面,其允许用户创建和自定义标签集。具有适当权限的任何用户可以管理标签集,例如创建、删
除、编辑等等。如图所示,视图列表ite包括包含用于每个可用的标签集的条
目的可视的表格。每个条目示出了标签集名称和描述。如图所示,视图列表
页面支持新建(New)动作以S^择"New"按钮125 ,'健新建自定义标 签集,支持编车勒作以通31^择编辑选皿126来编截礎集,以及支持删除 动作以iW^择删除选择器127来删除*^^集。
选择新建按钮125启动标签集创建"向导"。图8根据一个方面示出了第 —向导页面的示例。所述向导为用户提供输入框来输入^^集名称(标签)以 及任意的描述。戶腿标签集名称大小J雄限帝U为例如最大长度40个字符。自 定义标签集优选不能以主机系统提供的标准标签集命名。例如,在 salesforce.com提供主机系统的情况下,不能使用"Salesforce", "Supportforce" 以及"Customforce"(有或者没有".com")。优选+蔬集名称也不能包含HTML 字符。
图9根据一个方面示出了第二向导页面的示例,其允许用户提供自定义商 标。当已经在第一页面里的输入信息并且用户选择"下一步"的时候启动第二 页面。如图9所示,用户可以提供用于新建标签集的商标(作为默认,诸如 customforce.com商标的主机系统商标被预先填充)。在已经为系统识别或加载
图像以后,如果图像大于预先确定大小(例如宽度235像素;高度55像素),
可以按比例缩小或剪辑图像。比例将保留原始商标的纵横比。虽然优选.gif图 像,但可以使用其它图像格式,诸如JPEG、位图及其他。
图IO根据一个方面示出了第三向导页面的示例,其允许用户指定哪个^^ 属于新建标签集,以及他们^),显示的顺席。当用户在第二页面里选择"保存" 的时候启动第三页面。如图IO所示,用户利用"add"和"Remove"按钮可以 指定哪个标签属于这个标签集。用户也可以利用"up"和"Down"按钮重排 那些标签应该出现的顺序。用户雌只育的對刘览他们具有权限来看到的禾/遂, 不考虑所述标签是否列在标签集上。
图11根据一个方面示出了第四向导页面的示例,其允许用户指定标签集的 可见性。当用户在第三页面里选择"保存"的时候启动第四页面。如图11所 示,用户为将可用的新建自定义标签集选择用户简档以及选#^个自定义标签 集是否将是默认t礎集。在一个方面中,用户能够禾拥如图所示的一系列可选复选框为*用户简档指定标签集的可见性以及默认行为。
图12示出了标签集详细页面的示例,其为现有的;f示签集示出了细节。细 节信息包括标签、描述、商标,包括的^礎,"created by (由谁创建)"信息以 及"lastupdated (最近Mf )"信息。例如,通过从图7中示出的所有标签页面 (All Tabs page)中选择标签集fei己可以启动这个页面。如图12所示,用户也 可以从这个页面选織辑动作(Editaction)。
例如在图7或图12里,Edit (编辑)动作的选择启动向导,其几乎和由如 上戶;MNew (新建)动作启动的向导一致。然而,细节输入以及商标选择步骤 对由例如是salesforce.com的主机系统提供的标准标签集是无效的。此外,最后 的向导步骤4,包括允许用户指定任何改变是否应该忽略任何用户的个人定制 的复选框。
图13显示了在用户选择删除动作的时候呈现的页面的示例。当选择的时 候,用户被询问哪个其它标签集应该设定为用于那些用户的默认标签集,那些 用户具有将要被删除被选择为默认标签集的标签集。因为标签集被有效地过 滤,因此他们可以丰颇鹏而不影响戶腿简档标签可见性选择。禾礎柳PJ^腿 恢复成当前在前标签集顺序方案(即在固定编码里的标准标签顺序,在创建里 的自定义标签顺序)。
根据一个方面,用户也可创建自定义标签。图14根据一个方面示出了标签 列表视图页面的示例,其允许用户创建并自定义标签。示出的查看列表,包 括包含用于如图所示的每个可用标签的条目的可见表格。每个条目示出了fe^ 样式,描述。如图所示,查看列表页面支持新建(New)动作以通,择"New" 按钮来创建新建自定义标签集,支持编辑动作以通过选择编辑选择器来编辑现 有标签,以及支持删除动作以通M择删除选择器来删除现有标签。此外,优 选只有管理员级用户能访问管理者^^。用户可以创建引用自定Xm的自定 义X豫标签,以及允许用户在窗口内嵌入外部网页应用程序以及内容的网页标 签。
New (新建)按钮的选择启动标签创建"向导"。图15根据一个方面示出 了第一标签创建向导页面的示例。这个向导为用户提供输入 ^街见有自定 3CX^的名称(或选择创建新建自定^X寸象)以及标签样式和任意的I^S述。
图16根据一个方面示出了第二标遂创建向导页面的示例。当在第一 里已经选择或输入信息并且用户选择"下一步"的时候启动第二页面。用户可 以为将可用的新建自定义标签选择用户简档。在一个方面中,用户能够利用如 图所示的一系列可选复选框为每个用户简档指定标签的可见性以及默认行为。
根据一个方面,如图17所示,为自定义又^标签和Web,^的用于New 动作的向导添加了附加的最后一步。在此步骤中,用户指定在哪个标签集中的 新建标签是可视的,以及这个新建^^是否应该附加到用户的现有个人定制里。
在一个方面, 一个新的"标签集设置"部分加到每个简档,,列出所有 标签集,并为简档指定哪个用户可以看见该标签集,以及用户首次登录时(此 后,.当用户登录时选择的标签集优选为用户上次退出时选择的标签集)可以选 择明卩个标签集。如图19的简档编辑页面所示,标签集的可见性是由复选框指示 的(因为用户可以具有对一个以上标签集的访问),但最初应该选择哪些标签集 是由单选按钮指定(那里可以只有一个默认,^集)。图18示出了显示如在图 19的简档编辑页面中产生的选择的细节的简档详细页面的示例。
服务器边操作以及数据模型定义
商标
在一个方面中,用户的标签集定义可以,商标部件。由用户提供的图像 4,是存储在文档里,例如在允许顾客存储任何他们想要的文档类型的文件存 储器模i央或机构里。例如,商标被存为文档,其然后由创建新建1f^集的时候 使用的向导引用。然后自动地生成HTMLIMG标签,其指向(通过URL)文 献库机构里的商标。雌的是,在图像的矩形大小上设定了限制,否则用户通 过发送例如巨大的.gif文件的较大图像来不利地影响UI 。因此,在一个方面中, 根据提供的图像大小,所述图像可以被剪切或调节。例如,如果图像在高度上 大于55像素,以下示例将剪辑图像。
<div style="position:absolute;height:55px; overflow:hidden;">
<img border10 src="xxx.gif'>
々div〉
标签选麟
在一个方面中,在^简档里定义^^选择器中的可用值具有默认值。每 个用户属于一个简档,其用来帮助简化一组用户的管理。戶,默认值^^在用 户登记到系统的时候使用。如果在用户的简档里只有一个i^集,用户不M
20见所述选择器。在某些方面,会话cookie用来保留,^选择器120的当前选择 直到用户退出。保存aAfffi库的用户偏好是保留用户的选择的另一个方式。
多浏览器操作
即使用户开放两个(或更多)浏览器窗口来访问主机系统,优选为每个浏 览器提供每个标签选择器的选择(即标签 择)。在此情况下,它将希望共
享相同会话的^浏览器实例具有它自身的cookie。然而,没有容易的方式来 生成特定的浏览器实例cookie id。在一个方面中,为解决这个瞎况,在标签选 择器上的每个选择变化紧接着调用应用服务器来重新加载D当发生标签 择 的时候,^i舌cookie被设定并被送回所述服务器。然后可以再次设定所述会话 cookie来确定戶诚值被正确地传递到戶/M月艮务器。 用户偏好
用户可以通过自定义哪些标签被放置在所述标签集里以及戶;M标签的顺序
来编辑他们具有权限浏览的旨丰^集。用户可以选择显示的标签tt不局限 于当前的标签集,而是在存储的简档里定义的那些他们看得见的所有丰^。然 而iH己为"Hidden (隐藏)"在用户的简档里的标签是不可选的。 设计
存储器内的数据结构
由于标签 择器和标签被几乎每个页面引用,在一个方面中,标签集信 息l雄高速缓存在相关数据库表里。必要信息可以包括,例如1)針t碟集 (W/标签阵列),2)标签集的集合(用于在简档里构造t礎難择器)以及3) 用于用户偏好的TabSet的集合(主^^集的子集)。 标签集
每个纟絲集包含名称,描述,图像以及^蔬清单,没有默认值。这个信息 不是专用于给定用户,但存在整个组织或成员组里,并被存储在在整个组织中 共享(但不跨越组织共享)的数据库表格中。存在两个fe^集类型标准H 集和自定义标签集。标准标签集由例如salesforce.com的主机系统定义,并且用 户对他们自定义标准标签集的能力是受限制的。
以下是有用的Java类定义和定义所述^^集数据结构的数据库表定义的示

class TabSetlnfo implements SerializableString id;
inttype; 〃 0: Custom, >0: Standard String masterLabel; String documentld; String口 tabs;
在一个方面中,提供给成员组的最初的标签集是在模板里定义的,因此不 同成员组可以从不同的标签集开始,并且那些标签集可以被配置为具有不同标 签。
在一个方面中,每个用户被鹏寸到一个"简档",其为简档中的所有用户定 义许可,包括标签集可视性。为管理这个信息,定义关系为具有默认值标志并 被保存在数据库表里的TabSets列表
Profilelnfo:
String[] tabSetlds; // array of TabSetlnfo IDs. int defaultTabSetlndex; 〃 index in tabSetlds
在一个方面中,因为用户还可以自定义他们的^^集,因此用户的定制被 存储在数据库表中。 考虑API
除了通过网络浏览器提供标签集外,在某些方面,也可通过网络服务器 (SOAP/HTTP) API提供标签集,并因此可通过其他客户端软件实现,包括离 线浏览器,无线客户端等等。当译为Java的时候, 一个有用的API示例如下
public DescribeTabSetResult口 describeTabs 0 throws RemoteException, UnexpectedErrorFault 5
应注意的是,结果是DescribeTabSetResultX豫阵歹U,当译为Java的时候定 义如下
public class DescribeTabSetResult implements java.io.Serializable {
private Java. lang. String label; private Java. lang. String logoUri; private boolean selected;
private com. sforce. soap.partner.DescribeTab [ ] tabs; public DescribeTabSetResult 0 {public Java. lang. String getLabel() { return label;
}
public java.lang.String getLogoUrl () { return logoUrl;
}
public boolean isSelected() {
return selected;
}
public com.sforce.soap.partner.DescribeTab □ getTabs () { return tabs;
}
public void s改Tabs (com.sforce.soap.partner.DescribeTab [] tabs) { this, tabs = tabs;
};
最后,这个分类包括对于DescribeTab 乂豫列表的引用,其可以以如下Java
public class DescribeTab implements java.io.Serializable { private boolean custom; private Java. lang. String label; private Java. lang. String sobjectName; private j ava. lang. String url; public DescribeTab 0 {
public boolean isCustom() { return custom;
public java.lang. String getLabelO {return label;
public Java. lang. String getSobjectName 0 { return sobjectName;
}
public Java. lang. String getUrl() { return url;
};
虽然已经通过示例和根J^寺定的实施例描述了本发明,应该理解的是,本
发明不局限于所述公开的实施例。相反,它意在覆盖对于本领±或技术人员显而 易见的各种改良和类似结构。因此,附加权利要求书的范围应该符合较宽的解 释以便包括所有这种改良和类似的结构。
权利要求
1、一种创建标签集定义的计算机实现方法,包括向用户系统提供通过用户选择可获得的多个标签的列表,每个标签具有存储的标签定义,且每个标签定义到驻留在服务器系统上的对象或应用程序的元件的链接;从所述用户系统接收所述多个标签的一个或多个的选择;从所述用户系统接收表示所述标签集的名称的标记;从所述用户系统接收用于所述标签集的标签集简档指示,所述指示标识多个用户组的哪些被允许访问所述标签集;以及将包括所述名称,标签的选择,以及简档指示的标签集定义存储到所述服务器系统。
2、 如权利要求1所述的方法,其特征在于,所述用户组基于组内的用户
3、 如权利要求l戶脱的方法,还包括响应于来自被允许访问戶脱标签集定义的用户组里第一用户的第一用户系统的请求,在所述第一用户系统显示所 述标签集定义的表示。
4、 如权利要求3戶腿的方法,其特征在于,戶诚表示包括一个或多个标签集名称列表里的标签集的名称。
5、 如权利要求3戶膽的方法,其特征在于,允许戶脱第一用户访问多于一个的标签集,且其中所述禾礎集的名称显示在用于所述第一用户能访问的标 签集的fe^集名称的下拉清单里。
6、 如权利要求3所述的方法,其特征在于,所述标签集定义包括^^集 里的标签的默认显示顺序,所述方法还包括响应于来自戶舰第一用户的请求,重新排序在戶脱^碟集里的标签的显示 顺序为用户定义的显示",;将所述用户定义的显示顺序存储到所述服务器系统里的 库自。
7、 如权利要求3戶腿的方法,其特征在于,戶;f^纟礎集定义包括默认的标签集合,臓方法还包括响应于来自戶腿第一用户的请求,通过以下步骤重新配置戶诚标签集里的标签1) /A^^f^M酴一个或多个默认i^;或2) 添加一个或多个额外才^到戶皿t,集;或3) 从戶/Mf^集删除一个或多个默认标签,以及添加一个或多个额外的标 签到所述t^集;以及存储所述用户重新配置的*^集定义到所述服务器系统里的数据库对象。
8、 如权利要求7戶诚的方法,其特征在于,戶腿重新配置的l絡集定义包括在所述重新配置的标签集里的标签的默认显示顺序,所述方法还包括响应于来自戶腿第一用户的请求,重新排序i^脱重新配置的标签鍵的标签的显示顺序为用户定义的显示顺序;以及将戶腐用户定义的显示顺序存储到戶脱服务器系纟雄的I娥库職。
9、 如权利要求1所述的方法,其特征在于,所述存储的标签集定义包括商标图形,且其中所述商标图形是在用户选择戶;M^^集定义的时候显示。
10、 一种配置为实现数据库对象以及应用程序对象共享模式的计算机系统,爿;M系统包括存储多个数据库x^fn应用稳宇x^的麵库系统;以及通信itt接到所述数据库系统的服务器系统,其中所述服务器系统被配置为经由网络向用户系统樹共由用户选择可获得的多个标签列表,每个标签具 有存储在戶皿数据库系统中的标签定义,且每个标签定义到驻留在所述服务器 系统上的数据库对M应用程序皿的链接;AABM用户系统接收一个或多个所述多个标签的选择;从fM用户系统接收表示戶員标签集的名称的*私己;从戶腿用户系统接收用于戶脱标签集的标签集简档指示,戶腿指示标识多个用户组的哪些被允许访问所述fe^集的;以及将包括名称,标签选择,以及简档指示的标签集定义存储到所述数据库系统。
11、 如权利要求10戶脱的系统,其特征在于,所述服务器系统还被配置为响应于来自用于允许访问所述标签集定义的用户組里的第一用户的第一用户系统的请求,提供显示信号以在戶/M第一用户系纟JtM示戶;M^^集定义的g。
12、 如权利要求11所述的系统,其特征在于,所述第一用户允许访问多 于一个的t礎集,且其中所述t礎集的名称显示在用于所述第一用户能访问的 标签集的标签集名称的下拉清单里。
13、 如权利要求11所述的系统,其特征在于,所述fe^集定义包括在标 签集里的标签的默认显示顺序,其中所述服务器系统还被配置为响应于来自所述第一用户的请求来重新排序戶/Mt^集里的所述标签的显示顺序,存储用户定义的显示顺序到数据库系统的,库x豫里。
14、 如权利要求11所述的系统,其特征在于,所述+^集定义包括^^ 的默认集合,其中所述服务器系统还被配置为响应于来自所述第一用户的请M过下列步骤将用户重新配置的标签集定 义存储到数据库系统的数据库)( ,以重新配置所述i^集里的所述标签1) /A^皿标签集删除一个或多个默认^^;或2) 添加一个或多个额外标签到所述^^集;或3) 从戶;M,,集删除一个或多个默认标签,以及添加一个或多个额外的标签到所述标签集。
15、 如权利要求14所述的系统,其中所述重新配置的标签集定义包括所 述重新配置的标签集里的标签的默认显示顺序,其中所述服务器系统还被配置 为响应于来自第一用户的请求来重新排序所述重新配置的标签集里的标签的 显示顺序为用户定义的显示顺序,将用户定义的显示顺序存储到数据库系统的 娄娥库織里。
16、 一种包括用于控审鹏务器里的处理器以实王1 库^微口应用禾骄对象共^t莫式的代码的计算机可读介质,其中所述服务器是通信地连接到存储多 个数据库对象以及应用禾,^a的数据库系统,所述代码包括用于执行以下步骤的指令经由网络向用户系统提供由用户选择可获得的多个标签列表,*禾礎具 有存储在戶诚数据库系统中的纟/遂定义,且每个标签定义到数据库对象鹏用辦糊勺链接;从戶,用户系统接1|^,多个#^的一个或多,择; /A^M用户系统接收表示戶,^^集合的名称的fei己;从戶/M用户系统接收用于所述^^集的标签集简档指示,所述指示标识多 个用户组的哪些被允许访问所述^^集;以及将包括名称,标签选择,以及简档指示的标签集定义存储到所述数据库系
17、 如权利要求16所述的计^tfl可读介质,其中戶,代码还包括指令用 于响应于从用于在允许访问所述标签集定义的用户组里的第一用户的第一用户 系统接'收的请求,^f共显示信号以在第一用户系统显示戶,标签集定义的表示。
18、 如权禾腰求16戶腿的计^m可读介质,其中戶鹏第一用户允许访问多于一个的标签集,且其中所述标签集的名称显示在用于所述第一用户育gi方问 的丰^集的i^集名称的下拉清单里。
19、 如权利要求16所述的计算机可读介质,其中所述fe^集定义包括在所述标签集里的标签的默认显示顺序,且其中所述代码还包括指令用于响应于 来自所述第一用户的请求来重新排序在所述标签集里的标签的显示顺序,存储 用户定义的显示顺序到数据库系统的数据库对象里。
20、 如权利要求16所述的计算机可读介质,其中所述^^集定义包括标签的默认集合,且其中所述代码还包括指令用于响应于来自第一用户的请求 过下述重新配置所述标签,存储用户重新配置的标签集定义到数据库系统的,库赠里1 ) MM終集删除一个或多个默认絡或2) 添加一个或多个额外t雜到戶;M^^集;或3) 从M^标签集删除一个或多个默认标签,以及添加一个或多个额外的标签到戶;Mi^集。
21、 如权禾腰求20戶服的计^t几可读介质,其中戶脱重新配置的标签集定义包括在戶微重新配置的纟礎mm的标签的默认显示顺序,且其中所述代码还 包括指令来响应于来自所述第一用户的请求来重新排列在所述重新配置的标签 集里的标签的显示顺序为用户定义的显示顺序,存储用户定义的显示顺序到数据库系统的数据库对象里。
全文摘要
一种共享模式,其允许用户容易地并便利地在用户或用户群之中创建和共享标准以及自定义数据库对象、以及应用程序。所述共享模式包括允许用户便利地创建以及自定义那些定义自定义对象和字段、标准对象和字段、以及应用程序之间的关系的标签和标签集的系统和方法。可视标签表示进入应用程序的元件或进入数据库对象的用户接口。标签的选择提供到由所述标签表示的应用程序的对象或元件的用户访问。标签集是一组有关的标签,其像一个单元一样工作来提供应用程序功能。可以定义新标签和标签集以及可以自定义标签集视图以便最终用户可以容易并便利地在由所显示的标签和标签集视图表示的各种对象和应用程序元件之间转换。
文档编号G06F3/048GK101427208SQ200680007168
公开日2009年5月6日 申请日期2006年3月3日 优先权日2005年3月8日
发明者A·格罗斯, E·D·贝扎, G·胡, I·斯文森, S·费什尔, Y·奥卡瓦 申请人:易享信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1