本節說明 Connector for Microsoft Outlook 中存在的任何相容性問題。
本節說明 Connector for Microsoft Outlook 的 Sun Java System Calendar Server 注意事項。
Calendar Server 的最新版本位於 Collaboration and Communication 下載網站。
建議客戶亦安裝最新版本的修補程式,位於 SunSolve。
如需詳細的安裝說明,請參閱「Sun Java Enterprise System 2005Q4 Installation Guide for UNIX」。如需配置說明,請參閱「Sun Java System Calendar Server 6 2005Q4 Administration Guide」。
如果您從 Calendar Server 5.x 遷移至 Calendar Server 的最新版本,則必須執行 cs5migrate_recurring 公用程式來轉換資料庫以適應 Connector for Microsoft Outlook 資料模型。請諮詢技術支援以取得有關 cs5migrate_recurring 公用程式的資訊。
對於使用者和資源行事曆,Calendar Server 6 2004Q2 (及更高版本) 均需要使用者具有 LDAP mail 屬性。
對於使用 Microsoft Outlook 排程資源行事曆 (例如會議室或筆記本電腦或高射投影機等設備) 的用戶端,每種資源必須具有電子郵件位址,即使實際並不需要電子郵件。LDAP mail 屬性指定此電子郵件位址。
您可能特別需要按照如下說明增加 LDAP mail 屬性:
5.x 安裝。執行 cs5migrate_recurring 遷移公用程式之前,對於使用者和資源行事曆均需將 mail 屬性增加至使用者。若要增加 mail 屬性,請使用 Calendar Servercsattribute 公用程式或 Directory Server ldapmodify 公用程式之類的公用程式。
新安裝 (6 2004Q2 或更高版本)。對於使用者和資源行事曆均使用 Calendar Server csattribute 公用程式或 Directory Server ldapmodify 公用程式之類的公用程式,佈建現有使用者的 LDAP mail 屬性。
如果您在安裝後建立新的行事曆或使用者,請使用必需的 -m email 選項在執行這些 Calendar Server 公用程式時指定電子郵件位址:
csresource 公用程式用於新資源行事曆
csuser 公用程式用於新的使用者
如需有關 csattribute、csresource 和 csuser 的相關資訊,請參閱「Sun Java System Calendar Server 6 2005Q4 Administration Guide」。如需有關 ldapmodify 公用程式的相關資訊,請參閱「 Sun Java System Directory Server Resource Kit Tools Reference」。
以下範例將 LDAP 郵件屬性增加至 sesta.com 伺服器上名為「Room100」的會議室。此範例配置 Messaging Server。如果您使用其他電子郵件伺服器,請參閱該產品的文件以取得等效程序。
使用 csattribute 公用程式將郵件屬性增加至 LDAP 伺服器︰
# ./csattribute -a mail=Room100@sesta.com add Room100
若要檢查該屬性是否已設定,請使用帶有 -v (詳細) 選項的 csattribute list 指令。
# ./csattribute -v list Room100 ... cn=Room 100,ou=conferenceRooms,dc=sesta,dc=com has mail: Room100@sesta.com |
以下範例為資源行事曆產生的電子郵件設置 Messaging Server bitbucket 通道。此範例使用 sesta.com 伺服器上名為「Room100」的資源。如果未設置 bitbucket 通道 (或等效通道),您將需要定期刪除傳送至資源行事曆的電子郵件。
確定 bitbucket 通道已在 imta.cnf 檔案中定義。
若要將郵件導向至 bitbucket 通道,請使用 csresource 公用程式為資源建立電子郵件位址:
# ./csattribute -a mail=Room100@bitbucket.sesta.com add Room100
若要啟用這些變更,您還需要重建別名表或配置。請參閱有關變更電子郵件服務的 Messaging Server (或您的電子郵件產品) 文件及您網站自己的文件和程序。
以下範例為資源行事曆產生的電子郵件設置 Sendmail bitbucket 通道。此範例使用 sesta.com 伺服器上名為「Room100」的資源。如果未設置 bitbucket 通道 (或等效通道),您將需要定期刪除傳送至資源行事曆的電子郵件。
在相應主機的 /etc/aliases 檔案中,增加如下項目:
# Resource/Conference room aliases Room100: /dev/null |
使用 csresource 公用程式將資源的電子郵件位址增加至 LDAP 目錄︰
# ./csattribute -a mail=Room100@sesta.com add Room100
如果您需要為行事曆使用者設置電子郵件別名,請使用 LDAP mailalternateaddress 屬性。LDAP 郵件屬性提供主要郵件位址,LDAP mailalternateaddress 屬性用於電子郵件別名。這兩個屬性均會將電子郵件位址對映至使用者的行事曆 ID (calid)。
例如,若要為具有以下值的名為 John Smith 的使用者增加 mailalternateaddress 屬性:
使用者 ID (uid) 和 calid:johnsmith
電子郵件位址:john.smith@sesta.com
電子郵件別名的位址:johns@sesta.com 和 jsmith@sesta.com
使用這些 Calendar Server 公用程式指令:
# ./csuser -g John -s Smith -y password -l en -m john.smith@sesta.com \ -c johnsmith create johnsmith # ./csattribute -a mailalternateaddress=johns@sesta.com add johnsmith # ./csattribute -a mailalternateaddress=jsmith@sesta.com add johnsmith |
如果 Directory Server 需要共用行事曆 LDAP 查找的認證,則 service.wcap.userprefs.ldapproxyauth 參數必須在 ics.conf 檔案中進行如下設定:
匿名連結:service.wcap.userprefs.ldapproxyauth = "no"
認證的代理伺服器連結:service.wcap.userprefs.ldapproxyauth = "yes"
如果 service.wcap.userprefs.ldapproxyauth 為「yes」,則您還必須為 calmaster 項目設定相應的 LDAP ACI。例如,若要為 sesta.com 網域設定 calmaster ACI 用於代理伺服器認證,請如下使用 ldapmodify 工具:
dn: o=usergroup changetype: modify add: aci aci: (targetattr="icscalendar || cn || givenName || sn || uid || mail")(targetfilter=(objectClass=icscalendaruser))(version 3.0; acl "Allow calendar administrators to proxy - product=ics,class=admin,num=2,version=1"; allow (proxy) groupdn = "ldap:///cn=Calendar Administrators,ou=Groups,o=usergroup";)
對於網域基底 DN 節點,以下範例顯示正確的 ACI:
dn: o=sesta.com,o=usergroup changetype: modify add: aci aci:(targetattr="icscalendar || cn || givenName || sn || uid || mail") (targetfilter=(objectClass=icscalendaruser))(version 3.0; acl "Allow calendar users to read and search other users - product=ics,class=admin,num=3,version=1"; allow (search,read) userdn = "ldap:///uid=*, ou=People, o=sesta.com, o=usergroup";)
如果沒有網域,請透過移除 dn: 行的 o=sesta.com 部分將此 ACI 增加至根字尾本身。
Calendar Server 配置程式 csconfigurator.sh 可增加這些 ACI。如果您從 Java Enterprise System Release 1 升級,則必須重新執行配置程式以取得更新的 ACI。
在 SSL 模式中下存取 Calendar Server 的使用者不受 [Microsoft Outlook Free/Busy Lookup] 選項支援。若要將 SSL 和非 SSL 模式用於相同的 Calendar Server 實例,使用者必須指定不同的連接埠號碼,如下所示:
SSL 模式 — 若要使用 SSL 存取 Calendar Server,請使用 SSL 連接埠。預設連接埠號碼為「443」,由此參數在 ics.conf 檔案中設定:
service.http.ssl.port = "443"
非 SSL 模式 — 若要使用 [Outlook Free/Busy Lookup] 選項,請使用一般 HTTP 連接埠存取 Calendar Server。預設連接埠號碼為「80」,由此參數在 ics.conf 檔案中設定:
service.http.port = "80"
如需有關 SSL 的資訊,請參閱「Sun Java System Calendar Server 6 2005Q4 Administration Guide」中的第 8 章「Configuring SSL」。
Calendar Server 6 2004Q2 或更高版本包括刪除記錄資料庫 (ics50deletelog.db) 以儲存刪除的事件和待辦事宜 (作業)。如需相關資訊,請參閱「Sun Java System Calendar Server 6 2005Q4 Administration Guide」中的第 18 章「Administering the Delete Log Database」。
IMAP 協定僅定義一個系統資料夾用於內送郵件 (收件匣),而 Outlook 和 Sun Java System Communications Express 等郵件用戶端可為草稿、已發郵件和刪除的郵件定義自己的系統資料夾。郵件用戶端無法辨別那些資料夾。這些系統資料夾是由不同的喜好名稱和本土化的名稱根據語言環境和用戶端軟體建立的。這導致如果單一電子郵件帳號由多個電子郵件用戶端存取 (或相同電子郵件用戶端,但是由不同語言環境的機器存取),則為系統資料夾建立多個實體 IMAP 資料夾。
在 Outlook 中該資料夾命名為:
刪除的項目=Deleted Items
草稿=Drafts
已發項目=Sent Items
在 Communications Express 中該資料夾命名為:
刪除的項目=Trash
草稿=Drafts
已發項目=Sent
可用新的 Sun Java System Connector for Microsoft Outlook 郵件系統對映檔案在 Outlook 和 Communications Express 之間提供更好的互通功能 。此解決方案允許管理員配置系統資料夾的對映方式。uwc_folders.map 檔案包含 Communications Express 的系統資料夾對映定義。outlook_folders.map 檔案包含 Connector for Microsoft Outlook 的系統資料夾對映定義。
您可以選擇其中一個對映資料夾檔案用做部署配置程式 (在 [郵件] 標籤下) 中的預設系統資料夾對映定義檔案。選取 [Outlook 樣式] 或 [Communications Express 樣式] 以表明使用者程式應該用於命名使用者的 IMAP 資料夾的標準。您此處的選擇決定對映檔案 outlook_folders.map 或是 uwc_folders.map 將用於對映使用者的 IMAP 資料夾名稱。管理員可在執行程式前,編輯這些檔案以符合本機需求,但不可變更原始的檔案名稱。
接著,需要定義 Communications Express 系統資料夾。i18n.js 檔案定義 Communications Express 系統資料夾名稱。此檔案位於 /var/opt/SUNWmsgsr/config/html/lang 目錄中,其中 lang 為特定的本土化語言 (例如法語的 fr)。需要修改此檔案,以便對映項目類似於 sjoc_folders.map 檔案中的項目。
例如,依預設,法語 i18n.js 檔案中的資料夾對映為:
i18n[’INBOX’] = ’Inbox’ i18n[’trash folder’] = ’trash’ i18n[’draft folder’] = ’draft’ i18n[’sent folder’] = ’sent’ ... fldr[’INBOX’] = ’French Inbox’ fldr[’trash’] = ’French Trash’ fldr[’draft folder’] = ’French Draft Folder’ fldr[’sent folder’] = ’French Sent Folder’
i18n[x] 的值用於在 IMAP 存放區中建立系統資料夾。例如,如果 i18n[’trash folder’]= ’trash’,則將在 IMAP 中建立資料夾名稱為 trash 的資料夾。fldr[y] 的值用於顯示用戶端介面中的系統資料夾名稱。
在 sjoc_folders.map 檔案中,類似的資料夾對映為:
[fr] INBOX=’Bo?te de r?ception’ Deleted Items=’?l?ments supprim?s’ Drafts=’Brouillons’ Sent Items =’?l?ments envoy?s’
因此,應該修改法語 i18n.js 資料夾對映以與 sjoc_folders.map 檔案相符:
i18n[’INBOX’] = ’Bo?te de r?ception’ i18n[’trash folder’] = ’?l?ments supprim?s’i18n[’draft folder’] = ’Brouillons’ i18n[’sent folder’] = ’?l?ments envoy?s’ ... fldr[’INBOX’] = ’Bo?te de r?ception’ fldr[’trash’] = ’?l?ments supprim?s’ fldr[’Drafts’] = ’Brouillons’ fldr[’Sent’] = ’?l?ments envoy?s’
您將需要修改 i18n.js 檔案表示的每一種語言。
因為 i18n.js 檔案以 UTF8 代碼編寫,您將需要使用可以保留 UTF8 代碼的編輯器。
此新資料夾對映定義僅對於新使用者有效。
使用者登入 Communications Express 之前,需要設定使用者的喜好語言。若要如此,請使用 ldapmodify 指令設定 preferredLanguage 或 preferredLocale 屬性。
新使用者應該僅看到一組系統資料夾,但以下情況除外:
使用者登入語言環境設定為法語的 Outlook。稍後,同一使用者登入喜好語言設定為英文的 Communications Express。此使用者在 Outlook 和 Communications Express 中均看到系統資料夾 trash、draft、sent、?l?ments supprim?s、Brouillons 和 ?l?ments envoy?s。
隨 Sun Java System Communications Services 發行的所有用戶端產品都允許使用者搜尋公司目錄及其自己的通訊錄。如果這不能正常工作時,某些 LDAP 調校可以改善使用者遇到的情況。
本節討論:
使用 Communications Express 或 Connector for Microsoft Outlook 在個人連絡人或公開通訊錄中搜尋特定字元是特定語言環境的作業。例如,法語使用者搜尋「Gaelle」並預期得到包含字串「Gaelle」及任何包含字串「Ga?lle」的項目。
基於語言環境決定項目呈現給使用者的方式之各種規則稱為比較規則或比較順序。比較順序提供特定語言和文化的資訊,說明如何排序給定語言字元。它會識別諸如字母表中的字母順序、如何比較重音字母和非重音字母,以及比較字串時是否存在可以忽略的字元之類的內容。比較順序還考量到關於語言的特定文化的資訊,例如讀取語言的順序 (左至右、右至左或上下)。
Sun Java System Directory Server 支援大量語言環境和比較規則 (請參閱「Sun Java System Directory Server 5 2005Q1 Administration Reference」中的「Identifying Supported Locales」)。依據您的使用者基底,首先需要選擇在您的環境中有效的語言環境。在下面,我們將使用英文 (US) 語言環境 (OID = 1.3.6.1.4.1.42.2.27.9.4.34.1) 做為範例。
若要指定執行搜尋時使用的語言環境,請使用相符的規則篩選器語法,如「Sun Java System Directory Server 5 2005Q1 Administration Reference」中的「Searching an Internationalized Directory」所述。此語法讓您指定語言環境及搜尋類型 (完全對等、子字串等)。
例如,以下篩選器將使用英文 (US) 比較規則 (1.3.6.1.4.1.42.2.27.9.4.34.1) 執行 CN 屬性的子字串比較 (.6)。篩選器查找 CN 中以「Gae」開始的字串。
cn:1.3.6.1.4.1.42.2.27.9.4.34.1.6:=Gae*
執行 LDAP 搜尋時,大多數效能問題是因為索引不存在或未正確配置導致的。依預設,配置 Directory Server 以便為 Communications Express 或 Connector for Microsoft Outlook 發出的查詢建立索引並在合理時間內傳回。然而,國際搜尋未設置 Directory Server。因此,需要改變現有索引以便考量已選擇的比較規則。「Sun Java System Directory Server 5 2005Q1 Administration Guide」中的「Managing Indexes」小節說明了這一點。
例如,依預設 CN 屬性在 userRoot 字尾建立索引:
# ldapsearch -D "cn=Directory manager" -b "cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config" "objectclass=*" cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config objectClass=top objectClass=nsIndex cn=cn nsSystemIndex=false nsIndexType=pres nsIndexType=eq nsIndexType=sub
若要使用英文 (US) 比較規則的國際搜尋使用它,請增加一個具有英文 (US) OID 的 nsMatchingRule 屬性。由於是用戶端執行子字串搜尋,因此需要將子字串字尾 (「.6」) 增加至 OID:
#ldapmodify -D "cn=Directory manager" dn: cn=cn,cn=index,cn=userRoot,cn=ldbm database, cn=plugins,cn=config changetype: modify add: nsMatchingRule nsMatchingRule: 1.3.6.1.4.1.42.2.27.9.4.34.1.6
請勿在值的開頭或結尾增加任何空格、標籤或其他非可視字元。
nsMatchingRule 是多值屬性。可以為相同 OID 或不同 OID 增加不同類型的搜尋。
然後必須執行位於 serverroot/slapd-instance 之下的 db2index.pl 程序檔:
# perl db2index.pl -D "cn=Directory Manager" -w \ secret -n userRoot -t cn
此作業在線上執行,且需要花費一段時間才能完成。 也可選擇重新初始化字尾。請參閱「Sun Java System Directory Server 5 2005Q1 Administration Guide」中的「Reinitializing a Suffix」。
主控台還可用於增加 nsMatchingRule (請參閱「Sun Java System Directory Server 5 2005Q1 Administration Guide」中的「Managing Indexes」小節)。
在以下小節中,提供了需要修改的索引清單。請確保未執行任何非索引搜尋。這可以透過查看 Directory Server 存取記錄檔 (並在搜尋結果項目中查找 notes=U) 來完成。
需要變更 Communications Express 使用的搜尋篩選器以適應相符的規則語法。這可以透過啟用在 db_config.properties 檔案 (常駐在 deployed-path/WEB-INF/ldappstore [適用於個人儲存] 和 deployed-path/WEB-INF/corp-dir [適用於公司目錄]) 中指定的比較規則參數獲得。
這些參數為:
# Collation Rule # Uncomment below to apply collation rule # collation_rule=en-US # Search Fields for which collation rule should be applied. # The fields provided here should be disambiguator formatted fields # e.g. entry/displayname, person/givenname etc. # Uncomment below to supply the comma-separated fields # search_fields=entry/displayname
取消註釋 collation_rule 和 search_fields 參數以啟用比較規則。為在搜尋中指定獨立的一組欄位,請將 search_fields 變更為所需值。collation_rule 可以含有該語言相應的不具有指定搜尋類型字尾的語言標籤或 OID (範例中為 1.3.6.1.4.1.42.2.27.9.4.34.1)。變更後需要重新啟動 Web 容器實例。
應該在 LDAP Server 上為以下屬性建立索引以用於搜尋 Communications Express :
cn (在 ou=people/ou=groups 字尾下)
displayname (在 o=piServerDb 字尾下)
可將 Connector for Microsoft Outlook 配置為使用 DN 和密碼連結或匿名連結。若要啟用匿名存取公司目錄,請在 ou=people/ou=group 子樹的根層級增加 ACL。
例如,如果根層級為 dc=red,dc=sesta,dc=com,則執行以下作業:
#ldapmodify -D "cn=Directory manager" dn: dc=red,dc=sesta,dc=com changetype: modify add: aci aci: (targetattr != "userPassword") (version 3.0;acl "Anonymous access"; allow (read,compare,search) (userdn = "ldap:///anyone");)
做為此 7 2005Q4 發行版本中的新增功能,Connector for Microsoft Outlook 現在允許一般使用者瀏覽目錄。開啟通訊錄頁面時,將顯示目錄中的前 10 個項目。然後使用者可以上下捲動,或鍵入少量字元即可看到結果自動重新整理。這是之前 Connector for Microsoft Outlook 版本的變更,在該版本中使用者僅能搜尋一個特定使用者。
若要在保持良好效能的同時啟用此功能,連接器依靠兩個名為 Virtual List View (VLV) 和 Server Side Sorting of Search Results (RFC 2891) 的 LDAP 控制延伸。以下 ldapsearch 範例傳回支援的控制之清單:
# ldapsearch -s base "objectclass=*" supportedControl supportedControl=2.16.840.1.113730.3.4.2 supportedControl=2.16.840.1.113730.3.4.3 supportedControl=2.16.840.1.113730.3.4.4 supportedControl=2.16.840.1.113730.3.4.5 supportedControl=1.2.840.113556.1.4.473 ------> Server Side Sort Control supportedControl=2.16.840.1.113730.3.4.9 ------> VLV Control supportedControl=2.16.840.1.113730.3.4.16 supportedControl=2.16.840.1.113730.3.4.15 supportedControl=2.16.840.1.113730.3.4.17 supportedControl=2.16.840.1.113730.3.4.19 supportedControl=1.3.6.1.4.1.42.2.27.9.5.2 supportedControl=1.3.6.1.4.1.42.2.27.9.5.6 supportedControl=2.16.840.1.113730.3.4.14 supportedControl=1.3.6.1.4.1.1466.29539.12 supportedControl=2.16.840.1.113730.3.4.12 supportedControl=2.16.840.1.113730.3.4.18 supportedControl=2.16.840.1.113730.3.4.13
Sun Java System Directory Server 不支援這些控制。然而,依預設 VLV 控制僅對經過認證的使用者可用:
ldapsearch -D "cn=Directory Manager" -b \ "oid=2.16.840.1.113730.3.4.9,cn=features,cn=config" \ "objectclass=*" aci oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \ aci=(targetattr != "aci")(version 3.0; acl "VLV Request Control"; \ allow( read, search, compare, proxy ) userdn = "ldap:///all";)
若要允許匿名存取 VLV 控制,請增加相應的 ACI:
#ldapmodify -D "cn=Directory Manager" \ dn: oid=2.16.840.1.113730.3.4.9,cn=features,cn=config \ changetype: modify add: aci aci: (targetattr !="aci")\ (version 3.0; acl "VLV Request Control"; allow (compare read,search) \ userdn = "ldap:///anyone"; )
若要改善需要 VLV plus Sort 之搜尋的效能,請在 Directory Server 中建立瀏覽索引 (如「Sun Java System Directory Server 5 2005Q1 Administration Guide」的「Managing Browsing Indexing」中所述)。每個瀏覽索引特定於一個基底 DN、搜尋篩選器、範圍和排序屬性。可以使用部署配置工具在用戶端方調校 VLV。
在此特殊情況下,需要使用 cn 屬性上的排序為等價於 dc=red,dc=iplanet,dc=com 的基底 DN、等價於 (&(mail=*)(cn=*)) 的篩選器建立瀏覽索引。瀏覽索引資訊增加至包含基底 DN (這裡為 userRoot) 的配置中:
#ldapmodify -D "cn=Directory Manager" dn: cn=Browsing red.sesta.com,cn=userRoot, cn=ldbm database,cn=plugins,cn=config changetype: add objectClass: top objectClass: vlvSearch cn: Browsing red.sesta.com vlvbase: dc=red,dc=sesta,dc=com vlvscope: 2 vlvfilter: (&(mail=*)(cn=*)) aci: (targetattr="*") (version 3.0; acl "VLV for Anonymous"; allow (read,search,compare) userdn="ldap:///anyone";) dn: cn=Sort by cn, cn=Browsing red.sesta.com,cn=userRoot, cn=ldbm database,cn=plugins,cn=config changetype: add objectClass: top objectClass: vlvIndex cn: Sort by cn vlvSort: cn
接著執行位於 serverroot/slapd-instance 之下的 vlvindex 指令:
# ./vlvindex -n userRoot -T "Sort by cn"