サービス管理  
 ・最終登録日 2000/8/15
 ・スクリプトファイル名 ServiceAdmin.csf
 ・サービス名 サービス管理
 ・ダウンロード ServiceAdmin.lzh (1.0以降)

更新情報  
   
 2000/8/15
 Ver.0.0.8a
個々のサービス及びバージョン情報ファイルにおける
動作保証するCHOCOAバージョン番号の標記仕様を
変更しました.
単純に 1.0f2 のようにだけ書いてある場合、1.0f2以降
として扱い、fの後のリリース番号で判定します.
「1.0」の場合は全ての正式版、「1.0f」の場合は
1.0f1以降のCHOCOAを指すようにしています.

またこのサービスのメニューに表示されている全ての
サービスについて、一括してリロードを行うメニューを
新たに追加しています.

 2000/7/29
 Ver.0.0.8
CHOCOA1.0f2上での更新処理時にエラーが表示されて
いたので修正を行いました.
(処理自体には影響無かったようですが)

CHOCOAのインストールされたフォルダをエクスプローラで
表示できるメニュー項目も追加してあります.

 2000/1/29 以前から、自動オペレータ+使っている方の意見として、
チャンネルにおけるメッセージに対する自動反応、
ニック変更時の自動反応の設定が、別ファイルに
なっていないため、上書きしての自動更新が使えず面倒だ、
との意見がありました.

別ファイルにすると反応するか否かのチェックを全て
自前でしなければならず、重たくなってしまうことが
懸念としてあり、別ファイルによる対応は見送っていました.

そこで、サービスの更新時にそれまでの設定を読み込んで、
新しいバージョンのデフォルト設定と置き換えてしまえば
良いのでは、と考えてサービス管理に手を加えました.

設定の引き継ぎ作業に少し時間がかかりますが、完全に
自動でバージョンアップできるメリットは大きいと思います.

どのイベントを引き継ぎの対象にするかは、サービスの
作成者が、サーバのスクリプトファイルと同じディレクトリに
Event_def.txt というファイルを用意して指定します.
このファイルの記述方法は、下に書いておきます.

#0.0.7aで複数のイベント記述ファイルを使えるように
 若干修正しました.Event_defの後に数字等を
 付加できます.

 2000/1/4 CHOCOA1.0正式版専用のサービスとしました.
更新時に生じる可能性のあった表示の不具合も
修正しています.

 1999/11/26 CHOCOA1.0正式版に対応しました.
$versionで得られる情報は 1.0R であると
確信していたのですが、何故かそうではないようでした.
バージョン情報やCTCP VERSIONでも1.0Rなので
何かの間違いかもしれませんが、対応する必要が
生じたので例外措置を書き加えました

あと起動時のサービスの動作が保証されない云々と
いうメッセージを廃止しました.正式版が出た今
もう必要のないメッセージと判断したからです.

 1999/9/4 このサービスは、更新チェックでバージョンアップされた
サービスを検出すると、スクリプトのダウンロードのみを
行う仕様でした.設定を行う必要のあるサービスへの
対応でした.

しかし、設定する必要のないサービスや、設定を
別ファイルに記述しているサービスなら、ダウンロード後に
すぐに利用可能な状態にしても問題ないはずです.
そこで新たにこれを実現できるような機能を追加しました.

設定の必要ないサービス、設定が別ファイルのサービス、
というのはサービスの作成者が判断できるものなので、
サーバに置くバージョン定義ファイルに少し書き加える
ことで自動更新されるような記述となるようにしました.

自動オペレータ+のように、最新バージョンで設定を
別ファイルに書くように仕様変更した場合、その設定
ファイルもダウンロードしてもらう必要がありますが、
これをサポートできるようにサービス管理では新たに
複数ファイルのダウンロードをサポートしました.

これまではスクリプトファイルのみのダウンロードだった
ために、どのようなファイルでも拡張子を.csfに変更する
だけでしたが、今回から方式を改めて、スクリプトである
場合のみ拡張子を .csfに変更、その他(設定ファイル等)
はそのまま、というように変更しました. これにより
設定ファイル、説明文なども同時に受信することが
できます.

自動で最新バージョンを有効にするサービスの場合、
全ファイルがダウンロードを終えてからそれを行います.

このHPでは今後、この自動バージョンアップを使える
サービスを順次増やしていく方針です.

機能拡張によるバージョン定義ファイルの書式変更は
下を参照してください.

 1999/9/1 すべてのサービスを更新チェックする動作が、これまでより
早く終わるようにロジックを改善しました.
サービス毎にHTTPダウンロードを行うのではなく、
バージョン情報ファイルの数だけダウンロードを行います.

このサービス自体を、メニューから一時停止させたり
組み込み直させたりすると、他のサービスの項目が消えて
しまうので、このサービスに関しては上記の操作が
できないように、メニューから項目を消去させています.

メッセージを追加して、動作が分かりやすいようにしました.
更新チェック完了時などにもコンソールにメッセージを
出すようにしてあります.

 1999/8/8 CHOCOAのバージョンが 7.1R のような形式のときに、
サービスの動作環境としては 7R と同等とみなすような
仕様に変更しました.

またサービスを一時停止したままCHOCOAを終了したとき
次回起動時にそれを解除して使用可能な状態に戻す機能が
正常に動作していなかったため修正しました.

下にある画像も現在のバージョンのものに差しかえました.

 1999/8/6 右クリックメニューからサービス管理に対応したサービスの
説明ページを表示できるようにしました.

メニューの「説明ページを開く」を選択するとバージョン
情報ファイルからURLを読み出してそこを開きます.
また、表示時と更新チェック時にそのURLをキャッシュして
以降はすぐに説明ページを開けるようにもしてあります.

 1999/7/17 各サービスに対する一時停止、再開の機能が正常に
動作していなかった点を修正しました.

 1999/7/5 使用しているCHOCOAのバージョンがサービス側の
動作保証バージョンに含まれていない場合、ダイアログを
出さずに、コンソールにメッセージを表示するのみにしました
この部分を今後また改良する予定です.

 1999/3/11 このサービス自身も更新チェックできるようにしました.
また、「組み込み直す」で新しいバージョンの
サービスを組み込もうとしても、そのバージョンなどが
反映されなかった点に対処しました.

 1999/3/10 当HPでは初のHTTPダウンロード系スクリプトになります.
他のHTTP系スクリプトに先行させて公開することにしました.
このサービスを組み込んでおくことで、他のスクリプトから
送られるバージョン情報などを受け取り、一元管理することが
できるようになります.

更新チェックをして新しいバージョンがあった時に、自動的に
そちらを使用するようにするという事も考えましたが、
個々人で好きなように設定ができるスクリプトで、上書きと
いう形で設定が損なわれるのを避けるために、指定フォルダに
ダウンロードするという仕様に決定しました.
   

インストール方法  

 1.

CHOCOAの実行ファイルがあるフォルダにServiceAdmin.lzhを解凍してください.

 2. 次はCHOCOAへの組み込みです.
設定−スクリプト設定−追加、で ServiceAdmin.csfを組み込んでください.
なお、このスクリプトを正しく動作させるためには

  サービスリストの最上部に配置されていること

が必要です.必要に応じて矢印ボタンで常にリストの一番上に配置されるように
保ってください.
(他のスクリプトからバージョン情報を受け取るための措置です)

 3. 以上で CHOCOAへの組み込みは終わりです.メインウィンドウを右クリック
して「サービス管理」が追加されているのを確認してください.


使用方法・その他  

 ・

 まずはこの「サービス管理」を使用する方法から説明します.
最初にしてほしいことは、HTTP受信の設定です.
CHOCOAのメニューから「設定(P)」→「HTTP受信設定」を選択して、
「追加」ボタンを押すと下図のようなダイアログが表示されます.
CHOCOA1.0beta7R以降では「設定(P)」→「スクリプト詳細設定」の
中に「HTTP受信ファイル」タブがあります.





 ここで表示されるのはCHOCOAをインストールしてあるフォルダのはずです.
もし違っていればCHOCOAのインストールフォルダに移動してください.
そして図のように update.txt と入力して「開く」ボタンを押してください.
リストにファイル名が追加されたかと思います.これで設定完了です.
「OK」を押してウィンドウを閉じてください.

 対応するサービスを使用しているとき、メインウィンドウの右クリックメニューには
下図のようにそのサービス名が表示されます.
半角アルファベットは小文字になって表示されるのは仕様です.





  個々のサービスについて、下図のようなサブメニューが表示されます.
ここでそのサービスや動作対象のCHOCOAバージョンを知ることができます.
「ステータス」の行をクリックすると、そのサービスをの一時停止/動作を
切り替えることができます.





「説明ページを開く」は選択中のサービスについてその説明ページを
開きます.URLはサービス側で指定のリストファイルから取得します.

「組み込み直す」は、そのサービスのスクリプトを編集(設定等を変更)した
場合に用いることで、その編集を動作に反映させることができます.
更新チェックからダウンロードした新しいサービスに設定を行ったあと、
それを旧ファイルに上書きしたような時に用いるのも有用です.

「サービス登録の削除」は、そのサービスをサービスリストから削除し、
メニューからも消去させます.スクリプトファイル自体が消えるわけでは
ありません.

 「すべて更新チェック」または「更新をチェック」でサービスの更新の
チェック動作に入ります.もし更新されていれば、 以下のような
更新情報が表示されて、ダウンロードするかどうかを尋ねてきます.




 自動的に最新バージョンに置き換わらないサービスである場合は
「はい」を選択すると、フォルダ選択ダイアログが表示されるので、
ここでダウンロード先のフォルダを設定してください.
後の設定なども考えると、デスクトップにダウンロードするのもいいかもしれません.

スクリプトファイルのほかに設定ファイル、説明文がある場合はそれらも
ダウンロードされますが、これらが既に存在する場合は上書きの確認を
とります.従来の設定を引き継ぎたいような場合は「いいえ」を選択して
ダウンロードをスキップしてください.

ダウンロード完了後、説明ページを表示するかどうかを尋ねますので
インストールや設定の方法を確認したい場合などは「はい」を選んでください.

 ・  次にこのサービスを利用するためには何をしたらいいのかを説明します.

  ;サービス管理スクリプト用
   /if ($isserviceactive( サービス管理 ) == 1)
   {
     /サービス管理.add "$service" "1.0f2" "0.2.2a" "http://www.geocities.co.jp/Berkeley/5261/service.txt"
   }

 /init 内に記述されているこのような4行が、「サービス管理」用の追加文です.
もし「サービス管理」が動作中であれば、そこに情報を送る動作を行っています.
渡すデータは4つで、

  サービス名
  動作対象のCHOCOAバージョン
  現在のバージョン
  バージョン情報ファイル(後述)のURL

となっています.

 サービス名は $service を指定すれば自動的にそのスクリプトのサービス名に
置き換わるのでこれを用いればいいでしょう.
 CHOCOAバージョンの指定は 1.0f[リリース番号] の形式で指定します.
 例としては
   1.0f2
 のような感じです.
 バージョン番号は任意の形式で結構です.
 バージョン情報ファイルのURLは普通にSJISで保存したテキストのURLを
指定するだけです.

ここで、バージョン情報ファイルの形式について説明します.
1サービスにつき1行を用いて、半角の | (パイプ)で区切った6つのデータを
並べます.並びは以下のようになります.

 1.サービス名
 2.CHOCOAバージョン
 3.サービスのバージョン
 4.ファイル(テキスト)のURL
 5.説明ページのURL
 6.アップデート概要

これを 1|2|3|4|5|6 と1行につないで1サービスのバージョン情報となります.
複数のサービスがある場合はその数だけ情報行を作ってください.

2.の動作対象のCHOCOAバージョンも上のサービス側と同様に指定します.
「1.0f2」と書いてある場合、1.0f3,1.0f4…も含む「1.0f2以降」という意味と
なります.

4.のスクリプトファイルのURLは、そのサービスで使用しているファイルを
テキスト形式でアップロードしたファイルを指定してください.

スクリプトファイルであればダウンロード後に自動で拡張子が .csfになり、
それ以外のファイルの拡張子は変更されません.
これは当サイトのように.csf のファイルがアップロードできないサイトで
有用となります.当サイトでは.txt のファイルとしてアップロードしています.

6.のアップデート概要では、半角のカンマを用いれば更新情報の表示時には
改行として表現されます.適当にカンマを入れて、見やすくしてください.

当サイトのスクリプト用に使用している情報ファイルはこちらです.
記述の際の参考にしてください.


複数のファイルをダウンロードしてもらう場合

ファイルのURLを指定するときに、2つ目以降のファイルを半角のピリオドを
間に入れて並べていきます.a.txt と b.txt の2ファイルである場合の例は

 http://ファイルの場所/a.txt.b.txt

のような形式になります.

自動的に最新バージョンに更新してもよいサービスの場合
6つの情報を1行に |(パイプ)で区切って並べるのはこれまでと同じですが、
その末尾に || とパイプを2文字分追加します.1〜6が項目であるとすれば

 1|2|3|4|5|6||

のようになります.

特定のイベント設定を、サービス更新時に引き継ぎたい場合
ダウンロードファイルリストの先頭に、設定ファイル Event_def.txt を追加します.

 http://ファイルの場所/Event_def.txt.hoge.csf

のような記述順になります.
大文字小文字の区別はないので、event_def.txtでも問題ないです.
このファイルには、1行目にスクリプトのファイル名、2行目以降に
イベントの種類 イベントが呼び出す関数名 を指定します.例としては

hoge.csf
TEXT hoge_main

のような記述になります.関数名に / や $ は要りません.
自動オペレータ+のイベント継続設定ファイルはこちらです.
記述の際の参考にしてください.