トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ RSS ログイン

init.xml仕様

以下のページから引越ししてきました。こちらを本家にしたいと考えております。
http://nornen.syotake.to/wiki.cgi?%5bHeimdallr%5d%be%a1%bc%ea%a4%cbinit%2exml%a4%ce%bb%c5%cd%cd%a4%f2%b9%cd%a4%a8%a4%c6%a4%df%a4%eb

init.xml概要編集

init.xmlは、Heimdallrをインストールしたフォルダに存在するファイル名「init.xml」のファイルのことです。
そのまんまですね。

init.xmlに書いてある情報は、Heimdallrのデフォルト設定の情報です。
init.xmlは、Heimdallrの初回起動時のみ参照され、デフォルト設定が読み出されます。

これだけだとあまり重要そうなファイルではありませんが、デフォルト設定というのはユーザが初めて目にする状態の設定のことです。
そのため、ユーザに与える最初のインパクトは、デフォルト設定により決まります。
デフォルト設定から変更しないユーザも多いでしょう。
つまりデフォルト設定というのはとても重要なのです。それを定めるのがinit.xml。
というわけでinit.xmlは結構重要なファイルなのです。

また、init.xmlにしかるべき記述をすることにより、デフォルト設定を変更できるわけですから、
例えば、ノルンの使徒のRSS FeedのURLをinit.xmlに記述することにより、
デフォルト状態で登録されているRSS Feedをノルンの使徒のRSS Feedにすることができます。
これは、もう既にカスタマイズされたHeimdallr、つまりOEM版Heimdallrと呼べるものです。たぶん。

よって、init.xmlにしかるべき記述をすることにより、OEM版Heimdallrを
簡単に作成することができるわけです。

要求仕様編集

init.xmlの仕様は以下のような要求を元に設計されました。

  • (済)複数のセット(スキン、URLの組み合わせ)を選べるようにしたい。
  • (済)ビューの数の設定や、各ビューのURLを設定できるようにしたい。
  • (済)デフォルトスキンを設定できるようにしたい。
  • (済)夫々に設定項目につき、「初回起動時にユーザがカスタマイズできる」「初回起動時にユーザがカスタマイズできない」を選べるようにしたい。
  • (未)ウィンドウの初期Z座標(最下位か、普通か、最上位か)も設定できるようにしたい。
  • (未)チャンネルも指定できるようにしたい。

(済)は、既に実現されている要求です。(未)はまだ実現されていない要求です。

init.xml例編集

イメージが大切なのでまずはサンプルを書きます。

<?xml version="1.0" encoding="utf-8" ?> 
<SettingList xmlns="http://www.sutosoft.com/applications/heimdallr/data/1">
  <Setting>
    <Name>ニュース主体</Name>
    <Description>各種ニュース系サイトを集めた設定です</Description>
    <System>
      <RestItem>10</RestItem> 
      <UpdateCycle>30</UpdateCycle> 
      <NumThread>3</NumThread> 
      <Timeout>20</Timeout> 
    </System>
    <View type="fixed">
      <Name>ニュース</Name>
      <Skin id="http://www.sutosoft.com/applications/heimdallr/skin/id/blackboard" />
      <Site>
        <Link><Uri>http://www3.asahi.com/rss/index.rdf</Uri></Link>
        <Name>アサヒ・コム</Name>
        <ShortName>朝日</ShortName>
      </Site>
      <Site>
        <Link><Uri>http://japan.cnet.com/rss/index.rdf</Uri></Link>
        <Name>CNET Japan</Name>
        <ShortName>CNET</ShortName>
      </Site>
    </View>
  </Setting>
  <Setting>
    <Name>有名人Blog主体</Name>
    <Description>有名人のBlogをジャンル分けして複数のビューに表示する設定	です</Description>
    <View type="variable">
      <Name>芸能系有名人</Name>
      <Site>
        <Link><Uri>http://rosa.cocolog-nifty.com/blog/index.rdf</Uri></Link>
      </Site>
      <Site>
       	<Link><Uri>http://inoue-waka.blog.ocn.ne.jp/kimochi/index.rdf</Uri></Link>
      </Site>
    </View>
    <View type="variable">
      <Name>政治系有名人</Name>
      <Site>
       	<Link><Uri>http://daichanzeyo.cocolog-nifty.com/0403/index.rdf</Uri></Link>
      </Site>
      <Site>
        <Link><Uri>http://blog.livedoor.jp/renho2004/index.rdf</Uri></Link>
      </Site>
    </View>
  </Setting>
</SettingList>

フォーマット仕様編集

<View type="fixed">

と指定されていると、そのビューの設定はユーザが変更できないようになります。

<View type="variable">

と指定されていると、そのビューの設定は初回起動時にユーザが変更できます。

初回起動時はこんな感じの手順で初期化作業が進みます。

  • 最初に各Setting/Name一覧が表示され、利用者がその中から好きなSettingを選びます。もしもSettingが一つしかなければ選択肢は表示せずに次のステップに進みます。
  • type="variable"なViewが存在すれば、それらのビューの設定を行います。複数存在すれば、1つずつ設定していきます。

他の要素については・・・
難しいところは無いのでみれば分かるということで説明省略。

検討中の仕様編集

チャンネル(Channel Extension Plugin)を使用することができるような仕様を検討中です。

なんらかのチャンネルを追加した後、
site.xmlの、Sites/Site/MainSite/Dataを確認すれば分かるのですが、
ここがチャンネル用データ格納場所になっています。

チャンネル提供者が、ここに入るデータの形式を明確にすれば、
そのデータをinit.xmlに含めることによってチャンネルの初期化が行えるようになります。チャンネル提供者と言っても私(MASATO)だけなんですけど。

とりあえずキーワードチャンネルのデータ形式をちょっとだけ明確にしておきます。

<KeywordChannel><Keyword>RSS</Keyword></KeywordChannel>

説明は不要でしょう。見たまんまです。
site.xmlにはこれ以外のデータも一杯ありますが、キーワードチャンネルの初期化をするだけであれば、この情報で十分です。
こんな感じのデータがinit.xmlのどこかにあれば、初回起動時にキーワードチャンネルを登録するようにすることもできます。

ではinit.xmlのどこにこの情報を置くか、という話ですが・・・
以下検討中。

Site要素を、以下のようにしたいと思います。

<Site type="feed">
  <Link><Uri>http://blog.livedoor.jp/renho2004/index.rdf</Uri></Link>
</Site>
<Site type="channel">
  <Data id="http://www.sutosoft.com/applications/heimdallr/plugin/id/topicchannel">
    <![CDATA[<TopicChannel topic="social"/>]]>
  </Data>
</Site>

typeという属性が重なっているのが気にかかるところ。
でもたぶんこちらの使い方の方がtypeの意味があると思うので、
今までのtype属性はsetting属性に変えます。

Site要素では、以下のsetting属性が設定できます。

<Site setting="create">

これは、そのサイトの設定を必ず行うことを意味します。
これは基本的にchannnel用です。

<Site type="channel" setting="create">
  <Data id="http://www.sutosoft.com/applications/heimdallr/plugin/id/keywordchannel">
    <![CDATA[<KeywordChannel><Keyword></Keyword></KeywordChannel>]]>
  </Data>
</Site>

これで、初期化時にキーワード欄が空欄のキーワードチャンネル設定ダイアログが開かれます。

コメント欄編集

  • むむむコメントないですね。書き方下手なのかな・・・。init.xmlは、これを使ってカスタマイズ版Heimdallrを作ってくれる人が何人か居ないと意味がありません。何人か居そうも無いときは、以下の仕様は実装されないと思います。というわけでカスタマイズ版Heimdallrを作りたい人が居たら是非意思表明をお願いいたします。 - MASATO (2004年10月02日 19時31分49秒)
  • はいはいはい〜、カスタマイズ版作りたいですよ〜〜♪ - 瞳子 (2004年10月03日 02時29分25秒)
  • やはりとは思っていましたが瞳子さん一人だけなんですよね。どこかの企業がOEM版とか出してくれたりすると面白いんですけどねー - MASATO (2004年10月10日 20時10分00秒)
  • Site要素をView要素以下に配置し、多少フォーマットをすっきりさせました。 - MASATO (2004年10月27日 23時54分41秒)
  • SettingList/Setting/Descriptionを追加。今init.xml周りは実装中なので次のバージョンでは多少は使えるようになります。 - MASATO (2004年10月30日 13時51分33秒)
  • 1.07alpha2で実装完了。以下のinit.xml仕様はもはや案ではなくなりました。試して見た方は感想よろしくお願いします。 - MASATO (2004年11月03日 12時22分40秒)
  • とりあえず土日を利用してOEM版を密造してみようかと思います。 - 瞳子 (2004年11月05日 16時32分14秒)
  • init.xml試してみました、良い感じに問題なく使えました。 - 瞳子 (2004年11月09日 17時19分11秒)
  • デフォルトのサイト情報更新間隔も設定できると嬉しいです。 - 瞳子 (2004年11月09日 17時20分18秒)
お名前: コメント:

この文章へのトラックバックはTrackback(0) です。




最終更新時間:2005年04月08日 16時43分55秒

bfl@w.sakage.ccには絶対にメールを送信しないでください。