• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何實現多人審批同一文檔

    發表于:2007-07-01來源:作者:點擊數: 標簽:
    (一) 首先,Lotus Notes作為一個文檔型的 數據庫 ,并未提供記錄(文檔)的鎖定。 因而作為一個面向群組的文檔,如果不采取措施,將會發生文檔的編輯和保存沖突,這 是顯然的。Lotus 提供了復制技術和版本控制技術,但是,由于應用的復雜性,尚且不 能滿足我

    (一)
    首先,Lotus Notes作為一個文檔型的數據庫,并未提供記錄(文檔)的鎖定。
    因而作為一個面向群組的文檔,如果不采取措施,將會發生文檔的編輯和保存沖突,這
    是顯然的。Lotus 提供了復制技術和版本控制技術,但是,由于應用的復雜性,尚且不
    能滿足我們的要求。于是許多人都想用編程控制的方法實現這種控制。
    在這里,我們主要討論關于編程的方法,關于復制和版本控制另作討論。

    (二)
    解決方法之一:加鎖
    加鎖分為兩種,一種是文檔鎖,一種是自鎖。兩種方式各有利弊。但是通常的方式是文檔鎖。
    一、文檔鎖:
    所謂文檔鎖就是對目標文檔建立一個附屬文檔,利用附屬文檔對目標文檔進行鎖定。
    具體描述如下:
    附屬文檔通常和目標文檔建立一對一的連接。
    在附屬文檔中設立狀態域,標識對目標文檔擁有編輯權限(保存權限)的用戶屬性。
    在目標文檔被編輯并且保存時,把當前狀態寫入附屬文檔的狀態域,從而為文檔加了鎖。如果有
    其他用戶試圖保存時,首先檢測附屬文檔,判斷狀態域,如果不符合保存條件,取消保存。從而
    避免了沖突。
    值得注意的是;加了鎖定的文檔,一定要在操作結束時解鎖,也即復位附屬文檔的狀態域。
    二、自鎖:
    所謂自鎖,就是在文檔中設立狀態域,在此文檔第一次保存時修改此狀態域的值,記錄文檔當前
    擁有編輯保存的權限的用戶信息。此后的用戶打開文檔時,首先判斷狀態域的值,若有人正在編
    輯,則不進入編輯狀態,從而避免了沖突。此種方式同樣需要解鎖。
    三、兩種方法的比較:
    原理上是一致的。
    但是我們知道當目標文檔加鎖后,解鎖前,如果發生意外,如斷電,死機等情況使得來不及解鎖,
    就關閉了文檔。再次打開時,已經成了死文檔,不能進行修改了(除非管理員)。采用第二種方
    法,肯定會遇到此類問題。但是如果是第一種方法,適當設置權限,編制解鎖程序,可以使用戶
    自己就能完成解鎖,不必麻煩管理員。

    (三)
    解決方法之二:版本控制
    所謂版本控制,就是當多人同時審批一篇文檔時,分別保存各自的文檔作為目標文檔的答復。
    即用不同的版本實現多人審批。
    一、設計表單時,選擇表單屬性為版本控制。
    二、編程實現靈活的版本控制。
    請參見有關版本控制的討論。


    對文檔的版本控制

    (一) 什么是版本控制?
    許多人對菜單里的選項[文件]-[另存為新版本]表示疑惑,這與命令
    @Command([FileSaveNewversion])意義是相同的。那么到底是什么意思呢?我們先理解一下
    版本控制。
    Notes提供了一個設計絕妙的雙向復制機制。在復制時不可避免的會發生多個人在同一個服務
    器或不同服務器上編輯了同一個數據庫或其復本的同一個文檔。那么怎么處理這些不同人的
    修改呢?當然在服務器看來,他們是具有同等地位的,去掉任何一個都是不合適的,于是,他
    們的信息分別保存,于是就產生了同一文檔的不同版本。

    (二)
    下面的部分摘自Notes 幫助數據庫。
    在表單中添加一個 $VersionOpt 域允許用戶創建編輯文檔的新版本。使用這個特殊
    的域比使用表單的版本控制要靈活的多,因為后者將影響使用該表單創建的每一個文檔。
    1. 創建名為“$VersionOpt”的域并將它定義為計算的文本域或可編輯的關鍵字域,
    不要選擇“允許多值”或者“可使用不在列表中的值”選項?!帮@示時計算”和“創建
    時計算”的域不能在這種條件下使用。
    2. 對于一個關鍵字域,請選擇“輸入關鍵字(每行一個)”并編寫每一個項目,使用關
    鍵字和與之等效的同義詞。例如,自動保存為答復文檔 | 2。
    3. 單擊設計窗格,單擊“公式”并編寫公式。
    4. 對于計算域,請添加公式,對于可編輯的域,請添加缺省值公式。
    計算的文本域
    在計算的 $VersionOpt 域中可以包含以下值:
    值跟蹤類型0不進行版本跟蹤1當用戶選擇“文件”“另存為新版本”來保存文檔時,新的
    版本變為答復文檔2保存時新的版本自動變為答復文檔3當用戶選擇“文件”“另存為新版
    本”來保存文檔時,舊的版本變為答復文檔4保存時舊的版本自動變為答復文檔5當用戶選
    擇“文件”“另存為新版本”來保存文檔時,新的版本變為并列(同級)文檔6保存時新的
    版本自動變為并列(同級)文檔

    可編輯的關鍵字域
    在可編輯的關鍵字域中,要使選項更容易被用戶理解,請使用必要的值作為關鍵字同義詞,并在同義詞前面添加可讀性較強的關鍵字名稱,使用豎線 (|) 間隔關鍵字與同義詞。例如:
    不進行版本跟蹤 | 0
    在使用“文件”“另存為新版本”時創建答復文檔 | 1
    自動創建答復文檔 | 2
    在使用“文件”“另存為新版本”時升級為主文檔 | 3
    自動升級為主文檔 | 4
    在使用“文件”“另存為新版本”時創建新的主文檔 | 5
    自動創建新的主文檔 | 6


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>