iBlogBEAMマニュアル


1. iBlogBEAMとは

1.1 概要

iBlogBEAMは、メールやWebを利用してiBlogエントリの登録などをするためのアプリケーションです。

このアプリケーションを利用することで、自宅外からiBlogに新規エントリを登録することが可能となります。
メールを送信する側についての制約は少ないので、会社のメーラーからでも、携帯電話からでもiBlogのエントリを登録することが可能です。
バージョン0.2.5から、iBlogBEAM Web というサイトと連携することでWebからのエントリ登録も可能となりました。

バージョン0.2から、外部のコマンドを実行する機能がついたので、iBlogPostPoroessiblogPatcherな どの利用が可能となりました。

1.2. 動作原理

iBlogBEAMは、2つのソフトウェア(for_iBlogBEAM.scptとiBlogBEAM.app)で構成されており、それらが、 Mail.appとiBlogと連携することで動作します。
※以降、【iBlogBEAM】はfor_iBlogBEAM.scptとiBlogBEAMの2つからなるソフトウェア構成を指し、 【iBlogBEAM.app】はアプリケーション単体を指すこととします。

iBlogBEAM Webは、iBlogBEAMのフォーマットでメールを送信するために利用するWebアプリケーションです。詳しくはiBlogBEAM Webのサイトを参照してください。

1.2.1. Mail.appの基礎知識

Mail.appは通常メールを定期的に自動で取り込みます。
また、Mail.appには、「ルール」という機能を使うことで、条件に適合したメールの受信時に、指定したAppleScriptスクリプトを実行をす ることができます。


1.2.2. メール受信からiBlogにおけるエントリ登録までの流れ

  1. Mail.appが定期的な処理により、登録用のメールを受信する。
  2. Mail.appは、for_iBlogBEAM.scptのスクリプトを呼び出す条件を確認し、成立したらスクリプトを呼び出す。
  3. for_iBlogBEAM.scptスクリプトは、メールのメッセージをとりまとめ、iBlogBEAM.appへ引き渡す。
  4. iBlogBEAM.appは、iBlogを操作(GUI Scripting)して、新規エントリを登録する

1.3. システム要件

以下のソフトウェアに依存しております。


バージョンについては、テストしているもの、または動作報告のあったものを記載しております。
ここに記載以外のバージョンでも動作する可能性はあります。ただし、Mac OS Xは、GUI Scriptingを使用しているため10.3以上が必須です。10.2などでGUI Scriptingを使えるようにした環境で動作するかテストしておりません。

iBlogBEAM Webとの連動の際に動的パスワードを利用する場合は、OpenSSLが利用できる必要があります。Mac OS XをBSDつきでインストールすると標準で入っているものです。

2. インストール

2.1. 概要

iBlogBEAMは2つのソフトウェア(for_iBlogBEAM.scptとiBlogBEAM.app)により構成されています。
よって、インストール作業は2つのソフトウェアについて実施します。

2.2. for_iBlogBEAM.scptのインストール

2.2.1. for_iBlogBEAM.scptについて

英語版も用意している都合上、for_iBlogBEAM.scptには次のように英語版と日本語版があります。
お使いの環境によって、使用するファイルを選択してください。当然ながら、異なるファイルを利用すると正常に動作しません。また、 for_iBlogBEAM.scptとiBlogBEAM.appは、対応関係にあるため、異なるバージョンのものを利用すると動作しません。同じバー ジョンのものをご利用ください。

なお、一時存在していた、デバッグあり/なしによるファイルの分類はなくなりました。
これは、iBlogBEAM.appにてログ出力の設定が可能となったので、for_iBlogBEAM.scptからは特に設定しないこととしたためで す。

以下では、選択したファイルをfor_iBlogBEAM.scptに改名したこととして説明をいたします。
ちなみに、iBlogBEAM.appは1つのみで英語と日本語に対応しています。

2.2.2. for_iBlogBEAM.scptを任意な場所に配置する

Homeディレクトリの下の【ライブラリ:Scripts:Mail Scripts(=~/Library/Scripts/Mail\ Scripts)】の下がお勧めです。3.4.2.節の処理を実施したい場合はお勧めのディレクトリに配置するようにしてください。3.4.2.節の処理 をあまり実行しない場合には、Mail.app側で処理する際にファイルを直接指定できるので、お勧め以外のフォルダでも問題ありません。

2.2.3. Mail.appに登録する。

Mail.appにおいて

Mailメニュー → 環境設定... → ルール

と選択すると、ルールを設定する下図の画面が表示されます。


図1.ルールの設定画面

iBlogBEAM用のルールを追加するために、この画面において【ルールを追加】ボタンを押します。
ルールを設定するシートが表示されるので、下図の設定例を参考にして設定してください。



図2.iBlogBEAM用のルールの設定例

上記の設定において、【もし】の部分は、利用者で任意に設定してかまいません。AppleScriptを実行する対象を絞り込むためのものであるので、関 係のないメールを処理対象としたくない場合は、厳しい条件にすると良いでしょう。上記の例では、特定のメールアドレス(foo@bar.com)宛のメー ルで、Subject(件名)が[iBlog]で始まるものを処理対象としています。

【以下の動作を実行】の部分は、必ず【AppleScriptを実行】としてください。そして、2.2.2.節において配置した、 for_iBlogBEAM.scptを指定してください。


2.3. iBlogBEAM.appのインストール

iBlogBEAM.appをアプリケーションフォルダ【(HDD):アプリケーション(=/Applications)】に配置します。
ここ以外に配置するとうまく動作しない可能性があります。

2.4. GUI Scriptingの有効化

システム環境設定において

ユニバーサルアクセス → 画面表示

と選択すると、下図のような設定画面がでます。


図3.GUI Scriptingの有効化

図3において、ウィンドウ下部にある【補助装置にアクセスできるようにする】(赤く印を付けた部分)をチェック状態にします。


3. 操作マニュアル

3.1. 基本設定をする

iBlogBEAMを動作させるための基本的な設定方法について説明します。
iBlogBEAM.appにおいて

iBlogBEAMメニュー → 環境設定... → 基本

と選択すると、下図のような基本設定のための画面が表示されます。


図4.基本設定用画面

3.1.1. バージョンを設定する

iBlogBEAMの操作するiBlogのバージョンを設定する必要があります。
iBlogBEAMで操作可能なバージョン一覧が、図4の(1)の部分に表示されるので、ご利用のバージョンを選択してください。
現時点では、


が選択可能です。
【1.3.4.summary】はiBlogの1.3.4の開発版に対応したものです。1.3.4にない要約機能がついています。
【1.3.5 or later】はiBlogの1.3.5, 1.3.6, 1.3.7B1,1.3.8に対応したものです。

選択したバージョンでiBlogBEAM.appが正常にiBlogを操作できるか確認する必要があります。
確認するためには、図4の(2)の【動作テスト】ボタンを押してください。iBlogBEAM.appからiBlogに対して操作可能かテストを実施し ます。テスト結果はすぐに表示されます。
もし、失敗した場合は、別のバージョンにお試しください。

なお、iBlogBEAM.appが実際に使用する際に意識するバージョンは、図4の(12)の【保存】ボタンを押して保存されたバージョンです。【動作 テ スト】ボタンのみ、現在表示されているバージョンでテストします。


3.1.2. パスワードを設定する

iBlogBEAM用メールの正当な送信者であることを判別するために、パスワードを設定します。
つまり、第三者が自分のiBlogに記事を登録するのを防ぐためのパスワードです。
デフォルト値は【iBlogBEAM】です。上記理由から、変更することをお勧めします。

パスワードは、図4の(3)において設定します。

iBlogBEAM Webを利用する場合は、動的パスワードが使用できます。動的パスワードを利用する場合は、図4の(16)のチェックをオンにしてください。オンの場合 は、まず動的パスワードによるチェックを行い、失敗したら通常のパスワードチェックを行うようになります。


3.1.3. 時間に関する設定をする

iBlogBEAMが処理する際に利用する、時間に関する情報を設定します。

3.1.4. 区切り文字を設定する

iBlogBEAMは、メールの本文からiBlogの新規エントリを作成します。そのため、新規エントリに必要な情報をすべてメールに含める必要がありま す。現在のiBlogBEAMでは、メール本文にすべての必要な情報を含める形のフォーマットを採用しています。そのフォーマットにおいて、iBlogで 必要な要素を区切るための文字を【区切り文字】と呼んでいます。
デフォルト値は【::】です。Blogの内容で【::】を使用する人は変更する必要がありますが、多くの人はこのままでも問題ないと思われます。

区切り文字は、図4の(6)において設定します。

メールの本文の記述フォーマットは、区切り文字によって、


と区切られ、図4の(7)のようになります。
【無視】の内容はどこからも使用されません。メールの署名やフリーメールによる末尾に追記に対応するために導入されました(このアイデアは池上様からいただ きましたありがとうございます)。

ここの記述は、区切り文字が変更されると一緒に変更されます。

3.1.5. 公開時にiDiskの確認ダイアログについて設定する

iDiskのローカルコピーは、iBlogの動作に影響を与えるため、設定する必要があります。
iBlogの1.3.5からiDiskのローカルコピーをしようしていてもダイアログをでなくすることが可能となりました。
公開時にiDiskのローカルコピーに関する確認ダイアログがでるような設定をしている場合は、 図4の(8)にチェックをつけます。

iDiskのローカルコピーを作成しているかどうか不明な方は、以下の手順で確認してください。

システム環境設定において

.Mac → iDisk

と選択すると、下図のような設定画面がでます。


iDisk
図5.iDiskのローカルコピーの確認

この図において、赤で囲まれた部分がチェックされていれば、iDiskのローカルコピー を作成していることになります。

iDiskのローカルコピーを作成している人は、バージョン1.3.5より古いiBlogでは【公開】するたびに、「iDiskのローカルコピーに対して 公開する」旨のダイアログが常に表示されます。
iBlogのバージョン1.3.5では、iDiskのローカルコピーを作成している場合、【公開】する際に、下図のような確認ダイアログが表示されます。

iDisk dialog
図6.iDiskのローカルコピーに対するダイアログ


このダイアログには、【Do Not Show Again】というボタンがついています。これを押すと、次回以降の【公開】の際に、このダイアログが表示されなくなります。

以上より、図4の(8)のチェックの設定の仕方をまとめますと次のようになります。

3.1.6. ログ出力について設定する

iBlogBEAM.appの処理状況を確認するために、ログを出力することができます。
図4の(9)にて設定します。チェックを入れるとログが出力されます。

出力されたログの確認方法は、3.5.2.節を参照ください。


3.1.7. ログのメール送信について設定する

iBlogBEAMの処理の様子を確認したい場合は、ログの内容をメールで受信することができます。
ログをメールで受信したい場合は、図4の(10)にて設定します。チェックを入れるとログの内容がメール送信元にメールされます。なお、この機能は Mail.appを利用しております。

送信されるメールのToは、上記の通り、iBlogBEAM用のメールの送信元のメールアドレスになります。
送信されるメールのFromは、iBlogBEAM用のメールの送信先のメールアドレスになります。

メールを送信する場合には、ログの出力が必須となります。よって、ログの出力がオフでメール送信するという設定はできないように以下の制御をしています。


iBlogBEAM Web を利用する場合は、iblogbeamweb@piyosystems.com というメールアドレスからiBlogBEAM用のメールが送信されます。この際に、ログを送信する先のメールアドレスを変更できます。
iBlogBEAM Web を利用した際にメールの送信先を変更したい場合は、図4の(17)にて設定します。この欄に送信先のメールアドレスを入力すると、iBlogBEAM Web からのメールについては、指定された送信先にログが送信されます。

3.1.8. エントリの内容をHTMLと見なす

メールからの送信の場合、使用するメーラーによって意図しない場所に改行が挿入されてしまう場合があります。この対策として、エントリの内容部分を HTMLフォーマットと見なすことが可能です。

この機能は、図4の(7)において、エントリの内容となっていると部分をHTMLCodeタグで囲むことで実現されています。

この機能は、図4の(11)にて設定します。ここの部分にチェックを入れると、エントリの内容がHTMLCodeタグで囲まれることになります。

3.1.9. 画像付きメールについて設定する

携帯電話の画像付きメールの表示について設定が可能です。
設定をするには、図4の(12)、(13)を利用します。

図4の(12)の説明

(12)で画像についての表示についての設定をします。ここには、
の選択肢が存在します。

図4の(13)の説明

(13)で画像表示の際に一時的に利用するフォルダの場所をUnix形式で指定しま す。ここのフォルダの内容は削 除されますので、専用のフォルダを指定してください。


3.1.10. 基本設定を保存した状態に戻す

保存した状態に戻すには、図4の(14)の【リセット】ボタンを押すと保存した時点の情報に戻ります。


3.1.11. 基本設定を保存する

基本設定を保存するには、図4の(15)の【保存】ボタンを押すとその時点の情報が保存されます。


3.2. 動作を設定する

iBlogBEAMはメールからiBlogの新規エントリを作成・公開することを主目的としたソフトウェアです。iBlogの公開までの処理内容は利用者 により異なるため、iBlogBEAMはバージョン0.2より、外部コマンドの利用も含めた複数の動作を、条件判定付きで設定できるようにしています。

動作の設定は、

iBlogBEAMメニュー → 環境設定... → 動作

と選択すると、下図のような遅延時間を設定のための画面が表示されます。


図7.遅延時間設定用画面


3.2.1. 動作を設定する

図7の(1)の部分に、条件と成立したときの動作を指定します。全部で5つの動作を設定することができ、上から順番に処理されていきます。

動作設定部分は、下図のような構成になっています。

action setting
図8.動作設定部分


図8の(1)から(3)が、条件を設定する部分で、(4)と(5)が動作指定部分です。つまり、iBlogBEAM.appが処理する際、(1)から (3) が成立した場合、(4)と(5)で指定した動作が実行されることになります。
ただし、(2),(3),(5)の部分は、(1)と(4)の内容により、表示されてたり、されなかったりします。

[1] 条件設定
条件設定は、図8の(1)から(3)で設定します。

(1)の説明

(1)には

の選択肢があります。ただし、【result】は一つ前の処理の結果を意味するので、一番先頭のものには存在しません。

【常に】を選択すると、(2),(3)部分は表示されません。【常に】は無条件で、動作を実行することを意味します。

【常に】以外を選択すると、(2),(3)部分が表示されます。【常に】以外は、(1)で選択された内容が(2),(3)の条件にあった場合に、動作を実 行することを意味します。

(2)の説明

(2)には


の選択肢があります。

これらは、【(1)で選択した内容】と【(3)で指定した文字列】を比較するための選択肢です。選択肢中の【次】とは(3)の部分を指しています。

(3)の説明

(3)は、【(1)で選択した内容】と比較するための文字列を入力します。比較条件は (2)で選択します。


[2] 動作設定
動作設定は図8の(4)と(5)で設定します。

(4)の説明

(4)には、
の選択肢があります。

【次のコマンドを実行する】以外を選択すると、(5)は表示されません。
【次のコマンドを実行する】を選択すると、(5)が表示されます。

それぞれの動作の意味は以下の通りです。


【プレビューする】/【公開する】については、新規エントリが同一処理中に作成された かどうかを実行条件とできます。これは図8の(2)で設定します。


(5)の説明

実行するコマンドをUnix形式で指定します。ターミナル上で実行できるコマンドであ れば実行可能であると思われます。パスが通っていれば、フルパスで指定する必要はありませんが、フルパスで書いた方が無難と思われます。

例えば、iBlogPostProcess.command が、/Applications/iBlogPostProcess1.1.0 に存在するのであれば、

/Applications/iBlogPostProcess1.1.0/iBlogPostProcess.command

を入力してください。


[3] 例

action sample
図9.動作設定例

上図は、以下の処理が行われます。


3.2.2. 動作の設定を初期値に戻す

図7の設定内容を保存した状態ではなく、初期値に戻したい場合は、図7の(3)のボタンを押してください。図7の状態に戻ります。


3.2.3. 動作の設定を保存した状態に戻す

動作の設定を保存した状態に戻すには、図7の(4)の【リセット】ボタンを押します。


3.2.4. 動作の設定を保存する

動作の設定を保存するには、図7の(5)の【保存】ボタンを押します。


3.3. Mail.appを使用せずにiBlogBEAM.appから指定の動作を実行する

iBlogBEAMの基本的な使い方は、Mail.appと連動し、【環境設定】-【動作】で設定した動作を実行させることです。

ただ、基本設定などを変更した際に、メールと連動する部分から動作のテストするのは大変です。そこで、iBlogBEAM.appには練 習用として、メール連動なしで、直接メール本文を記述してiBlogとの連動を試すことができます。この節ではその操作方法について説明します。

なお、練習とありますが、


の2点以外は、Mail.appを使用した場合と同じとなります。


iBlogBEAM.appにおいて

ツール → 練習...

を選択すると、下図のような練習用のウィンドウが表示されます。


図10.練習用ウィンドウ

3.3.1. 登録する内容を記述する

【環境設定】で設定した内容を踏まえて、メールの本文に記述する内容を図10のテキスト入力欄に記入します。

3.3.2. 登録する内容を保存する

練習用ウィンドウのテキスト入力欄に入力した内容を保存する場合は、図10の【保存】ボタンを押します。

3.3.3. 登録する内容を保存した状態に戻す

練習用ウィンドウのテキスト入力欄を保存した状態に戻すには、図10の【リセット】ボタンを押します。

3.3.4. 入力した内容をクリアする

練習用ウィンドウのテキスト入力欄をクリアするには、図10の【クリア】ボタンを押します。

3.3.4. 実行する

Mail.appを使用せずに、【環境設定】-【動作】の動作を実行するには、図10の【実行】ボタンを押します。

ちなみに、図8の設定で、練習用ウィンドウでメール本文に、【my blog name】のみを記述して、【実行】ボタンを押すと、

  1. メールではないので、最初の条件は不成立。よって、新規エントリの作成はしない。
  2. 無条件で、プレビューの実行
  3. メール本文に、【my blog name】があるので、【/usr/local/bin/scriptA.sh】が実行される。
  4. メール本文に、【my blog2 name】がないので、条件不成立。
  5. 無条件で、公開の実行
という動作をします。つまり、メールを利用した新規エントリを作成しない場合(手動で、新規エントリを作成した場合)でも、いつもの共通処理を実行するた めに、iBlogBEAMを利用することが可能となります。

3.4. Mail.appを使用してiBlogBEAM.appから指定の動作を実行する

Mail.appを使用してiBlogBEAM.appから指定の動作を実行するには、


の2通り存在します。この節ではこれらの方法について説明します。

3.4.1. 新規受信メールを使用してiBlogBEAM.appから指定の動作を実行する(自動)

通常、最も利用される方法です。
以下の2点に考慮すれば、Mail.appが該当メールを受信したときにiBlogBEAM.appから指定の動作が実行されます。

例:
これらの条件を踏まえて作成したメールのサンプルは図11のようになります。



図11.メールサンプル

この例のメール本体は以下の通りになります。

iBlogBEAM::foo::bar::テスト::iBlogBEAMによるテストを実施::iBlogBEAMによるテストを 実施してみました。一応登録されたみたい。

これを送信すると、foo@bar.comのアカウントで受信した(2.2.節で設定 された)Mail.appが、for_iBlogBEAM.scptを呼び出し、iBlogBEAMを使用してiBlogに新エントリを登録することにな ります。

3.4.2. 既存受信メールを使用してiBlogBEAM.appから指定の動作を実行する(明示)

既に受信したメールを明示的にメールを指定して、iBlogBEAM.appから指定の動作を実行する方法です。
テストや練習の際に利用されることが多いと思われます。

注意)この方法は、2.2.2.節において推奨するディレクトリにfor_iBlogBEAM.scptを配置した場合に適用できます。

Mail.appで、iBlogBEAM.appに登録したいメールを選択した状態で、メニューからAppleScript(図12の赤く囲まれている部 分) を選択します。



図12.Mail.appのメニュー


このメニューからfor_iBlogBEAM(図13参照)を選択します。
注意)Mail.appにfor_iBlogBEAM.scptを違う名前で登録した場合は、その名前を選択してください。



図13.for_iBlogBEAMの選択

この操作により、選択したメールが処理されます。この際、複数のメールを選択しても処理されます。
複数のメールを処理し、ログを送信元にメールする場合、選択された複数メールの最初の送信元にすべての処理のログが送信されます。それぞれの送信元にメー ルされるわけではありません。


3.5. ログの表示

正常に動作しない場合に、動作を確認するためにログを表示させることができます。

3.5.1. ログを表示するようにする

3.1.6.節にて説明しているので参照してください。

3.5.2. ログを確認する

デバッグ情報は、 iBlogBEAM.appにおいて

ツール → ログ...

を選択すると、下図のようなログが表示されるログウィンドウが表示されます。


図14.ログウィンドウ

3.5.1.節に従って、表示するように設定されている場合、上図のようにデバッグ情報が表示されます。表示しないように設定されている場合は、ログウィ ンドウには何も表示されません。

5. 著作権

iBlogBEAMの著作権は、FreeBSDの著作権に由来するものです。

Copyright 2005 kuki<kuki@piyosystems.com> All rights  reserved.

Redistribution and use in source and binary forms, with or  without modification, are permitted provided that the following  conditions are met:

  1. Redistributions of source code must retain the above  copyright notice, this list of conditions and the following  disclaimer.
  2. Redistributions in binary form must reproduce the above  copyright notice, this list of conditions and the following  disclaimer in the documentation and/or other materials  provided with the distribution.

THIS SOFTWARE IS PROVIDED BY KUKI ``AS IS''  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT  SHALL KUKI OR CONTRIBUTORS BE LIABLE FOR ANY  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY  OF SUCH DAMAGE.


日本語訳
Copyright 2005 kuki<kuki@piyosystems.com> All rights  reserved.

ソースコード形式であれバイナリ形式であれ、変更の有無に  関わらず、以下の条件を満たす限りにおいて、再配布および使用を許可します:
  1. ソースコード形式で再配布する場合、上記著作権表示、  本条件書および下記責任限定規定を必ず含めてください。
  2. バイナリ形式で再配布する場合、上記著作権表示、  本条件書および下記責任限定規定を、配布物とともに提供される文書  および/または 他の資料に必ず含めてください。

本ソフトウェアは ’くき’によって、”現状のまま” 提供されるものとします。  本ソフトウェアについては、明示黙示を問わず、  商用品として通常そなえるべき品質をそなえているとの保証も、  特定の目的に適合するとの保証を含め、何の保証もなされません。  事由のいかんを問わず、 損害発生の原因いかんを問わず、且つ、  責任の根拠が契約であるか厳格責任であるか (過失その他)  不法行為であるかを問わず、 ’くき’も寄与者も、  仮にそのような損害が発生する可能性を知らされていたとしても、  本ソフトウェアの使用から発生した直接損害、間接損害、偶発的な損害、  特別損害、懲罰的損害または結果損害のいずれに対しても  (代替品または サービスの提供;  使用機会、データまたは利益の損失の補償;  または、業務の中断に対する補償を含め)  責任をいっさい負いません。