Lotus學習心得(-)

withwangzhen發表於2011-05-15
一、前言

  許多初學Lotus NotesLotus Notes以下簡稱Notes)的朋友常常會因為Notes學習範圍太廣、教育訓課程太貴、中文資太少?等等因素,而知該從何開始入門學習過因為這些因素而放棄的話,其實是非常之可惜的,畢竟Notes的功能及其整合性在群組軟體域中,仍然是先其它群組軟體的佼佼者。

  Louis讓許多初學Notes的朋友可以快速上手,所以決定著手撰寫此係的文章,希望以最淺顯懂的白話文為初學者建Notes程式設計最基本的觀(但會會中斷敢保證 :p)。過既然是「隨筆」,所以一些順序的編排就會那麼的有系統。另外,在章文中雖然偶爾會提到一些技術觀,但並屬於高深的技術檔案,純粹只是觀養成的文章。您想進一步瞭解文中提及的觀時,Louis「強」建議直接Notes程式設計明資庫。當然,本系文章中有訛誤還請各位前輩高手多多指教。

  二、Notes學習方向

  Notes學習方向主要分為程式設計與系統管理兩部份,一般通稱為Notes ADApplication Development)與SASystem Administration),而這也是IBM官方的法。過,有時候AD也有人稱為AP,而SA則常會與IT界常用的系統分析(System Analysis)搞混,所以在與其它朋友交時可千萬要雞同鴨講。

  但不論Notes AD還是SA的知,這者並無明確界線,而且者其實是相輔相成的。以ACL的設定講,就無法明確歸納至ADSA任一範疇,因為管是在開發應用程式(應用程式以下簡稱AP)或是管Domino系統,ACL的設定都是必須的常。另外,在開發Web AP時,為讓瀏覽器使用者可以正常瀏覽存取Web AP的內容與資,也須要先在伺服器上做一些設定,而這也是開發人員所須要解的。

  所以就Louis個人的觀點而言,千萬要將自己的角色侷限在程式設計師或系統管員而排斥學習任何一方面的知。因為如此只會讓您在執一些任務時捉襟肘罷。接下就讓我們進入的正題吧!!

  三、Notes庫的分與基礎結構

  在學習Notes AP開發的第一步驟,就是要先對Notes庫有所瞭解,如此才會因為觀念不足或是錯誤而導致在開發過程中產生阻礙。所以Louis先整一些觀讓您稍微瞭解:

  (一)Notes庫的分

  以目前市場上的資庫產品而言,就資型態、功能性或配置方式分成好幾如最常聽到的就是關式資庫(Relational Database),通常簡稱為RDBMS或是RDB,而最具代表性的就是OracleDB2InformixSQL?等等,過這是要付授權費,如果是免費的,目前最紅的該屬MySQL(Notes都可以跟這些資庫整合喔~~)

  就資型態而言,Notes屬於檔案式資庫而非關式資庫。很多初學Notes的朋友對檔案式資庫這名詞通常會很疑惑,一是因為網上很難找到相關資訊,二是對Notes是很瞭解。過在之後的內容中Louis明檔案的觀

  就資庫的配置方式而言,Notes則被歸在分散式資庫,為麼呢?因為Notes 的資庫可以藉由抄寫機制,將各資庫抄本分置到各伺服器與客戶端中。分散式資庫的理論在網上有很多資有興趣的話可以到各大搜尋引擎網站找找。

  (二)Notes庫的結構

  每一個Notes庫在windows OS下是以檔案格式存在的,其副檔名通常是NSF,也就是Notes Storage Facility的簡寫,翻譯成中文就是Notes儲存裝置。至於副檔名NTF也是Notes範本資庫,全名是Notes Template Facility,是用產生一般資庫的範本。也就是,您可以用模板資新建一個資庫,而此資庫中的設計是與模板資庫的設計一模一樣的。

  按照官方的法,每個Notes庫是由四個基本元件所組成:
  1.ACL
  就是Access Control List,一般翻譯成存取控制清單,或是許可權控制清單,顧名思義就是讓資庫管員可以指定使用者對該資庫執何種動作。
  2.設計元件:
  是指套表、視界、外框、圖文框、航員?等等元件,而這些Notes庫最最基礎的元件,也是用讓資庫可以與使用者互動的基本元件,沒有這些元件,資庫即無法運作。
  3.所謂輯:
  是指程式設計師在資庫中所撰寫的程式語言,Lotus Script、公式、代程式是。主要是要運算處庫中的資,或者達成某些自動化的作業。
  4.
  是指儲存在檔案中的文字、字、日期時間、附加檔案?等等資訊。

  四、資的安全控管

  要簡單描述Domino對資的安全控管,基本上由外而內可以分成幾關:伺服器èè檔案è隱藏公式。

  以伺服器這一關來說,是在伺服器檔案中控管的,如允許或允許哪些使用者存取此伺服器、允許或允許哪些使用者可以在伺服器上建或刪除資等等。

  是使用者被賦予存取伺服器的許可權,就會進入到資庫安全控管這關,而這關的安全控管就是由資ACL決定的。

  再是檔案的安全性控管,這是經由套表屬性之安全卷標下的選項,以及者與作者的。

  最後就是隱藏公式,其實,隱藏公式根本就算是安全性控管的方法,這隻能是開發技巧。因為即使透過隱藏公式把套表中的特定位隱藏起,使用者仍然可以透過檔案屬性方塊看到各位中的資

  五、ACL

  既然我們在前面多次談到ACL稍微跟他交個朋友好像說不過去,所以在這兒就為大夥兒引薦他吧,呵呵。在ACL中主要有幾種元件設定:使用者型、許可權型、執動作。

  設定使用者型是為避免ID被誤用。舉例來說,通常伺服器在資ACL中都是管員許可權,假設伺服器ID被有心人士盜用,可能就會造成極大的破壞。所以為防範有心「人」士進這種破壞動,就必須在ACL中正確設定為伺服器型,如此該人士即使拿到伺服器ID也沒辦法使用Notes client對資庫執任何活動。因為,伺服器是「人」,所以會使用Notes client過在系統管中,Louis建議把伺服器當作是「人」,這樣有助於管的建)。但相對的,如果未設定適當的型,也會導致某些動作無法執

  再是許可權型,依許可權低高依序有七層-沒有許可權、儲存者、者、作者、編輯者、設計師、管員。【沒有許可權】當然就能對資庫執任何動作,因為進去的權都沒有。Louis常戲稱【儲存者】為工生許可權,儲存者僅能輸入資到資庫中,輸入完畢後,就無法再看到這些資。感覺就像找一位工key in到資庫中,但又想讓工生記起這些資或是看到其它資

  先假設檔案或套表中沒有位,當使用者被賦予【者】許可權時,使用者就只能閱檔案,而能編輯檔案,當然更不可能建檔案(可執動作之建檔案選項被強制disable)。過,一但檔案中有位,使用者的名稱未在位的名稱清單之中,則即使有再高的ACL許可權還是無法閱該檔案。

  至於【作者】許可權就必須跟【作者】位配合使用才具效用,當使用者被賦予【作者】許可權,但作者位中的使用者名稱卻是別位使用者時,這時即使該份檔案是目前使用者所建,但因為其名稱未於作者位中,所以無法編輯該檔案,僅能閱而已。順帶一提,如果使用者被賦予【編輯者】()以上許可權,但檔案中的作者位中並沒有這位使用者名稱,使用者還是可以編輯檔案,因為【作者】許可權必須跟【作者】位配合使用才具效用,也就是【編輯者】()以上許可權受作者位的約束。

  至於【設計師】許可權就是多使用Domino Designer開發AP的許可權。而管員則是多修改ACL的許可權。

  茲概下表以供考:
  管 設計者 編輯者 作者 儲存者 沒有權
  ACL設定 V
  建修改設計元件 V V
  編輯所有檔案 V V V
  編輯自已檔案 V V V V
  增加新檔案 V V V V V
  讀取所有檔案 V V V V V

  在資庫建時,會在ACL的使用者清單中看到-Default-這筆專案。-Default-的作用是,當使用者在ACL中找到適用於自己的許可權時,就套用-Default-的許可權。也就是,凡名稱未明ACL中或未包含在ACL的群組中,就套用-Default-的許可權。在開發AP無特殊需求,-Default-通常都設定為編輯者。

  您還會看到LocalDomainServers群組與OtherDomainServers群組。顧名思義,只要是與目前資庫的所在伺服器位在同一Domino網域的伺服器都會自動包含在LocalDomainServers群組中,除非您去names.nsf改此群組檔案,那又另當別論了Orz。所以此群組預設許可權是管員,主要是為讓相同網域內的伺服器可以進抄寫作業。至於OtherDomainServers群組就是跟LocalDomainServers相反,因為此群組的成員均為同網域外的Domino伺服器,而且預設是無許可權。有些集團企業因為有一個以上的Domino網域,所以可能會用此群組達到某些跨網域存取的需求。過,在達成此需求時,請先手動把那些位於同網域的伺服器名稱加到names.nsf中的OtherDomainServers群組檔案喔。

  最後要談到Anonymous這個特殊專案,這是要手動新增給Web AP使用的。也就是當未透過Web ID & Password登入的使用者,均會被視為名者並套用Anonymous專案的許可權。Web AP未設定此專案時,當您使用瀏覽器開啟資庫時,系統就會給您一個警告,要求您到ACL中新增此一專案喔。請特別注意,在開發Web AP無特殊需求,請將此專案設為無許可權,否則您資庫中的資可能就會在網上趴趴造~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24998103/viewspace-695422/,如需轉載,請註明出處,否則將追究法律責任。

相關文章