LUNARAVE WEBクリエーターの仕事と休息

アクセスカウンタ

help リーダーに追加 RSS (1)サンプルから独自プラグイン作成の準備 -Lunascape-

<<   作成日時 : 2007/07/27 12:41   >>

トラックバック 1 / コメント 0

国産タブブラウザ"Lunascape"のプラグインコンテストの締切日が延長された。

プラグイン作成に関するサイトがほとんど無いうえに、公式サイトから発表されるサンプルやマニュアルも最近更新されたので応募者も少ないのだろうか。


それでも公式サイトにあるマニュアルなどを見ても不明確な部分が多数ある。

マニュアルの説明は基本的にサンプルをダウンロードしてそれをカスタマイズする流れだが、プラグインを正常に動作させるにはプラグインに固有のIDを2つ設定する必要があり、このあたりはまだ記載されていないので私のように初めて手をつける人間は手探りで触っていくしかない。


しかし、プラグインを動作するエンジンファイルや設定ファイルを0から作るのは面倒なので、サンプルをコピーして作る方法を明記したい。


まず、サンプルをダウンロードする。
ここでは"お天気サンプルスクリプトプラグイン"を利用した。

このプラグインは東京都の今日の天気と明日の天気を一般公開されている天気予報データを取得できるAPIを利用している。

 お天気サンプルスクリプトプラグイン

他にもっと簡単なサンプルがあるのだが、ファイルの構成や設定ファイルの中身が異なるので比較的新しいこのサンプル構成を基にしたほうが無難だと考える。


さて、このプラグインが保存されている先はWindowsなら
「C:\Documents and Settings\ユーザ名\Application Data\Lunascape\Lunascape4\plugins」
にある。

 保存先


この中で"plugins.config"を開くと下記のようなソースが現れる。
この"plugins.config"は"Lunascape"にインストールされているプラグイン情報が記載されている。



<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="3">
<plugins class_id="0" tracking_level="0" version="0">
 <plugin class_id="1" tracking_level="0" version="0">
  <count>6</count>
  【省略】
 </plugin>
</plugins>
</boost_serialization>



【省略】の部分には<item></item>で囲われた部分にプラグイン情報が記載され、プラグインの数だけ<item>タグがある。


"お天気サンプルスクリプトプラグイン"と書かれた部分の前後に、"guid"と"clsid"という部分がある。
この"guid"と"clsid"がプラグイン固有のIDとなる。

"guid"はプラグインが保存されているフォルダ名などを指す。
"clsid"は動作するうえで必要な認識番号だ。

"お天気サンプルスクリプトプラグイン"は
<guid>{C1F22AE2-AE9C-487d-B77A-B49140A060A7}</guid>

<clsid>{41AA5DFE-AC44-4eb4-B5BC-853F4BE0352C}</clsid>
とある。


ここでプラグインが保存されているフォルダを見ると、確かに{c1f22ae2-ae9c-487d-b77a-b49140a060a7}というフォルダがある。

これをコピーして、フォルダ名を変更する。

フォルダ名は"8桁-4桁-4桁-4桁-12桁"の形式で、数字とa-fまでの文字で構成されるようだ。

"guid"と"clsid"の設定がうまくいかないと、プラグインは正常に動作しない。


今回は仮に{a8ecdadb-da1e-ad86-9e4d-0a644d3dcdba}とする。


このフォルダの中身を見ると、いくつかのファイルをフォルダがある。

 構成


この内、3つのファイルを修正する。
基本的にはフォルダ名(guid)と固有ID(clsid)の変更で、固有IDもフォルダ名を変更したときと同じルールだ。

ここで仮にclsidを"625DFEAA-44AC-b44e-BCB5-3F8542C35BE0"とする。


【host.ini】
ComponentId={41AA5DFE-AC44-4eb4-B5BC-853F4BE0352C}
 ↓
ComponentId={625DFEAA-44AC-b44e-BCB5-3F8542C35BE0}



【id.config】
<id><productGuid>{c1f22ae2-ae9c-487d-b77a-b49140a060a7}</productGuid></id>
 ↓
<id><productGuid>{a8ecdadb-da1e-ad86-9e4d-0a644d3dcdba}</productGuid></id>



【plugin.config】
pluginversionsUrl="http://plugin.lunascape.jp/config/{C1F22AE2-AE9C-487d-B77A-B49140A060A7}/pluginversions.config"
 ↓
pluginversionsUrl="http://plugin.lunascape.jp/config/{A8ECDADB-DA1E-AD86-9E4D-0A644D3DCDBA}/pluginversions.config"


guid = "{C1F22AE2-AE9C-487d-B77A-B49140A060A7}"
 ↓
guid = "{A8ECDADB-DA1E-AD86-9E4D-0A644D3DCDBA}"



最後に、各プラグインが保存されているディレクトリに移動し、再度"plugins.config"を開いて修正する。


まず、インストールされているプラグイン数の部分。

<count>プラグイン数</count>とあり、ここの数字を+1する。

最後に、下記のソースを複数ある<item>の一番下に追記する。



<item>
 <px class_id_reference="3" object_id="_上の同等部の数値に+2">
  <guid>{A8ECDADB-DA1E-AD86-9E4D-0A644D3DCDBA}</guid>
  <location>user</location>
  <components>
  <count>1</count>
  <item>
   <px class_id_reference="6" object_id="_上の同等部の数値に+2">
    <minContainerVersion>4.1.9.90</minContainerVersion>
    <maxContainerVersion>4.9.*</maxContainerVersion>
    <targetContainerVersion>4.2.0.0</targetContainerVersion>
    <type>{13198B7A-BC30-4589-8D89-EADB89A525D4}</type>
    <modulePath>LunaWebParseSideBar.dll</modulePath>
    <name>オリジナルプラグイン</name>
    <icon>plugin.ico</icon>
    <clsid>{625DFEAA-44AC-b44e-BCB5-3F8542C35BE0}</clsid>
    <enabled>1</enabled>
   </px>
  </item>
  </components>
 </px>
</item>



この状態で"Lunascape"を再起動してプラグイン一覧を見ると"オリジナルプラグイン"と項目が増え、クリックすると東京都の天気が表示される。


これでようやくカスタマイズできる準備が整った。

設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(1件)

タイトル (本文) ブログ名/日時
(6)プラグインを配布できるようにする -Lunascape-
Yahoo!カテゴリーを"Lunascape"のプラグインに組み込む方法を紹介してきたが、以前紹介した方法で一般配布しようとすると不具合が出るので先にこちらを紹介する。 ...続きを見る
LUNARAVE WEBクリエーターの仕...
2007/10/11 12:31

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
WEB技術関連
EC-CUBE関連
ソフトウェア関連