TB/TB-2008-03-PXFOLDER
出典: ScalixWikiJP
TB -> TB-2008-03-PXFOLDER
このページはTB-2008-03-PXFOLDER (米国サイト)の翻訳です。
目次 |
概要
今日のビジネス環境では、効率的な方法で情報を扱うことは以前よりも重要になってきています。 インターネットは様々な種類のデータを届けることができるため、主要な情報源となってきています。 知的労働者はたいていデスクトップの主要なアプリケーションとしてメールクライアントを使うため、そのような外部の情報を同じ環境に統合できることが望まれるようになってきています。
たいていの今日のメールとカレンダーシステムはRSSフィードとWebCal標準に従った外部カレンダーを組み込めます。 しかし、統合する場所は一般的にクライアント側にあります。 Scalixのクライアントを選択できるパラダイムを使えば、そのような説明はデータの重複や分散した設定の管理の難しさや経験の少ないユーザに味方します。
Scalix 11.4で導入されたScalixプロキシーフォルダはこの点に関して役に立つでしょう。 この機能では、サーバ側でそのような外部データ源に接続することができます。 標準のメールフォルダやカレンダーフォルダとしてフィードを提供するようにマッピングが適応され、自動的にすべての種類のサポートしているクライアントで利用できます。
初期リリースでは、プロキシーフォルダは前述のデータの種類をサポートします:
Scalixの将来のリリースでは他の外部データも同様にマッピングできるようになります。
プロキシーフォルダの使い方の例
以下の項目ではプロキシーフォルダを使う典型的な使い方のシナリオを並べます。 Scalix 11.4では、すべての管理をコマンドライン上で行います。 Scalixの将来のバージョンではユーザがScalixクライアントから自身のプロキシーフォルダを設定できるようになります。
個人用にRSSフィードを追加する方法
まず、RSSフィードを追加するためには、RSSフィードへの完全なURLが必要です。 例えば、BSS London Newsのフィードは次のURLになります:
http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml
このフィードをユーザ"Feed Demo"のメールボックス"feeds/london"に置き、4時間毎の更新を行うようにするためには、次のコマンドを実行します。
sxpfadd -n "Feed Demo" -t rss -i 4h -f "feeds/london" \ -u "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml"
成功した時の出力は次のようなものになります。
Creating 'feeds/london' From rss feed 'http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml' Proxy Folder created OK: 'feeds/london' (DirectRef: 0001160b79fc8cd8) Populating Proxy Folder from: http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml Proxy Folder Sync start (RSS source) Updating folder 'Feed.Demo@scalix.com/feeds/london' From 'http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml' 0 items currently in folder 0 old item(s) removed 9 new item(s) added Validating updated Proxy Folder contents... Sync completed OK
sxpflistを実行すると、新しく作成したプロキシーフォルダの情報を見ることができます。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london
プロキシーフォルダがユーザのメールボックスでどのように表示されるかは次のSWAのスクリーンショットを見てください。
パブリックフォルダとしてRSSフィードを追加する方法
freshmeat.netのアナウンスを追加する場合は、そのRSSフィードは次のURLです。
http://feeds.pheedo.com/freshmeatnet_announcements_global
パブリックフォルダ上のプロキシーフォルダfeeds/software/freshmeatを、3時間毎の更新する場合には、次のコマンドを実行します。
$ sxpfadd -p -t rss -i 3h -f "feeds/software/freshmeat" \ -u "http://feeds.pheedo.com/freshmeatnet_announcements_global"
コマンドが成功すると、次のような出力になります。
Creating 'Public Folders/feeds/software/freshmeat' From rss feed 'http://feeds.pheedo.com/freshmeatnet_announcements_global' Proxy Folder created OK: 'Public Folders/feeds/software/freshmeat' (DirectRef: 0001000cd78c3e10) Populating Proxy Folder from: http://feeds.pheedo.com/freshmeatnet_announcements_global Proxy Folder Sync start (RSS source) Updating folder 'Public Folders/feeds/software/freshmeat' From 'http://feeds.pheedo.com/freshmeatnet_announcements_global' 0 items currently in folder 0 old item(s) removed 70 new item(s) added Validating updated Proxy Folder contents... Sync completed OK
sxpflistを実行して、新しく作成したプロキシーフォルダを見ることができます。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat
次の画像はOutlook 2007で上記のプロキシーフォルダを表示するスクリーンショットです。
個人用のWebCALカレンダーを追加する方法
ドイツの休日のカレンダーは次の場所にあります。
webcal://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics
ユーザ"Feed Demo"のメールボックス"webcal/german"に表示させ、1日ごとの更新を行うようにするには、次のコマンドを実行します。
$ sxpfadd -n "Feed Demo" -t webcal -i 1d -f "webcal/german" \ -u "http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics"
スキームとしてwebcal://の代わりに、http://を使う点に注意してください。そうしないと失敗します。
成功したときの出力は次のようになります。
Creating 'webcal/argentina' From webcal feed 'http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics' Proxy Folder created OK: 'webcal/germany' (DirectRef: 00010a045cd0828e) Populating Proxy Folder from: http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics Proxy Folder Sync start (WebCAL source) Updating folder 'Feed.Demo@scalix.com/webcal/argentina' From 'http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics' 0 items currently in folder 0 old item(s) removed 63 new item(s) added Validating updated Proxy Folder contents... Sync completed OK
sxpflistを実行すると、新しく作成したフォルダを表示できます。
次のスクリーンショットはSWAで新しいカレンダーを表示したものです。
操作
コマンドのまとめ
次の新しいコマンドが導入されました。
| sxpfadd | プロキシーフォルダの追加 |
| sxpfdel | プロキシーフォルダの削除 |
| sxpfmod | プロキシーフォルダの修正 |
| sxpflist | プロキシーフォルダの一覧 |
| sxpfshow | プロキシーフォルダの詳細表示 |
| sxpfsync | プロキシーフォルダのコンテンツの更新 |
パラメータや使い方の詳細な情報は、対応するmanページを表示したり、コマンドに--helpパラメータを付けて実行したりすることにより見ることができます。
プロキシーフォルダのステータス
Proxy Folders can be in one of the following states:
プロキシーフォルダは次のステータスのどれか一つになります。
| CREATED | 作成したが、データを取得していない |
| SYNCING | 同期中である |
| SYNCED | 同期が成功した |
| DELETED | プロキシーフォルダには削除マークが付与されている |
| ERROR | エラーが起きた |
プロキシーフォルダの修正方法
プロキシーフォルダ上の操作はフォルダを識別するdirect refを使って行うことができます。 direct refはプロキシーフォルダを含めたシステム上の各オブジェクトに付いているユニークIDです。 sxpflistを使って、すべてのプロキシーフォルダのdirect refを見つけることができます。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 00010a045cd0828e ERROR Feed Demo/webcal/german 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat 00010010aba9bfc3 SYNCED Feed Demo/webcal/argentina
左側にある数値が各フォルダのdirect refです。
更新間隔の変更方法
londonフィードの更新間隔を8時間毎に変更するには、次のように実行します。
$ sxpfmod -d 0001160b79fc8cd8 -i 8h
Proxy Folder info file: /var/opt/scalix/do/s/proxy/00001dr/info
USER_CN=Feed Demo
AUTH_ID=Feed.Demo@scalix.com
FOLDER=feeds/london
CLASS=IPF.Note
DREF=0001160b79fc8cd8
SOURCE_URL=http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml
SOURCE_TYPE=RSS
SYNC_INTERVAL=8h
プロキシーフォルダの削除方法
プロキシーフォルダを削除するには、そのフォルダのdirect refを指定してsxpfdelを実行します。
$ sxpfdel -d 00010010aba9bfc3 Proxy Folder 'webcal/argentina' deleted
そのフォルダに削除マークが付いたのがわかります。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 00010a045cd0828e SYNCED Feed Demo/webcal/german 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat 00010010aba9bfc3 DELETED Feed Demo/webcal/argentina
このフォルダにすべてのユーザがアクセスした後に、完全に削除されます。
プロキシーフォルダの追加特性
プロキシーフォルダの管理はコマンドラインツールで行います。
標準のScalixの方法で再エクスポートできます。
普通のフォルダと比べて、いくつかの点でプロキシーフォルダは異なる動作を行います。
| リードオンリー | プロキシーフォルダは読み込み専用である。 |
| omscan | プロキシーフォルダはomscanの対象外である。 |
| 削除 | 削除された時にコンテンツはリカバリフォルダに移動しない。 |
| インデックス | プロキシーフォルダにはインデックスが作成され、コンテンツは検索結果に含まれる。 |
制限
11.4では次の制限がプロキシーフォルダに適応されます。
| Admin only | 現時点では管理者のみがプロキシーフォルダの作成、編集、削除を行うことができる。さらに、ユーザ用のUIはない。 |
| No Auth | 現時点は、認証を必要とするフィードはサポートしていない。 |
| Characters | プロキシーフォルダの名前は次の文字を含めることができない。 (See Bug 17021, 17118): $ % * / # [ ] |
| Max No. | 最初の100エントリのみがフィードが処理され、残りは無視される。 |
| Aging | フィードで提供されなくなった項目は、プロキシーフォルダから削除される。 |
| URL | http:// URLs are supported のみをサポートしている。 webcal:// とJavaScriptのリダイレクトはサポートされない。 (See Bug #17064). |
| Username | ユーザ名に中国語や日本語を含んでいるときにはsxpfaddはプロキシーフォルダの作成に失敗する。 (See Bug #17220). この問題を回避するにはユーザ名の代わりに認証IDを使うことができる。 |
| Quota | プロキシーフォルダのコンテンツはユーザのメールボックスサイズに含まれる。 (See Bug #17282). |
| sxmboxexp | sxmboxexpはプロキシーフォルダをエクスポートする (See Bug #17283). |
Scalixは後のリリースでこれらの問題に対応する計画があります。
トラブルシューティング
ログへのアクセス方法
以下に掲げる2つの場所と並んで~/logs/daemon.stderrにもログを書きます。 これは既知のバグであり、将来修正される予定です。(see #17249)
バックグランドサービス用のログファイルの場所
プロキシーフォルダのバックグランドサービスは次のファイルにログを書きます。
~/proxy/log
このログファイルには最大1000エントリを含むことができ、その後循環します。
特定のプロキシーフォルダのログへのアクセス方法
sxpfshowコマンドを使って、ログにアクセスすることができます。
$ sxpfshow -d 0001160b79fc8cd8 -l
Proxy Folder info file: /var/opt/scalix/do/s/proxy/00001dr/info
USER_CN=Feed Demo
AUTH_ID=Feed.Demo@scalix.com
FOLDER=feeds/london
CLASS=IPF.Note
DREF=0001160b79fc8cd8
SOURCE_URL=http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml
SOURCE_TYPE=RSS
SYNC_INTERVAL=8h
2008-04-17 06:38:14 SYNCED
2008-04-17 06:38:08 Proxy Folder created OK: 'feeds/london' (DirectRef: 0001160b79fc8cd8)
2008-04-17 06:38:08 Populating Proxy Folder from: \
http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml
2008-04-17 06:38:08 Proxy Folder Sync start (RSS source)
2008-04-17 06:38:08 pfRSS -f Feed.Demo@scalix.com/feeds/london \
-u http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml \
-w /var/opt/scalix/do/s/proxy/temp/00001dr -d /var/opt/scalix/do/s/proxy/00001dr
2008-04-17 06:38:08 Updating folder 'Feed.Demo@scalix.com/feeds/london'
2008-04-17 06:38:08 From
'http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml'
2008-04-17 06:38:09 06:38:09 URL:
http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml [6088/6088] \
-> "/var/opt/scalix/do/s/proxy/temp/00001dr/data.raw" [1]
2008-04-17 06:38:09 0 items currently in folder
2008-04-17 06:38:09 Adding item: Labour Hoey would help Tory mayor
2008-04-17 06:38:10 Adding item: Truckers in diesel price protest
2008-04-17 06:38:10 Adding item: UK arrests in Tamil Tigers probe
2008-04-17 06:38:10 Adding item: Are electoral slogans working?
2008-04-17 06:38:10 Adding item: Disabled boy awarded £3m payout
2008-04-17 06:38:11 Adding item: Heathrow rapped by US air chief
2008-04-17 06:38:11 Adding item: WWII planes back RAF hero statue
2008-04-17 06:38:11 Adding item: Paddick urges bus driver action
2008-04-17 06:38:12 Adding item: Service marks church restoration
2008-04-17 06:38:12 0 old item(s) removed
2008-04-17 06:38:14 9 new item(s) added
2008-04-17 06:38:14 Validating updated Proxy Folder contents...
2008-04-17 06:38:14 Deleting work files in /var/opt/scalix/do/s/proxy/temp/00001dr
2008-04-17 06:38:14 Sync completed OK
sxpfshowコマンドを使って、ディスク上のフォルダの位置を取得することもできます。
$ sxpfshow -d 0001160b79fc8cd8 Proxy Folder info file: /var/opt/scalix/do/s/proxy/00001dr/info ...
lessのようなコマンドを使ってログを見ることもできます。
$ less /var/opt/scalix/do/s/proxy/00001dr/log
ログファイルは最大10回の更新を含み、後に循環します。
プロキシーフォルダのステータスや詳細情報の取得方法
sxpflistを使って、プロキシーフォルダのステータスを取得することができます。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 00010a045cd0828e SYNCED Feed Demo/webcal/german 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat
or run sxpfshow with the direct ref of the folder in question as parameter:
$ sxpfshow -d 0001160b79fc8cd8
Proxy Folder info file: /var/opt/scalix/do/s/proxy/00001dr/info
USER_CN=Feed Demo
AUTH_ID=Feed.Demo@scalix.com
FOLDER=feeds/london
CLASS=IPF.Note
DREF=0001160b79fc8cd8
SOURCE_URL=http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/england/london/rss.xml
SOURCE_TYPE=RSS
SYNC_INTERVAL=8h
2008-04-17 06:38:14 SYNCED
フォルダは作成されたが、データを取得できない
フォルダの作成時にサポートされていない文字を使っていないかを確認してください。 詳しくはこの文書の「制限」の項目を読んでください。
同期の実行
フォルダにフィードデータを取得している時にエラーが発生した時、例えば次の時、
$ sxpfadd -n "Feed Demo" -t webcal -i 1d -f "webcal/german" \
-u "http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics"
Creating 'webcal/german'
From webcal feed 'http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics'
Proxy Folder created OK: 'webcal/german' (DirectRef: 00010a045cd0828e)
Populating Proxy Folder from: \
http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics
Proxy Folder Sync start (WebCAL source)
Updating folder 'Feed.Demo@scalix.com/webcal/german'
From 'http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics'
0 items currently in folder
0 old item(s) removed
73 new item(s) added
Validating updated Proxy Folder contents...
Warning: Msg without X-Scalix-Proxy-Id: 00010a41cd549087 Silvester
54d53
< A9CBEA60-EB2E-4F6A-A56D-E9E7EF7FFA75-SEQ-5@www.aslashv.dreamhost.com
73a73
> <No_Proxy_Id_for_00010a41cd549087>
*** Updated contents don't match external data
あるいは、sxpflistの実行中にエラーがあるとき、
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 00010a045cd0828e ERROR Feed Demo/webcal/german 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat 00010010aba9bfc3 SYNCED Feed Demo/webcal/argentina
次のコマンドを実行中にフォルダの同期を実行することができます。(このケースではドイツの休日のwebcal)
$ sxpfsync -d 00010a045cd0828e -v Proxy Folder Sync start (WebCAL source) pfWebCAL -f Feed.Demo@scalix.com/webcal/german \ -u http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics \ -w /var/opt/scalix/do/s/proxy/temp/00001e7 \ -d /var/opt/scalix/do/s/proxy/00001e7 -v Updating folder 'Feed.Demo@scalix.com/webcal/german' From 'http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics' 08:04:47 URL:http://www.aslashv.dreamhost.com/davpublic/feste%20Feiertage.ics [19342/19342] \ -> "/var/opt/scalix/do/s/proxy/temp/00001e7/data.ics" [1] 73 items currently in folder Msg already exists: 3202CC3C-E114-4D67-8602-68C160D66623-SEQ-4@www.aslashv.dreamhost.com Msg already exists: 5F679E5F-FD56-4E6D-B424-F9A364A44525-SEQ-4@www.aslashv.dreamhost.com ... Msg already exists: 36C34637-AA9C-420B-B62B-471E450FB2E1-SEQ-3@www.aslashv.dreamhost.com 0 old item(s) removed 0 new item(s) added Deleting work files in /var/opt/scalix/do/s/proxy/temp/00001e7 Sync completed OK
sxpflistを再び実行すると、フィードがSYNCEDステータスになっているのを見ることができます。
$ sxpflist 0001160b79fc8cd8 SYNCED Feed Demo/feeds/london 00010a045cd0828e SYNCED Feed Demo/webcal/german 0001000cd78c3e10 SYNCED Public Folders/feeds/software/freshmeat 00010010aba9bfc3 SYNCED Feed Demo/webcal/argentina
sxpfsyncコマンドはプロキシーフォルダを(-rオプションで)再初期化することもできます。
実装の詳細
外部データはScalixフォルダの中ではメッセージとして表現されています。 これはサーバ側のローカルキャッシュ中に維持されます。 そのため、ユーザのメールボックスにマップされるリモートコンテンツの効率的なコピーになります。
キャッシュのコンテンツは~/proxy内に保存されます。
バックグランドサービス(pf)はフィードをダウンロードしたり、外部コマンドwgetを利用したり、プロキシーフォルダを更新したりすることに責任を持ちます。 そのサービスは次のコマンドを実行することにより個別に起動できます。
$ omon pf
次のコマンドで停止できます。
$ omoff pf
フィードデータはダウンロードされた後に、変換され、IMAP経由でプロキシーフォルダに挿入されます。 このために、"Proxy-Folder Admin"と呼ばれる特種な管理ユーザが使われます。このユーザは間違って削除されたら自動的に再作成されます。
保持オプション(-D)を使ってsxpfsyncを実行すると更新処理中に作成されるすべての一時ファイルを検査します。
$ sxpfsync -d 0001000cd78c3e10 -r -D Proxy Folder Sync start (RSS source) Updating folder 'Public Folders/feeds/software/freshmeat' From 'http://feeds.pheedo.com/freshmeatnet_announcements_global' 73 items currently in folder 73 old item(s) removed 73 new item(s) added Validating updated Proxy Folder contents... Work files retained in /var/opt/scalix/do/s/proxy/temp/00001es Sync completed OK
これは外部データとマップされたコンテンツとIMAPコマンドと応答を含みます。



