お客さん(誰)によるサイトの更新
2004-09-07
お客さんの手でサイトを更新してもらうには、Macromedia Contribute みたいなアプリケーションを使ってローカルで何かしてもらったものをアップする方法のほかに、blog ツールのような CMS を使ってオンラインで web 更新する方法があると思います。ここんところ、後者の方法でごにょごにょやっているのですが、ごにょごにょやっている過程で思ったことなどを少々。
使っているのは、こないだからごちょごちょ書いている rNote なんですが、rNote は本来ローカルで、xml 形式で書いたものをアップする仕組みなので、これに自作の怪しい web 更新スクリプト(php製)を組み合わせて使っています。当初は、生で html を書いていただくしかなかったんですが、それだとなかなか筆が重そうなので、とりあえず、改行すると p 要素になるようにしました。あとの見出しくらいは自分で書いていただけるかなという程度に思っていたのですが、どうもそうではないようです。しょうがないので、wiki 的な簡易記法を導入して、見出し、順序つきリスト、順序無しリスト、定義リスト程度を装備しました。あと、URI 自動リンクとか。例えば、行頭が - で始まっていると、順序無しリスト、行頭が * だと大見出しといった具合です。
書くときはこれらを使って簡単に書けるはずです。これらの記法に基づいてフォームから入力すると適宜 html に変換して所定の xml ファイルに書き込むという仕組みです。再編集のときは、マークアップしたものがそのまま表示されるという仕様だったために、結局あまり使ってもらえませんでした。というよりも valid な html など知らないお客さんゆえ、再編集の段階でむちゃくちゃなことになることが判明したのでした。:p)
これではいかんと思い、再編集時には、またもとの wiki 的な記法に戻して表示するようにしました。これにより、別の記事での書き方なども参考にできるために、かなりマークアップした記事を書いていただけるようになりました。最初は全部、p 要素だったのに。(w
しかし、さらに次なる問題が。始めはそっけないスタイルが当ててあったのですが、css をいじる余裕が出てきたのでちょっと豪華な(?)スタイルにしてみたところ、お客さんのマークアップがその見映えを実現するようなマークアップに変わってきました。まぁ、適切に使っていただければいいんですが…。
してみると、論理構造を表現できるような css を作成できれば、見映えを追及する(?)お客さんにも valid なコンテンツを書いていただけるのかなぁとか考えています。
Mozilla firefox 0.10 への移行
2004-09-10
いよいよ来週、Mozilla Firefox 0.10(PR1.0) が出そうな感じですが、0.9.3 などから移行するにはどうしたらいいでしょう。今回もっとも問題になりそうなのが、やはり拡張やテーマ関係でしょう。というのも、0.9.3 までは、Mozilla Firefox の extensions.lastAppVersion は、0.9+ だったのが、0.10 からは、0.10 になり、対応していないもしくは対応していても、拡張の em:maxVersion が 0.9+ だったりするとインストールできなかったり無効になったりするからです。
考えてみるに、0.8 などから 0.9 系への移行の場合は、プロファイルを新規に作成してあとでブクマークなどの必要なものを移すという手がよかったように思いますが、0.9.3 などから 0.10 ヘ移行する際は、既存のプロファイルを引き継いだほうがいいように思われます。0.9 系ですでに、拡張マネージャーは導入されていますから。本当は動くけど em:maxVersion の関係で動かない拡張などもすでにインストール済みであれば書き換えは容易ですが、新規プロファイルへインストールするとなると結構面倒な手続きが必要になります。そこらあたりを少し書いてみましょう。
すでに、インストールされている動かない拡張を 0.10 対応にするためには、プロファイルの extensions ディレクトリの各拡張のディレクトリの中にある install.rdf の書き換えが必要になります。各拡張はたとえば、{EDA7B1D7-F793-4e03-B074-E6F303317FB0} のような拡張に固有な名前をもつへんてこなディレクトリに格納されています。どの拡張がどのディレクトリに入っているかは、extensions ディレクトリ直下にある Etensions.rdf エディタで開いて、拡張の名前で検索するといいかもしれません。該当の拡張の install.rdf が見つかったら、em:maxVersion を検索します。もしこれが、<em:maxVersion>0.9+</em:maxVersion>
のようになっていれば 0.10 では動きません。<em:maxVersion>0.10</em:maxVersion>
などと書き換えてみます。うまくすればそれだけで、その拡張が 0.10 で使えるようになるかもしれません。
さて、動かない場合はどうしましょう? 私の経験によれば、install.rdf を書き換えたものを再インストールすることでうまくいく場合があるようです。新規プロファイルにインストールする場合も、install.rdf を書き換えたものをインストールしないといけないので、どうやってそれを作るかも書いておきましょう。
まず、入れたい拡張をローカルに保存します。その拡張ファイル名は hogehoge.xpi だとしましょう。まずはこれを解凍する必要があります。.xpi ファイルの実体は zip ファイルなので、拡張子を変更して、hogehoge.zip にリネームします。これを適当なところに解凍します。アーカイバによっては .xpi のまま解凍できるかもしれません。解凍したものの中に install.rdf がありますから、これをエディタで開いて、em:maxVersion を書き換えます。書き換えたらすべてをまた zip 形式で圧縮します。hogehoge.zip が出来上がります。これを再度、hogehgoe.xpi にリネームします。これを Mozilla Firefox にドラッグアンドドロップしてやればインストールできるかもしれません。結構面倒です。
それでも動かない拡張もあるかもしれません。多分あるでしょう。そういうときはどうすればいいでしょう? 今後新しい拡張を入れる際にトラブルの原因になる可能性がありますが、about:config から extensions.lastAppVersion を 0.9+ などに書き換えてしまう方法があります。しかし、今後出てくる便利な拡張のことを考えるとあくまで、一時凌ぎと考えておいたほうがよいように思います。
もっとも、ここへ来て著名な拡張はだいぶ 0.10 に対応してきたようですので、もしかすると 0.10 がリリースされる頃にはこういった心配は杞憂になっているかもしれません。そうなっているといいのですが……。
おまけ
私は、圧縮ファイルの解凍・圧縮は xyzzy のファイラーから unzip32.dll を使うことで行っていますが、この環境だと xyzzy のファイラーで .xpi なファイルを選んで、V(Shiftキー+v) で中のファイルを閲覧できるので、em:maxVersion の確認などに便利です。また、.xpi ファイルをリネームせずにそのまま解凍することも可能です。スペースキーで反転させておいて、E(Shiftキー+e) で2ウィンドウファイラーの反対側(何)に解凍できます。圧縮はやはりスペースキーで必要なファイルを反転選択しておいて、O(Shiftキー+o) で出来ます。その際、さすがに拡張子の指定を .xpi することは出来ないので、.zip にしておいてあとでリネームする必要がありますが。
Mozilla Firefox 用テーマ rein 0.6 を入れてみた
2004-09-11
楠見さん作の Mozilla firefox 用のテーマ rein 0.6 を入れてみた。他の人の Schreenshot を見るのはちょっとわくわくしますね。配色を OS 依存にしていたおかげで、思わぬ楽しみが増えました。
とのことなので、私の環境でのスクリーンショットをアップしておきます。例によってフルサイズの画像(約51KB)にリンクしています。
sage1.2.2 日本語版微改造
2004-09-14
Sage - Mozilla Firefoxまとめサイト で配布されているものだったと思いますが、Mozilla Firefox に RSS リーダーの機能を付け足す拡張、sage 1.2.2 日本語版に、以前やったのと同じように、未来検索livedoor の検索機能を付加した改造版の sage.jar を自家用にアップしておきます。心情的には Bulkfeeds: Home - RSS Directory & Search のほうが好きなんですが、いかんせん最近重くて使い物にならない感じなんですねぇ。
ブラウザ戦争でIE圧勝は本当か? Geckoのシェアが19%に上るとの統計 や、2004/09/15 当サイトのMozilla系UAの比率 を見て、またまた UA 調べをしてみることにしました。昨日、今日のこの日記の最新版、latest.html へのアクセス解析より調べてみましたが、今回は Gecko エンジンの搭載 UA と IE の比率を比べるのが主眼なのでそこらあたりに重点をおいてまとめてみました。以下、結果。
当サイトにおける Gecko のシェア
合計 |
100% |
ブラウザ |
比率 |
Gecko 搭載 UA |
50% |
Internet Explorer |
40% |
Opera |
6% |
Safari |
1% |
Netscape Navigator 4.x |
1% |
その他 |
2% |
Gecko 搭載な UA としては、Mozilla Firefox や、Mozilla の他に、Netscape7、Camino 、Sylera、Bagel などがありました。その他には、w3m のほか、amaya なんてのもありました。
なんか、前回の調査と比べてみるとうちのサイトに関していうと IE 率が次第に上がってきているような気がしますねぇ。まぁ、調べる期間が短いのでかなり日による誤差が大きいのかもしれません。
そのうち、Gecko エンジン搭載の内訳なども詳しく調べてみたいものです。
こんにちは、Flash ののりです。(違 というわけで、16日と17日に東京へ行ってきました。16日はアックゼロヨン・キックオフイベントでした。んで、17日は午前中は急遽発生した案件の打ち合わせ、午後からは「Webを考える会(仮称) アクセシビリティ分科会(仮称) 第一回ディスカッション」に参加してきました。
アックゼロヨン・キックオフイベントについては、piro さんのLatest > Flakes of Ideas > Ac+C'04 キックオフイベントレポート - outsider reflexや、沢渡真雪さんのAc+C'04(ぷろじぇくと、みすじら。)あたりが詳しいので、わざわざ私が書き足すようなこともないので省略。ひとつだけ書いておくと後半のパネルディスカッションでの、yuu さんの暴走(?)ぶりがなかなか楽しめました。:p) また、大会宣言を行うはずだった麻生太郎総務大臣は都合が悪くなって来られなかったんですが、これにより yuu さんの政界進出の野望はもろくも崩れ去ったようです。(謎無)
アックゼロヨンは、今始まったばかりでこれから1年間続くわけで、いわゆるウェブJIS が制定されたり、娑婆はアクセシブルな web にある程度注目しているわけですから、各自の立場で何かするとよさげです。とりあえず、アワードには何か(何)で応募してみるかな。
んで、イベント終了後近所の焼肉屋へ行って勝手にイベント内容の反省会。メンバーは、組長、親分、親分の同僚さん、piroさん、上司の(?)いわいさん、Mozilla Japan の中の人や SEO 会社(住さんのとこ)の中の人という多彩なメンバー。新婚の親分はシヤワセそうでした。
カプセルホテルで一夜を過ごした翌日、仕事の打ち合わせに青山へ。お客さんはタイ人の方で、会うまではうまくコミュニケーションできるのか心配でしたが、長らく日本におられるとかで言葉はもちろんのこと、風貌も日本人と変わらず、心配するに及びませんでした。
んで、昼からは新宿でいわいさんと KEI さんと待ち合わせたのち、市ヶ谷へ移動して、近藤館長と合流。bA ヘ移動後、さらに昨夜のメンバーの他に、座長の yuu さんやまゆにゃん(誰)らも加わり、「Webを考える会(仮称) アクセシビリティ分科会(仮称) 第一回ディスカッション」の開始。おおむね昨日の反省会の続きのような感じでしたが、詳細はあとで(いつ)議事録が出るらしいのでそちらをどうぞ。ドメインは取得済みらしいです。
その後、yuu さんにパシリをしていただいて(本当に走っていた)、飲み会。帰りの電車があったので私は途中でご無礼しましたが、楽しいひと時を過ごさせていただきました。皆さん、どうもありがとうございました。
続・Mozilla firefox 0.10 への移行
2004-09-21
先日書いた、Mozilla firefox 0.10 への移行 の続編(何)です。
0.10 に対応していない拡張を新規プロファイルにインストールするのは前回も書いたように解凍、圧縮を繰り返さないといけない面倒な作業です。といって、about:config で app.extensions.version を 0.9 あたりに書き換えてしまう方法では、0.10 でないと使えない拡張(em:minVersion が 0.10)がインストールできません。
プロファイルを引き継ぐ場合は、0.10 に入れ替えた時点で入っている拡張がアンインストールされるわけではなく無効になるだけなので、あとで、インストールされている拡張の install.rdf の em:maxVersion を 0.10 とかにすることで、使えるものが多いわけですから、無理にでも一度インストールしておけば、圧縮・解凍しなくてもいいわけで少し楽できるわけですね。ということで考えました。
新規にプロファイルを作ってインストールする場合は、まずは app.extensions.version を 0.9 に書き換えます。その後、拡張をインストール。入ったら、プロファイルの extenstions ディレクトリの各拡張のディレクトリにある install.rdf をエディタで開き、em:maxVersion を 0.10 とかに書き換えます。その後、再度 app.extensions.version を 0.10 に戻してやれば、em:minVersion が 0.10 な拡張もインストールできるはずです。
というようなことを考えて、試してみたんですが、どうも私の使っている拡張のほとんどはすでに 0.10 に対応していたみたいで何をやっているんだかよくわからないことになってしまっていました。:p)
というのも、本家になくても Firefoxまとめサイトなどへ行くと改造されたものが配布されたりしていますから。JavascriptActions なんかもありますよ。
sites.lirs を web から更新
2004-09-27
私は、のり未刊というアンテナを持っていますが、これは なつみかん という素晴らしいプログラムで動いています。で、このアンテナの取得するサイトの情報を記したファイル、sites.lirs へ新規にサイトを登録するための php スクリプトを練習で作ってみたので、アップしてみます。とりあえず、追加する機能だけしかありません。バグっているかもしれないので、私はまだ実運用していませんが、多分大丈夫だと思います。:p)
試しに使ってみたい方は自己責任でご自由にどうぞ。カテゴリーのところは html の部分を適当にいじる必要があります。
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<title>sites.lirs にサイト追加</title>
</head>
<body>
<h1>sites.lirs にサイト追加</h1>
<?php
// 設定
$lirsdir = "/home/hogehoge/"; // lirs ファイルの在り処
$lirsfile = "sites.lirs"; // lirs ファイルのファイル名
$url_after = "?%MM%%DD%%HH%00"; // 謎クエリーの初期値
//設定終わり
if($_REQUEST["mode"]=="apend"){
if($_REQUEST["uri"]=="" || $_REQUEST[title]==""){
print("<p>URI とタイトルは必須でし</p>");
print("<p><a href=\"".$_SERVER['PHP_SELF']."\">やり直し</a></p>\n");
}else{
$fp = fopen($lirsdir.$lirsfile,"a+");
flock($fp,2);
fputs($fp,"LIRS,0,0,32400,0,".$_REQUEST["uri"].",".$_REQUEST["title"].",".$_REQUEST["author"].",0,".$_REQUEST["rss"].",,".$_REQUEST["nazo"].",".$_REQUEST["category"]."\n");
fclose($fp);
print("<p>完了!</p>\n");
print("<p><a href=\"".$_SERVER['PHP_SELF']."\">さらに追加</a></p>\n");
}
}else{
print("<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">\n");
print <<<EOD
<p><input type="hidden" name="mode" value="apend" /></p>
<p><label for="uri">URI</label> :
<input type="text" name="uri" size="80" value="" id="uri" /></p>
<p><label for="title">タイトル</label> :
<input type="text" name="title" size="30" value="" id="title" /></p>
<p><label for="author">管理者</label> :
<input type="text" name="author" size="30" value="" id="author" /></p>
<p><label for="rss">RSS とか更新を拾うURI</label> :
<input type="text" name="rss" size="80" value="" id="rss" /></p>
<p><label for="nazo">謎クエリーとか</label> :
<input type="text" name="nazo" size="30" value="?%MM%%DD%%HH%00" id="nazo" /></p>
<p><label for="category">カテゴリー</label> :
<select name="category" id="category">
<option value="diary">diary</option>
<option value="?">?</option>
<option value="bbs">BBS</option>
<option value="etc">etc</option>
<option value="亀">亀</option>
<option value="2ch">2ch</option>
</select></p>
<p><input type="submit" value="登録" /></p>
</form>
EOD;
}
?>
</body>
</html>