專利名稱:結(jié)構(gòu)化共同創(chuàng)作的制作方法
結(jié)構(gòu)化共同創(chuàng)作背景在多用戶環(huán)境中,多個(gè)用戶能夠同時(shí)編輯同一文檔可能是合乎需要的。常常,當(dāng)多 個(gè)用戶編輯文檔時(shí),可能存在關(guān)于如何將不同編輯添加到文檔的混亂。例如,有時(shí)候編輯文 檔的多個(gè)版本,使得將編輯合并到單個(gè)完整的文檔中變得困難。即使在支持文檔的多用戶編輯的系統(tǒng)中,用戶通常無(wú)法控制何時(shí)將用戶的編輯展 示給正在編輯文檔的其他人。此外,定義哪個(gè)用戶正在操作文檔的哪個(gè)特定部分可能是困 難的,從而可能導(dǎo)致對(duì)文檔作出的變更中的沖突。概述本發(fā)明涉及用于文檔的結(jié)構(gòu)化共同創(chuàng)作的系統(tǒng)和方法。根據(jù)一個(gè)方面,一種用于文檔的結(jié)構(gòu)化共同創(chuàng)作的系統(tǒng)包括包含一個(gè)或多個(gè)文檔 的服務(wù)器,每一文檔被組織成各部分;存儲(chǔ)對(duì)于文檔的每一部分的用戶訪問(wèn)許可的文檔許 可模塊;處理來(lái)自用戶的要將文檔更新與其他用戶共享的請(qǐng)求并且處理來(lái)自用戶的要從其 他用戶接收文檔更新的請(qǐng)求的文檔更新處理模塊;以及呈現(xiàn)文檔以供在客戶機(jī)上顯示的文 檔呈現(xiàn)模塊,呈現(xiàn)文檔從而使得文檔的各部分用各用戶作出的共享文檔更新來(lái)更新,共享 文檔更新由客戶機(jī)上的用戶請(qǐng)求。用戶訪問(wèn)許可確定用戶能夠修改文檔的每一部分的程 度,準(zhǔn)許為文檔的一個(gè)或多個(gè)部分存儲(chǔ)不同的用戶訪問(wèn)許可。該系統(tǒng)準(zhǔn)許兩個(gè)或更多用戶 共同創(chuàng)作文檔的一個(gè)或多個(gè)部分,從而使得每一用戶具有對(duì)文檔的一個(gè)或多個(gè)部分的特定 訪問(wèn)權(quán),從而使得用戶能夠指定該用戶對(duì)文檔的一個(gè)或多個(gè)部分作出的更新是否可以向其 他用戶顯示,并且從而使得用戶能夠查看正在訪問(wèn)文檔的一個(gè)或多個(gè)部分的其他用戶的名 字并能選擇性地從那些用戶獲得對(duì)文檔的更新。根據(jù)另一方面,一種用于文檔的結(jié)構(gòu)化共同創(chuàng)作的方法包括用戶打開(kāi)客戶機(jī)上 的文檔,該文檔被組織成各部分,每一部分表示文檔的一部分,文檔顯示對(duì)文檔的一個(gè)或多 個(gè)部分的用戶訪問(wèn)許可,并且文檔顯示正在編輯文檔的一個(gè)或多個(gè)部分的用戶的名字;對(duì) 文檔的一個(gè)或多個(gè)部分執(zhí)行操作,該操作符合授予文檔的一個(gè)或多個(gè)部分的用戶訪問(wèn)許 可;標(biāo)識(shí)可與其他用戶共享的對(duì)文檔的更新從而與其他用戶共享對(duì)文檔的更新;以及標(biāo)識(shí) 要從其獲得對(duì)文檔的一個(gè)或多個(gè)部分的文檔更新的一個(gè)或多個(gè)用戶,該一個(gè)或多個(gè)用戶從 文檔上顯示的名字中選擇,從而使得文檔更新從文檔服務(wù)器獲得并在文檔的適當(dāng)部分中顯示。根據(jù)又一方面,一種用于在文檔服務(wù)器處協(xié)調(diào)文檔的結(jié)構(gòu)化共同創(chuàng)作的方法包 括將文檔分成多個(gè)部分,每一部分包括文檔的一個(gè)段落;存儲(chǔ)文檔的多個(gè)用戶對(duì)于文檔 的每一部分的用戶訪問(wèn)許可,用戶訪問(wèn)許可定義多個(gè)用戶中的每一個(gè)能夠查看、編輯和批 注文檔的各部分的程度;存儲(chǔ)正在訪問(wèn)文檔的各部分中的每一個(gè)的用戶的名字;向文檔的 用戶呈現(xiàn)文檔的實(shí)例,所呈現(xiàn)的文檔包括指示對(duì)于文檔的各部分中的每一個(gè)的用戶訪問(wèn)許 可的訪問(wèn)控件,所呈現(xiàn)的文檔包括正在編輯文檔的各部分中的每一個(gè)的用戶的名字,所呈 現(xiàn)的文檔包括提供包括從用戶請(qǐng)求對(duì)各部分的更新并指定一用戶對(duì)各部分作出的更新對(duì) 各用戶可用的動(dòng)作的動(dòng)作控件;存儲(chǔ)文檔的用戶對(duì)文檔作出的更新;從第一用戶接收將第一用戶對(duì)文檔作出的更新與其他用戶共享的請(qǐng)求;響應(yīng)于來(lái)自第一用戶的請(qǐng)求,使得第一 用戶對(duì)文檔作出的更新能夠與其他用戶共享;從第二用戶接收要接收其他用戶對(duì)文檔的各 部分作出的更新的請(qǐng)求;以及響應(yīng)于來(lái)自第二用戶的請(qǐng)求,將包括第二用戶所請(qǐng)求的對(duì)各 部分的共享更新的文檔實(shí)例呈現(xiàn)給第二用戶,共享更新在直接位于所請(qǐng)求的文檔部分之上 的新的文檔部分中呈現(xiàn)。提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本 概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求 保護(hù)的主題的范圍。附圖描述合并在本說(shuō)明書中并形成其一部分的附圖示出了本發(fā)明的若干方面,并且與說(shuō)明 書一起用于解釋本發(fā)明的原理。
圖1示出用于共同創(chuàng)作文檔的一示例系統(tǒng)。圖2示出用于共同創(chuàng)作的一示例文檔的結(jié)構(gòu)。圖3示出用于共同創(chuàng)作的一示例文檔的一部分。圖4示出顯示來(lái)自另一用戶對(duì)圖3中示出的示例文檔的一部分的文檔更新的示 例。圖5示出示例文檔服務(wù)器的示例模塊。圖6示出用于共同創(chuàng)作文檔的示例方法的流程圖。圖7示出用于在文檔服務(wù)器處協(xié)調(diào)文檔的共同創(chuàng)作的示例方法的流程圖。詳細(xì)描述本發(fā)明涉及用于文檔的結(jié)構(gòu)化共同創(chuàng)作的系統(tǒng)和方法。在此處描述的各示例中,文檔被組織成各部分,并且用戶被分配對(duì)文檔的一個(gè)或 多個(gè)部分的特定訪問(wèn)許可。訪問(wèn)許可定義用戶能夠查看、編輯或批注文檔的一部分的程度。 結(jié)構(gòu)化共同創(chuàng)作還準(zhǔn)許用戶共享文檔更新。用戶可對(duì)文檔作出變更并決定這些變更(如果 存在)是否要與其他用戶共享。另外,用戶可請(qǐng)求查看一個(gè)或多個(gè)其他用戶對(duì)文檔作出的 共享更新。圖1示出支持文檔的結(jié)構(gòu)化共同創(chuàng)作的示例系統(tǒng)100。系統(tǒng)100包括客戶機(jī)101、 102和一個(gè)或多個(gè)文檔服務(wù)器104。可以使用更多或更少的客戶機(jī)和文檔服務(wù)器。在示例實(shí)施例中,客戶機(jī)101、102是諸如臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字 助理或蜂窩設(shè)備等的計(jì)算設(shè)備。客戶機(jī)101、102可包括輸入/輸出設(shè)備、中央處理單元 (“CPU”)、數(shù)據(jù)存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備。典型的輸入/輸出設(shè)備包括鍵盤、鼠標(biāo)、顯示器、話筒、揚(yáng)聲器、盤驅(qū)動(dòng)器、⑶-ROM 驅(qū)動(dòng)器、和閃存驅(qū)動(dòng)器。也可以使用其他類型的輸入/輸出設(shè)備。諸如數(shù)據(jù)存儲(chǔ)設(shè)備等的計(jì)算機(jī)可讀介質(zhì)提供數(shù)據(jù)保存。作為示例,計(jì)算機(jī)可讀介 質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的任意方法或技術(shù)來(lái)實(shí)現(xiàn)的物理易失性 和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。通信介質(zhì)通常體現(xiàn)諸如載波或其他傳輸機(jī)制等已調(diào) 制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳遞介 質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”指的是其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改的信號(hào)。在存儲(chǔ)在數(shù)據(jù)存儲(chǔ)設(shè)備上的多種信息中有客戶機(jī)操作系統(tǒng)(“OS”)和客戶機(jī)應(yīng)用 程序??蛻魴C(jī)OS是管理客戶機(jī)系統(tǒng)的硬件和軟件資源的程序??蛻魴C(jī)應(yīng)用程序利用客戶 機(jī)101、102的資源來(lái)直接執(zhí)行用戶指定的任務(wù)。客戶機(jī)101、102包括用于創(chuàng)建并編輯文檔 文件的軟件應(yīng)用程序,諸如文字處理程序。這種應(yīng)用程序的一個(gè)示例是華盛頓州雷蒙德市 微軟公司的Microsoft Word。這種應(yīng)用程序的其它示例也是適用的。網(wǎng)絡(luò)設(shè)備使得客戶機(jī)101、102能夠通過(guò)諸如LAN或因特網(wǎng)等的網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送至 服務(wù)器104/自服務(wù)器104接收數(shù)據(jù)。用于客戶機(jī)101、102的其它配置是可能的。文檔服務(wù)器104是可通過(guò)網(wǎng)絡(luò)訪問(wèn)的文件服務(wù)器。文檔服務(wù)器104存儲(chǔ)多個(gè)文件。 這些文件可包括軟件應(yīng)用程序和文檔,如此處進(jìn)一步描述地。文檔服務(wù)器104控制對(duì)服務(wù) 器104存儲(chǔ)的文檔的訪問(wèn)。在示例實(shí)施例中,文檔服務(wù)器104可位于組織內(nèi)部或者可以是基于因特網(wǎng)的 共享文檔系統(tǒng)的一部分。一示例性的基于因特網(wǎng)的共享文檔系統(tǒng)是微軟公司提供的 SHAREP0INT 團(tuán)隊(duì)服務(wù)門戶服務(wù)器服務(wù)。一示例性的共享文檔服務(wù)器是微軟公司提供的 Microsoft Office SharePoint Server 2007。可以使用其它配置。圖2示出文字處理應(yīng)用程序201在示例客戶機(jī)101上呈現(xiàn)的示例文檔200。在所示示例中,文檔200被組織成多個(gè)部分,分別被指定為部分202到212。一個(gè) 部分與文檔的一個(gè)可編輯片段相對(duì)應(yīng)。通常,一個(gè)部分可以是文檔的任何子部分,例如,段 落、標(biāo)題、附圖、表格等。文檔可只包含一個(gè)部分,例如,一個(gè)表格或單個(gè)段落或句子。沿著示例文檔200的每一部分的是顯示當(dāng)前誰(shuí)正在共同創(chuàng)作該部分的用戶的名 字的示例用戶控件222-232。示例文檔200還包括顯示每一用戶對(duì)于文檔部分的訪問(wèn)許可 的示例訪問(wèn)控件M2-252以及準(zhǔn)許用戶對(duì)文檔部分采取一個(gè)或多個(gè)特定動(dòng)作的示例動(dòng)作 控件觀2-四2。特定動(dòng)作可包括將文檔部分分配給另一用戶、將文檔部分標(biāo)記為已修訂、將 文檔部分標(biāo)記為已完成等等。另外,示例文檔200還包括定義用于動(dòng)態(tài)地改變文檔的一部 分的訪問(wèn)許可的規(guī)則的示例動(dòng)態(tài)控件262-272??丶钠渌δ苁强赡艿摹?丶砂ㄎ?本框、列表框、下拉列表框、圖標(biāo)或可能適當(dāng)?shù)娜魏纹渌脩艚缑婵丶愋?。在所示示例中,用戶控?22-232列舉當(dāng)前正在編輯文檔的注解部分202-212的 一個(gè)或多個(gè)用戶的名字。例如,如果用戶A和用戶B當(dāng)前正在編輯文檔的部分202,則用戶 A和用戶B的名字在用戶控件222中列出從而使得打開(kāi)文檔200的每個(gè)人能夠看見(jiàn)用戶A 和用戶B當(dāng)前正在編輯部分202。當(dāng)用戶例如通過(guò)鍵入文檔部分對(duì)文檔部分作出變更時(shí),該 用戶被認(rèn)為是正在編輯文檔部分。訪問(wèn)控件M2-252的訪問(wèn)許可指示用戶可編輯文檔200的一部分的程度。示例用 戶訪問(wèn)許可包括完全控制、讀/寫、只審閱、只批注、只讀和拒絕訪問(wèn)。其他用戶訪問(wèn)許可也 是可能的。在示例實(shí)施例中,具有對(duì)文檔部分的任何訪問(wèn)許可級(jí)別的所有用戶的名字經(jīng)由用 戶控件222-232來(lái)顯示。在示例實(shí)施例中,具有只讀訪問(wèn)權(quán)限的用戶的名字可不被顯示,例 如如果這種用戶的列表很長(zhǎng)。當(dāng)用戶被分配完全控制時(shí),用戶具有對(duì)文檔的部分的完全讀/寫訪問(wèn)權(quán),并且另 外,用戶可使用用戶界面的任何方面。例如,具有完全控制,用戶可改變文檔的格式化。當(dāng)用戶具有讀/寫控制時(shí),用戶具有對(duì)文檔的部分的讀-寫許可但不能作出格式化變更。具有 只審閱許可,用戶可對(duì)文檔作出經(jīng)由如Microsoft Word中的修訂等的技術(shù)來(lái)跟蹤的變更。 具有只批注許可,用戶可將批注插入到文檔的部分但不能改變文檔的部分中的文本。具有 只讀許可,用戶可查看文檔的部分但不能對(duì)其作出任何變更也不能插入任何批注。具有拒絕訪問(wèn)許可,文檔的某些部分可能對(duì)用戶是不可查看的。例如,文檔中可能 存在一個(gè)或多個(gè)用戶不被準(zhǔn)許查看的機(jī)密信息。因此,當(dāng)文檔被呈現(xiàn)給用戶時(shí),可以擬訂 (redact)文檔的一個(gè)或多個(gè)部分來(lái)阻止用戶查看。這通過(guò)被定義為對(duì)某些用戶拒絕訪問(wèn)的 圖2中的陰影部分206和208來(lái)說(shuō)明。在某些實(shí)施例中,機(jī)密部分可能根本不向不被準(zhǔn)許 查看該部分的用戶顯示。在示例實(shí)施例中,可以擬訂文檔的各部分,如果用戶不被準(zhǔn)許編輯 他們的話。例如,在包括工程和財(cái)務(wù)部分的文檔中,當(dāng)工程師查看該文檔時(shí)可以擬訂財(cái)務(wù)部 分而當(dāng)財(cái)務(wù)人員查看該文檔時(shí)可以擬訂工程部分。在示例實(shí)施例中,用戶訪問(wèn)許可和規(guī)則可由文檔的所有者(即,對(duì)文檔具有所有 權(quán)許可的人)來(lái)分配和編輯。這可以在逐個(gè)部分的基礎(chǔ)上或者對(duì)于整個(gè)文檔全局地來(lái)實(shí) 現(xiàn)。用戶訪問(wèn)許可和規(guī)則被存儲(chǔ)在文檔服務(wù)器上。所描述的用戶訪問(wèn)許可也可在沒(méi)有網(wǎng)絡(luò)連通性的情況下實(shí)施。對(duì)文檔的各部分所 分配的用戶許可可被高速緩存在客戶機(jī)的軟件應(yīng)用程序中或者存儲(chǔ)在文檔中。以此方式, 在客戶機(jī)與網(wǎng)絡(luò)斷開(kāi)連接或者正在從不同計(jì)算機(jī)操作文檔的情況下,可以使用訪問(wèn)許可。動(dòng)作控件觀2_292準(zhǔn)許用戶對(duì)文檔部分采取特定動(dòng)作。例如,用戶可能希望從可 能正在編輯文檔部分的一個(gè)或多個(gè)其他用戶獲得對(duì)文檔部分的更新,或者用戶可能希望將 該用戶對(duì)文檔部分作出的更新與一個(gè)或多個(gè)其他用戶共享。用戶可能采取的其他示例動(dòng)作 包括向用戶發(fā)送電子郵件或者發(fā)送即時(shí)消息給用戶來(lái)查找狀態(tài)。其他動(dòng)作是可能的。
動(dòng)態(tài)控件沈2_272用于定義準(zhǔn)許在用戶完成任務(wù)時(shí)對(duì)文檔的部分的訪問(wèn)許可動(dòng) 態(tài)地改變的規(guī)則。例如,一個(gè)或多個(gè)用戶可被指定為審閱者,但用戶可能想要直到文檔完成 時(shí)才進(jìn)行審閱。在一示例實(shí)施例中,當(dāng)用戶將文檔的一部分標(biāo)記為完成時(shí),對(duì)于審閱者的訪 問(wèn)許可動(dòng)態(tài)地從只讀變更成只審閱。當(dāng)用戶打開(kāi)并開(kāi)始編輯文檔200時(shí),用戶可查看相應(yīng)的示例共同創(chuàng)作控件 222-232來(lái)確定當(dāng)前還有誰(shuí)正在編輯文檔的各個(gè)部分。通常,用戶可能知道一個(gè)或多個(gè)用戶 并且在該用戶作出任何其他變更之前可能想要看見(jiàn)其他用戶已經(jīng)作出的任何變更。用戶可 經(jīng)由示例動(dòng)作控件觀2-292來(lái)指示該用戶想要查看一個(gè)或多個(gè)其他用戶的變更,并且如果 那些用戶已經(jīng)將其變更指定為可共享的,則一個(gè)或多個(gè)其他用戶作出的變更將在向用戶展 示的文檔上顯示。在示例實(shí)施例中,用戶還具有決定何時(shí)將編輯與其他用戶共享的靈活性。在編輯 文檔時(shí),用戶可能不像共享變更直到那些變更處于該用戶對(duì)其感到舒適的狀態(tài)。在如上討 論的一個(gè)示例實(shí)施例中,用戶選擇示例動(dòng)作控件觀2-292來(lái)指定可與哪個(gè)用戶共享變更。 在另一示例實(shí)施例中,當(dāng)用戶希望與其他用戶共享變更時(shí),第一個(gè)用戶突出顯示要被共享 的文檔的部分并點(diǎn)擊用戶界面上的示例共享按鈕205。這向文檔服務(wù)器104通知要共享對(duì) 文檔部分的變更。在示例實(shí)施例中,點(diǎn)擊示例共享按鈕205可能調(diào)出可與其共享文檔部分 變更的用戶列表。其他實(shí)現(xiàn)是可能的。除了示例共享按鈕205之外,示例用戶界面還包括示例保存按鈕203和示例分配按鈕207。示例保存按鈕203用作標(biāo)準(zhǔn)保存按鈕,允許用戶將變更保存到客戶機(jī)或服務(wù)器存 儲(chǔ)器。然而,保存操作不導(dǎo)致與其他用戶共享更新。示例分配按鈕207準(zhǔn)許文檔的所有者 將訪問(wèn)許可分配給其他用戶。圖3示出示例文檔部分306的結(jié)構(gòu)化共同創(chuàng)作的文檔300的示例實(shí)施例。示例文 檔部分306的左邊是顯示當(dāng)前正在共同創(chuàng)作文檔部分的兩個(gè)用戶的名字的示例用戶控件 312,3180在該示例中,兩個(gè)用戶是Heidi Craig和Tom Anderson。與用戶相關(guān)聯(lián)的是示例 訪問(wèn)控件314、320和示例動(dòng)作控件308、316。對(duì)于用戶Heidi Craig,示例訪問(wèn)控件314被 涂上陰影來(lái)指示完全訪問(wèn)。對(duì)于用戶Tom Anderson,示例訪問(wèn)控件320具有不同的著色來(lái) 指示寫訪問(wèn)。在其他實(shí)施例中,顏色、圖標(biāo)的形狀、文本等可用于指示訪問(wèn)狀態(tài)。示例動(dòng)作控件308、316準(zhǔn)許用戶選擇要對(duì)文檔部分采取的一個(gè)或多個(gè)動(dòng)作。在一 示例實(shí)施例中,當(dāng)用戶將鼠標(biāo)移動(dòng)到動(dòng)作控件(例如,對(duì)于Heidi Craig的動(dòng)作控件308) 上時(shí),呈現(xiàn)可用動(dòng)作列表307。在該示例實(shí)施例中,如果用戶選擇獲得更新的示例動(dòng)作309, 則用戶將從Heidi Craig獲得Heidi指定供共享的對(duì)文檔部分的更新。如果用戶選擇要 共享更新的示例動(dòng)作311,則用戶對(duì)文檔部分作出的變更將與Heidi Craig共享。如果用 戶選擇示例動(dòng)作313,則用戶可發(fā)送電子郵件給Heidi Craigo將鼠標(biāo)移動(dòng)到對(duì)于用戶Tom Anderson的示例動(dòng)作控件316上提供對(duì)于iTom Anderson的相同的一組動(dòng)作選項(xiàng)。在另一實(shí)施例中,動(dòng)作控件308、316是向用戶提供選擇列表的下拉列表框。用于 動(dòng)作控件的其他實(shí)施例是可能的。圖3還示出了示例動(dòng)態(tài)控件322。示例動(dòng)態(tài)控件322允許用戶動(dòng)態(tài)地改變對(duì)文檔 部分的訪問(wèn)許可并指定條件訪問(wèn)許可。在該示例中,動(dòng)態(tài)控件322是下拉列表框。在被展 開(kāi)時(shí),示例動(dòng)態(tài)控件顯示對(duì)示例文檔部分306具有訪問(wèn)許可的示例用戶列表324。當(dāng)示例用 戶3M中的一個(gè)被選中時(shí),示出該用戶的訪問(wèn)許可。例如,如果示例用戶Sara White 326 被選中,則進(jìn)一步展開(kāi)動(dòng)態(tài)控件322來(lái)示出示例訪問(wèn)許可列表328。在示例訪問(wèn)許可列表 328中,示例訪問(wèn)許可330(拒絕訪問(wèn))被涂上陰影,指示Sara White當(dāng)前不具有對(duì)文檔部 分的訪問(wèn)權(quán)。對(duì)于該示例,如果點(diǎn)擊訪問(wèn)許可330,則進(jìn)一步展開(kāi)動(dòng)態(tài)控件322來(lái)提供動(dòng)態(tài) 地改變?cè)L問(wèn)許可的方法。顯示直到選項(xiàng)列表332,該列表提供維護(hù)當(dāng)前訪問(wèn)許可直到特定動(dòng) 作發(fā)生的選項(xiàng)。例如,用戶可選擇部分共享選項(xiàng)334來(lái)指定維持當(dāng)前對(duì)于Sara White的拒 絕訪問(wèn)許可直到文檔部分被用戶指定供共享。當(dāng)點(diǎn)擊示例部分共享選項(xiàng)334時(shí),進(jìn)一步展 開(kāi)動(dòng)態(tài)控件332來(lái)提供示例隨后選項(xiàng)列表336,該列表指示一旦部分共享動(dòng)作發(fā)生時(shí)可以 設(shè)置的訪問(wèn)許可。在該示例中,選擇只批注選項(xiàng)338,指示對(duì)于用戶Sara White的訪問(wèn)許可 當(dāng)文檔部分被指定為供共享時(shí)將動(dòng)態(tài)地從拒絕訪問(wèn)變更到只批注?,F(xiàn)在參考圖4,在一示例實(shí)施例中,可以在文檔部分上顯示變更,從而用戶可在作 出任何其他編輯之前看見(jiàn)這些變更,如示例文檔300中所示。在示例文檔300中,用戶經(jīng)由 動(dòng)作控件316作出要從Tom Anderson接收對(duì)文檔部分306的更新的請(qǐng)求。更新406在文 檔部分306之上顯示。用戶可觀察到Tom Anderson改變了文檔部分306中的最后一個(gè)句 子并因此可對(duì)文檔部分作出其他變更。用于選擇并顯示共同創(chuàng)作變更的其他示例實(shí)施例是可能的。例如,共同創(chuàng)作變更 可與當(dāng)前部分相鄰地顯示、在當(dāng)前部分之下顯示、或簡(jiǎn)單地被合并到當(dāng)前部分中。在示例實(shí) 施例中,通過(guò)刪除線和下劃線來(lái)示出刪除和添加。
在示例實(shí)施例中,用戶可選擇要向其顯示這些變更的一個(gè)或多個(gè)其他用戶。用戶 還可全局地選擇來(lái)自所有其他用戶的變更。在示例實(shí)施例中,變更可在每個(gè)部分的基礎(chǔ)上 或者對(duì)于整個(gè)文檔來(lái)接收。圖5更詳細(xì)地示出示例文檔服務(wù)器104。示例文檔服務(wù)器104包括一個(gè)或多個(gè)文 檔502、文檔許可模塊504、文檔更新處理模塊506和文檔呈現(xiàn)模塊508。在從客戶機(jī)上的應(yīng) 用程序接收到要打開(kāi)文檔的請(qǐng)求時(shí),將示例文檔502呈現(xiàn)給用戶。示例文檔許可模塊504存儲(chǔ)每一用戶對(duì)于每一文檔的每一部分的訪問(wèn)許可。在某 些實(shí)施例中,訪問(wèn)許可被存儲(chǔ)在每一文檔中。在其他實(shí)施例中,訪問(wèn)許可與每一文檔分開(kāi)地 存儲(chǔ)(例如,在服務(wù)器上或在數(shù)據(jù)庫(kù)中)并鏈接到文檔。如上所述,不同的用戶訪問(wèn)許可包 括完全控制、讀/寫、只審閱、只批注、只讀和拒絕訪問(wèn)。其他用戶訪問(wèn)許可是可能的。示例文檔許可模塊504還在沒(méi)有網(wǎng)絡(luò)連通性的情況下實(shí)施訪問(wèn)許可。文檔許可模 塊504通過(guò)將訪問(wèn)許可高速緩存在客戶機(jī)上來(lái)實(shí)現(xiàn)這種實(shí)施。高速緩存該用戶的和已經(jīng)訪 問(wèn)文檔的所有其他用戶的訪問(wèn)許可。文檔許可模塊504在訪問(wèn)許可改變時(shí)動(dòng)態(tài)地更新客戶 機(jī)高速緩存。當(dāng)用戶離線時(shí),檢查客戶機(jī)高速緩存來(lái)確定用戶能夠編輯文檔的部分的程度。示例文檔更新處理模塊506記住用戶保存到文檔的所有變更。文檔更新處理模塊 506還記住這些變更中的哪些被用戶指定為要與其他用戶共享。通常,用戶通過(guò)點(diǎn)擊用戶界 面上表示保存的按鈕來(lái)保存對(duì)文檔作出的變更。然而,這些所保存的變更對(duì)其他用戶不可 用直到用戶將這些變更指定為要共享的。在示例實(shí)施例中,用戶可通過(guò)突出顯示文檔的一 個(gè)或多個(gè)部分并點(diǎn)擊用戶界面上表示共享的按鈕來(lái)作出這種指定。在其他示例實(shí)施例中, 用戶可經(jīng)由與文檔部分相鄰的動(dòng)作控件按鈕來(lái)指定要共享的文檔部分。用戶還可指定要共 享整個(gè)文檔。使用表示保存和共享的按鈕只是示例。其他實(shí)現(xiàn)是可能的。示例文檔更新處理模塊506還處理來(lái)自用戶的要從其他用戶獲得對(duì)文檔作出的 變更的請(qǐng)求。用戶請(qǐng)求可經(jīng)由動(dòng)作控件對(duì)每一文檔部分作出或者對(duì)整個(gè)文檔作出。示例文 檔更新處理模塊506確定可以更新文檔的哪些部分并將所更新的變更提供給示例文檔呈 現(xiàn)模塊508。手動(dòng)地生成用戶請(qǐng)求從而使得用戶可以控制何時(shí)更新文檔。這防止了當(dāng)用戶 在編輯文檔部分時(shí)更新文檔部分從而可能覆蓋用戶作出的變更的情景。示例文檔呈現(xiàn)模塊508呈現(xiàn)文檔以供在客戶機(jī)上向用戶顯示。文檔呈現(xiàn)模塊可使 用諸如文本框、列表框和下拉列表框等的標(biāo)準(zhǔn)用戶界面控件來(lái)顯示文檔的每一部分的用戶 訪問(wèn)許可并顯示訪問(wèn)文檔的各部分的用戶的名字。在替換實(shí)施例中,可以使用自定義設(shè)計(jì) 的控件。用戶界面控件還可用于為文檔的每一部分定義用于取決于正在執(zhí)行的用戶操作來(lái) 動(dòng)態(tài)地改變?cè)L問(wèn)許可的規(guī)則。示例文檔呈現(xiàn)模塊508還將來(lái)自用戶的任何共享的更新合并到文檔中。這些是用 戶作出的在文檔服務(wù)器104處保存并指定要與其他用戶共享的更新。這些更新可包括對(duì)文 檔的各部分的編輯變更、審閱修訂或批注。示例文檔呈現(xiàn)模塊508通常在其中作出編輯的 文檔的部分之上呈現(xiàn)文本編輯從而使得當(dāng)前用戶可容易地看見(jiàn)這些文本編輯。批注通常與 文檔的各部分相鄰地呈現(xiàn)。然而,在示例實(shí)施例中,更新的位置可以不同。圖6示出用于共同創(chuàng)作文檔的方法600的示例流程圖。在操作602處,用戶打開(kāi) 客戶機(jī)上的文檔。從文檔服務(wù)器獲得的文檔被組織成各部分。用戶的訪問(wèn)許可在文檔的一 個(gè)或多個(gè)部分上顯示。另外,在文檔上顯示其他用戶的名字,通常與其正在訪問(wèn)的文檔的各部分相鄰。在操作604處,用戶執(zhí)行符合對(duì)于一部分的訪問(wèn)許可的操作。例如,如果用戶具有 對(duì)一部分的完全控制,則用戶可對(duì)文檔的一部分作出完全編輯,包括變更該部分的格式化。 相反,如果用戶具有只批注訪問(wèn)權(quán),則用戶只能夠插入對(duì)文檔的一部分的批注但不能編輯 該部分中的任何文本。當(dāng)用戶完成與對(duì)于一部分的訪問(wèn)許可適當(dāng)?shù)牟僮鲿r(shí),用戶可能希望將對(duì)文檔的一 個(gè)或多個(gè)部分作出的變更與其他用戶共享。在操作606處,用戶標(biāo)識(shí)可共享的對(duì)文檔的更 新。例如,用戶可突出顯示可以共享的部分。在另一示例中,用戶可選擇共享所有更新。在操作608處,用戶向文檔服務(wù)器通知所標(biāo)識(shí)的更新可用于共享。這可以例如通 過(guò)點(diǎn)擊用戶界面上表示共享的按鈕來(lái)實(shí)現(xiàn)。作為另一示例,用戶可點(diǎn)擊指示要共享對(duì)文檔 作出的所有變更的按鈕。指定要共享的部分以及通知文檔服務(wù)器的其他方式是可能的。當(dāng)用戶在編輯文檔時(shí),對(duì)于文檔的每一部分顯示同樣正在編輯文檔的其他用戶的 名字。如果用戶希望查看來(lái)自一個(gè)或多個(gè)其他用戶的編輯,則用戶在操作610處標(biāo)識(shí)該一 個(gè)或多個(gè)其他用戶。例如,用戶可突出顯示另一用戶的名字或者在另一用戶的名字上雙擊。 其他實(shí)現(xiàn)方法是可能的。在操作612處,從所標(biāo)識(shí)的其他用戶獲得更新并將其顯示在文檔上。這些更新連 同其他用戶的名字一起通常在用戶正在編輯的部分以上顯示。其他實(shí)現(xiàn)是可能的。圖7示出用于在文檔服務(wù)器處協(xié)調(diào)文檔的共同創(chuàng)作的方法700的示例流程圖。在 操作702處,對(duì)于文檔的每一部分用戶訪問(wèn)許可被存儲(chǔ)在文檔服務(wù)器中。在操作704處,當(dāng) 前正在共同創(chuàng)作文檔的用戶的名字被存儲(chǔ)在文檔服務(wù)器處。在操作706處,使用文檔的內(nèi)容、對(duì)于文檔的每一部分的用戶訪問(wèn)許可以及正在 共同創(chuàng)作文檔的各部分的用戶的名字來(lái)呈現(xiàn)文檔以供在客戶機(jī)上向用戶顯示。用戶訪問(wèn)許 可和正在共同創(chuàng)作文檔的各部分的用戶的名字通常使用諸如文本框、列表框或下拉列表框 等的標(biāo)準(zhǔn)用戶界面控件來(lái)顯示。其他實(shí)現(xiàn)是可能的。在操作708處,當(dāng)用戶對(duì)文檔作出變更時(shí),這些變更被存儲(chǔ)在文檔服務(wù)器中。然 而,這些變更不可用于共享直到作出該變更的用戶如此指定。當(dāng)用戶確定對(duì)文檔的變更可用于共享時(shí),在操作710處,文檔服務(wù)器從客戶機(jī)接 收標(biāo)識(shí)要共享更新并使這些更新對(duì)可請(qǐng)求它們的其他用戶可用的通知。在操作712處,文檔服務(wù)器從用戶接收對(duì)于一個(gè)或多個(gè)其他用戶對(duì)文檔作出的更 新的請(qǐng)求。文檔隨后在操作714處呈現(xiàn)來(lái)合并所請(qǐng)求的共享更新。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán) 利要求書中定義的主題不必限于上述具體特征或動(dòng)作。相反,上述具體特征和動(dòng)作是作為 實(shí)現(xiàn)權(quán)利要求的示例形式公開(kāi)的。
權(quán)利要求
1.一種用于共同創(chuàng)作文檔的系統(tǒng),所述系統(tǒng)包括 服務(wù)器,包括一個(gè)或多個(gè)文檔,每一文檔被組織成各部分; 存儲(chǔ)對(duì)于文檔的每一部分的用戶訪問(wèn)許可的文檔許可模塊,所述用 戶訪問(wèn)許可定義用戶能夠修改所述文檔的每一部分的程度,所述文檔許可 模塊準(zhǔn)許為所述文檔的各部分存儲(chǔ)不同的用戶訪問(wèn)許可;處理來(lái)自用戶的要與其他用戶共享文檔更新的請(qǐng)求并且處理來(lái)自用戶的要從其他用 戶接收文檔更新的請(qǐng)求的文檔更新處理模塊;以及呈現(xiàn)文檔以供在客戶機(jī)上顯示的文檔呈現(xiàn)模塊,所述文檔被呈現(xiàn)從而使得所述文檔 的各部分用用戶作出的共享文檔更新來(lái)更新,所述共享文檔更新由所述客戶機(jī)上的用戶請(qǐng) 求;其中所述系統(tǒng)準(zhǔn)許兩個(gè)或更多用戶共同創(chuàng)作所述文檔的一個(gè)或多個(gè)部分,從而使得每 一用戶對(duì)所述文檔的一個(gè)或多個(gè)部分具有特定的訪問(wèn)權(quán),從而使得所述用戶能夠指定所述 用戶對(duì)所述文檔的一個(gè)或多個(gè)部分作出的更新是否可以向其他用戶顯示,并且從而使得所 述用戶能夠查看正在訪問(wèn)所述文檔的一個(gè)或多個(gè)部分的其他用戶的名字并能選擇性地從 那些用戶獲得對(duì)所述文檔的更新。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,用戶訪問(wèn)許可是從包括以下各項(xiàng)的組中選 擇的完全控制、讀/寫、只審閱、只批注和只讀。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述文檔呈現(xiàn)模塊提供用于所述文檔的各 部分的用戶界面控件。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述用戶界面控件提供正在訪問(wèn)所述文檔 的各部分的用戶的指示符。
5.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述用戶界面控件提供對(duì)于所述文檔的每 一部分的所述用戶訪問(wèn)許可。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述用戶界面控件準(zhǔn)許所述用戶從一組動(dòng) 作中選擇,所述動(dòng)作包括使對(duì)所述部分中的一個(gè)的更新對(duì)其他用戶可用以及向其他用戶請(qǐng) 求對(duì)所述部分中的一個(gè)或多個(gè)的更新。
7.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述用戶界面控件與所述文檔的每一部分 相鄰地來(lái)提供。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述文檔呈現(xiàn)模塊擬訂文檔的部分。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述文檔許可模塊處理用于動(dòng)態(tài)地改變所 述用戶訪問(wèn)許可的規(guī)則。
10.一種用于共同創(chuàng)作文檔的方法,所述方法包括打開(kāi)被組織成各部分的文檔,每一部分表示所述文檔的一部分,所述文檔顯示對(duì)于所 述文檔的各部分中的一個(gè)或多個(gè)的用戶訪問(wèn)許可,并且所述文檔顯示正在編輯所述文檔的 各部分中的一個(gè)或多個(gè)的用戶的名字;對(duì)所述文檔的各部分中的一個(gè)或多個(gè)執(zhí)行操作,所述操作符合對(duì)于所述文檔的各部分 授予的用戶訪問(wèn)許可;標(biāo)識(shí)要與其他用戶共享的對(duì)所述文檔的更新從而與其他用戶共享對(duì)所述文檔的所述更新;以及標(biāo)識(shí)要從其獲得對(duì)所述文檔的各部分中的一個(gè)或多個(gè)的文檔更新的一個(gè)或多個(gè)用戶, 所述一個(gè)或多個(gè)用戶從所述文檔上顯示的名字中選擇,從而使得所述文檔更新從所述文檔 服務(wù)器獲得并且在所述文檔的適當(dāng)部分中顯示。
11.如權(quán)利要求10所述的方法,其特征在于,用戶訪問(wèn)許可是從包括以下各項(xiàng)的組中 選擇的完全控制、讀/寫、只審閱、只批注和只讀。
12.如權(quán)利要求10所述的方法,其特征在于,還包括經(jīng)由與所述文檔的各部分相鄰地 顯示的用戶界面控件顯示所述用戶訪問(wèn)許可以及所述一個(gè)或多個(gè)用戶的名字。
13.如權(quán)利要求10所述的方法,其特征在于,還包括在所述客戶機(jī)與網(wǎng)絡(luò)斷開(kāi)連接時(shí) 實(shí)施用戶訪問(wèn)許可。
14.如權(quán)利要求10所述的方法,其特征在于,還包括定義關(guān)于所述文檔的用于動(dòng)態(tài)地 更新所述用戶訪問(wèn)許可的規(guī)則。
15.如權(quán)利要求14所述的方法,其特征在于,所述規(guī)則經(jīng)由位于與所述文檔的各部分 相鄰的用戶界面控件來(lái)定義。
16.一種用于在文檔服務(wù)器處協(xié)調(diào)文檔的共同創(chuàng)作的方法,所述方法包括將文檔分成多個(gè)部分,所述各個(gè)部分中的每一個(gè)包括所述文檔的一個(gè)段落;存儲(chǔ)所述文檔的多個(gè)用戶對(duì)于所述文檔的每一部分的用戶訪問(wèn)許可,所述用戶訪問(wèn)許 可定義所述多個(gè)用戶中的每一個(gè)能夠查看、編輯和批注所述文檔的各部分的程度;存儲(chǔ)正在訪問(wèn)所述文檔的各部分中的每一個(gè)的用戶的名字;將所述文檔的實(shí)例呈現(xiàn)給所述文檔的用戶,所呈現(xiàn)的文檔包括指示對(duì)于所述文檔的各 部分中的每一個(gè)的用戶訪問(wèn)許可的訪問(wèn)控件,所呈現(xiàn)的文檔包括正在編輯所述文檔的各部 分中的每一個(gè)的用戶的名字,所呈現(xiàn)的文檔包括提供包括向所述用戶請(qǐng)求對(duì)所述各部分的 更新以及將用戶對(duì)所述各部分作出的更新指定為可用于其他用戶的動(dòng)作的動(dòng)作控件;存儲(chǔ)所述文檔的各用戶對(duì)所述文檔作出的更新;從第一用戶接收要將所述第一用戶對(duì)所述文檔作出的更新與其他用戶共享的請(qǐng)求;響應(yīng)于來(lái)自所述第一用戶的請(qǐng)求,使得所述第一用戶對(duì)所述文檔作出的更新能夠與其 他用戶共享;從第二用戶接收要接收其他用戶對(duì)所述文檔的各部分作出的更新的請(qǐng)求;以及響應(yīng)于來(lái)自所述第二用戶的請(qǐng)求,為所述第二用戶呈現(xiàn)所述文檔的實(shí)例,所述實(shí)例包 括所述第二用戶請(qǐng)求的對(duì)所述各部分的所述共享更新,所述共享更新在直接位于所請(qǐng)求的 文檔部分之上的新的文檔部分中呈現(xiàn)。
17.如權(quán)利要求16所述的方法,其特征在于,所述用戶訪問(wèn)許可是從包括以下各項(xiàng)的 組中選擇的完全控制、讀/寫、只審閱、只批注和只讀。
18.如權(quán)利要求16所述的方法,其特征在于,還包括當(dāng)所述第一用戶指示對(duì)所述文檔 的一部分的編輯已完成時(shí)動(dòng)態(tài)地更新所述文檔的各部分的用戶的所述用戶訪問(wèn)許可。
19.如權(quán)利要求18所述的方法,其特征在于,還包括使用存儲(chǔ)在所述文檔服務(wù)器上的 一組規(guī)則來(lái)更新所述用戶訪問(wèn)許可。
20.如權(quán)利要求19所述的方法,其特征在于,還包括擬訂所述第二用戶不具有查看許 可的所述文檔的特定部分。
全文摘要
呈現(xiàn)了一種用于文檔的結(jié)構(gòu)化共同創(chuàng)作的系統(tǒng),該系統(tǒng)包括服務(wù)器。該服務(wù)器包括被組織成各部分的一個(gè)或多個(gè)文檔、存儲(chǔ)對(duì)于文檔的每一部分的用戶訪問(wèn)許可的文檔許可模塊、處理來(lái)自用戶的要與其他用戶共享文檔更新的請(qǐng)求并處理來(lái)自用戶的要從其他用戶接收文檔更新的請(qǐng)求的文檔更新處理模塊、以及呈現(xiàn)文檔以供在客戶機(jī)上顯示從而使得文檔的各部分用用戶作出的共享文檔更新來(lái)更新的文檔呈現(xiàn)模塊。用戶訪問(wèn)許可確定用戶能夠修改文檔的每一部分的程度。
文檔編號(hào)G06F17/21GK102077198SQ200980124935
公開(kāi)日2011年5月25日 申請(qǐng)日期2009年5月29日 優(yōu)先權(quán)日2008年6月25日
發(fā)明者A·R·西蒙茲, J·B·拜勒, M·R·奈特 申請(qǐng)人:微軟公司