埋め込みプロジェクトを開くときの自動updateの挙動を調べる

Nihongo7のプラグイン版で、squeakland.jp/superのギャラリーから直接開く操作は、何回もやってきました。今日ふとsqueakland.orgのギャラリーのプロジェクトを開こうとすると、最新のアップデートを適用しようとすることに気がつきました。この挙動の違いへの興味から、探索が始まりました。

Webページ上の埋め込み表現の例

(Squeakland.orgの Squeak Newsでいま紹介されているプロジェクト)

<OBJECT
	ID="SqueakOCX Control"
	WIDTH=1024 HEIGHT=768
	ALIGN=center BORDER=2
	CLASSID="CLSID:2BE9C39E-8386-4435-B337-FCDAD8EAB006"
	CODEBASE="http://www.squeakland.org/installers/SqueakPluginInstaller.exe">
  <PARAM name="src" value="http://www.squeakland.org/fun_projects/proj_pe_mo/fisherman.009.pr">
  <PARAM name="update" value="0416">
  <PARAM name="win32" value="Squeak3.2gamma of 12 January 2002 [latest update: #4879]">
  <PARAM name="macos" value="Squeak3.1alpha of 16 May 2001 [latest update: #4081]">
  
  <PARAM name="loader_url" value="http://www.squeakland.org/project.jsp">
  <PARAM name="pluginspage" value="http://www.squeakland.org/detect.html">
  <PARAM name="update_url" value="http://www.squeakland.org/update/">
	 <PARAM name="apiSupported" value="TRUE">
</OBJECT>

起動時の自動更新のあらすじ

1. イメージへの最新パッチの適用を試みる
AutoStart class>>checkForUpdates
サーバー側でavailableなパッチの番号=PARAM updateの数字=416
   と、イメージに適用されている最大のパッチ番号を比較する。
  サーバー側の方が大きければ、パッチ適用を実行する。
パッチ取得するアップデートサーバは、イメージ中で Utilities updateUrlListsに登録されている。サーバが複数登録されている場合は、ユーザにサーバーを選択させる。その際、PARAM update_urlで指定したものが、選択リストの先頭に表示される。
PARAM update_urlで指定していたものは、Nihongo7では無視されている。

2. イメージへのパッチ適用が行われなかった場合、プラグインの更新を試みる
 ここでは割愛します。

Nihongo7でsqueakland.orgのプロジェクトを開く際の挙動の問題点

パッチの番号は、本家版とNihongo7で別管理されている。それらの間で大小関係を比較しており無意味である。これを書いている時点で、Nihongo7の最新パッチは95で、本家とは文字どおり桁が違う。つまりNihongo7でSqueakland.orgをアクセスすると、常にアップデート処理が起動される。

Squeakland.orgのHTML表現への疑問

  1. そもそもこの update 416はどうやって求めているんでしょう?ちなみにさっきダウンロードしたイメージのパッチは416、アップデートストリームは417でした。JSPの中でアップデートストリームを調べているとか??
  2. アップデートサーバをWebサーバで指定することの意味。