画面がめちゃくちゃになっていますねという記事を先日書いたが、これを見ると、本文の最後に-->という文字列が表示されている。

20051014-01

これは一体何なのか調べてみたところ、Ameba Blog のシステムがページを生成するときに、<rdf:RDF>タグを埋め込んだコメントを本文中に追加しているのだが、このコメントの中に、本文の一部をそのまま引用していることが原因らしい。つまり、XHTML の場合は、コメントの中には "--" という文字列を書くことができないという仕様のはずだから、本文にある"--" をそのまま使ったら誤りになってしまうのだ。XHTML としては不正なので、厳格に解釈したがる Firefox が取り乱すのだろう。

これをどう解決したらいいのか、すぐには思いつかないのだが、とりあえずメモとして残しておく。

AD
定期メンテナンスがあったらしいのだが、Firefox で表示すると画面が滅茶苦茶になっていて見られたものじゃない。原因は割と単純で、記事ごとの終わりを示すコメントが、

<!-- //entry -->

としなければならないところを、

<!-- //entry>

と書いてあるからだと思われるが、コメントのネストはできないはずなので、Firefox の処理にもどうも違和感があるわけだが、Firefox が原因なのかというと、まあどっちもどっちだ。とりあえず w3c validator で valid が出るようにしてほしい。

AD

読者の公開処理を行いました

テーマ:
29日からがんばっていたのですが、非公開になっていた読者の公開処理がやっとできました。対応が遅くなって申し訳ありません。

先の記事と同じ原因ではないかと思われますが、未公開の読者を選択して[チェックした読者を公開・非公開する]のボタンを押したら Ameba Blog のトップページにジャンプしてしまって、公開処理されない状況になっていました。

今日になって、何十回も同じことを繰り返して、やっと公開に成功した次第です。
AD

Ameba Blog が壊れているようだ

テーマ:
「失敗したときに戻れるようにしておく」の記事を登録するのに、10回位やり直した。

最初の関門。ログインして[記事を書く]ボタンを押したら、「アメーバブログユーザーのみご利用可能です。ログインして、ご利用ください。」というログイン画面の表示になってしまう。

login

いちいちログインするのは面倒なので、[記事を書く]ボタンから別ウィンドウを開くことにした。これだと、3~4回に一度は記事の編集画面を開くことに成功する。

つまり、再ログインしなくても、記事を編集できる。これは、本当にログアウトの処理が行われているのに実行できてしまうのなら、極めて重大なセキュリティホールが存在することを意味するが、多分、実際はログアウトしていないのにログアウト状態だと誤判定してログイン画面を出してしまっているだけなのだろう。

第二の関門。記事を書いて登録しようとすると、次のようなメッセージが表示される。

auto logout

記事の編集中に自動ログアウトになりました。
下記の本文をコピーした後、再度ログインし記事を編集してください。

もちろん「下記の本文」は、段落とか全部除去された状態になっていて、コピーして編集など現実的に不可能な状態に改変されているのだが、Ameba Blog でその場で文章を書くと勝手にログアウトされることは以前から経験しているから、その場で書くようなことはあり得ない。あらかじめ文章を作成しておき、それをコピーするだけである。

つまり、文章の作成時間は、猛烈に大雑把に多めに見積もっても1分以内。多分、10秒とか、そんな程度なのだが、それでも勝手にログアウトされてしまうのだ。

こんなシステムでもランキングを集計できるというのは、「あっぱれ」としか言いようがない。

利用規約が改訂されました

テーマ:
12月1日付で、利用規約が改訂されています。ご存知でしたか? 詳細は「利用規約を改訂しました」に発表されています。

第12条5)の、営利を目的とする行為を禁止するという条文が削除になりました。これはアフェリエイトに対応するための変更でしょう。13条の2の17)も同様です。

それはいいとして、このブログの最初のネタ「利用条件を読みましたか?」に使っている第13条の3、4が次のように変更になりました。

3. ブログサービスに掲載された内容に関する著作権は、当該掲載内容を創作した著作者又は著作権者、その他正当な権限を有する者に帰属するものとします。

4. 会員は、本サービスの宣伝・広告等を目的として、ブログサービスの掲載内容の一部を、弊社が利用することについて、あらかじめ承諾するものとします。

利用条件を読みましたか?」で指摘した箇所が変更されています。逆に、私の書いた記事の方が訳が分からないことになったのかもしれません。

なお、多分、権限と書いてあるのは権原の変換ミスだと思いますが。

というか、プライバシーポリシーへのリンクが切れているというのは修正されていません。修正した方がいいと思う。
9月22日付で、次のような障害報告が発表されている。

記事投稿の際に「 < 」を入れるとそれ以降の記事が消えてしまう。

なぜかというと、< を本文中に入れると HTML タグと認識されてしまうから、というのだが、これはかなりおかしな話である。なぜなら、Ameba Blog では、HTML タグは使えないことになっているからだ。HTML タグが使えないのなら、本文の内容が HTML タグだと認識する必要はないのである。つまり、この説明は説明になっていないのだ。

なお、これが障害だというのは、「<」以降の本文が消えてしまうからではなく、むしろ、プレビューでは「<」以降もきっちり表示されているから、安心して[決定]ボタンを押してしまったら最後、二度と元に戻れない、という致命的な結果になるからだ。プレビューと実際の表示が異なっていることが問題なのである。

さらに、障害報告の中には「<」を独自タグ以外の場所で使うな、という趣旨のことが書かれている。これがまたおかしな話だ。独自タグというのは一体何なのだ? 例として「<太字>」が紹介されているのだが、例だけでは分かったようで分からないし、かといって、困った時に見ろという「用語集」には、「独自タグ」という言葉は説明されていない。(9/24現在)

ここはまず、独自タグとは何なのかを明確にすべきだと思うのだが、まあしかしここは一歩譲って、意味不明だが、独自のタグと言いたいのだと解釈しておこう。

しかし、「<」が使えないと困るのではないか? 特にプログラミング系の話題を書きたい場合には致命的なのでは。心配はない。「<」と書きたいときには、「&lt;」と書けばいい。実はこのことは FAQ にも出ている。しかも、そうやって書いた記事を編集しようとすると、「&lt;」が「<」に変わってしまうことまでサラッと書いてある。個人的には、そのことの方が、よほど重大な障害だと思う。一旦書いてしまったら、膨大な手間をかけないと編集できないことになるからだ。

そこで、「&lt;」のような文字列を本文に書いている場合は、とりあえず本文全部をコピーして手元のパソコンに保存しておいた方がいい。そうしておけば、後で変更したい場合は、保存しておいた本文を修正して、全てコピーすることで対応できるからだ。
Sony がかなり前からイメージステーションというサイトを開いていたのだが、この春にリニューアルしてから Netscape で使えなくなってしまった。もしかすると IE でないと使えないのかもしれないが。

自分でサーバーを管理していれば、どのブラウザでサイトを見にきているか、記録を見ると一応知ることができる。当社のサイトはIEで見る人の比率が100%だ、IEの利用率はそんなに高いのか。みたいなことが分かる。

ただ、なぜIEの利用率が高いのか、そこを考えてみることが重要である。イメージステーションのIE率は極めて高いはずだ。だって、Netscape では見るることができないのだから。

さて、ここ「裏ご意見番」だが、読者に公開してくれと名乗り出てくれる皆さんには申し訳ないが(幸い、殆どいないのではあるが)、公開が非常に遅れるか、あるいは承認できないことがあるのでご了承いただきたい。別に横着しているわけではない。実は私は Netscape 7.1 を使っているからだ。つまり、ここAmeba Blogは、Netscape では使えない機能が山盛りなのである。

例えばこの文章を書くにしても、「太字」というボタンは使えない。いや、押せない訳ではないが、文章の一部を選択して「太字」というボタンを押しても、選択した箇所は太字にならない。文章の一番最後に<太字></太字>という文字列が追加されるだけである。選択されている領域の処理が、IEでしかできないようになっているからだと思われる。

太字にしたり色を付けたりというのはまだいい。[リンクの追加]に至っては、ポップアップしたウィンドウにURLを書いて「登録」というボタンを押しても何も起きないのである。実は読者の公開機能も同様の現象が起きるのだ。「チェックした読者をあなたのブログに公開します」というダイアログは表示されるのだが、このダイアログ、[キャンセル]は押せるのに、[OK]は押すことができない。というか、押しても何も起きない。ダイアログが出たままである。つまり、Netscape ユーザーは、読者を公開したくても、することができないのだ。

実はイメージステーションが使えないというのも同じような現象で、確認のダイアログの[OK]を押しても何も起きないので、従って使えないのである。

太字にするとか色を付けるのは、裏技がある。直接、文章にそのような指定を書いてしまうのだ。例えば太字にしたい場合は、範囲の始まりの位置に<太字>、終わりの位置に</太字>と書くとよい。その他の属性は、太字という所を以下のような単語に置き換えてやれば、同様に直接書くことができる。

<太字>太字</太字>、<斜体>斜体</斜体>、<下線>下線</下線>、
<赤></赤>、<ピンク>ピンク</ピンク>、<紫></紫>、<青></青>、<緑></緑>、<ゴールド>ゴールド</ゴールド>、<サーモンピンク>サーモンピンク</サーモンピンク>、<ライトピンク>ライトピンク</ライトピンク>、<ラベンダー>ラベンダー</ラベンダー>、<水色>水色</水色>、<黄緑>黄緑</黄緑>、<黄色>黄色</黄色>

リンクを追加したい場合は特殊で、例えば「裏表」という言葉を http://phinloda.jugem.cc にリンクしたい場合には、

<リンク=http://phinloda.jugem.cc>裏表</リンク>

のように書けばいい。

まあこんな感じでいろいろ逃げることはできるのだが、なぜIEでないと使えないようなサイトを作ろうとするのだろうか? マイクロソフトからリベートをもらってそうしているなら話は別だが、実際、IEを使わないとどうしても実現できないような機能があるから仕方なくそうしているのではないのだと思う。選択した箇所を太字にするとか、色をつける、なんて機能は他のブログでも普通にあるし、他のブログなら Netscape でもちゃんと使える。例えば、Ameba Blog の HTML のソースを見ると、Javascript で書かれたinsertAtCaret という関数があるのだが、この関数の中身を、

 var length = textEl.textLength;
 var start = textEl.selectionStart;
 var end = textEl.selectionEnd;
 var str = textEl.value.substring(start, end);
 if (!str)
  return;
 textEl.value =
  textEl.value.substring(0, start) +
  '<' + text + '>' + str + '/<' + text + '>' +
  textEl.value.substr(end, length);

のような書き方をしていれば、多分 Netscape でも使えるようになるような気がするのだ。あ、私、Javascript は書いたことがなくて、つまり全然分からなくて、ですから、上のコード例は滅茶苦茶かもしれませんが。まさかこれを使うなんてことはないと思うが、上のナニは、インデントするために「 」(所謂全角スペース)を使っているので、そこを修正しないと使えない、って誰も聞いてないか。

まあ一例ってことで、とにかく他のブログでは実現できている機能なのだから、IE でないと不可能な機能な訳はないだろう。Netscape でもそのうち使えるようになることを期待しているということで、まあそういう訳で、Netscape でも読者を公開できるようになったら、できるだけ迅速に対応したいと思っていますが、それまではご容赦いただければこれ幸い。
Jugem というブログがある。度重なるトラブルと障害、あまりの遅さに無料会員ですら移転を決意するような状況なのだが、新規の無料ユーザー登録を一時停止中だ。この種のサービスで、登録を停止するというのは致命的に近い状況で、事態の深刻さがうかがえるが、トラブルの内容を見ていると、どうも事前テストやシステムの設計が甘かったのではないかと思えてくる。

他人事ではない。Ameba Blog は16日にオープンしていきなり障害情報が登録された。その内容は

| 文字色を指定した部分が複数ある場合、再編集すると、文字色を指定した全ての部分が、最初に色づけした部分と同じ内容に置き換わってしまう。

というものだ。このようなことは、普通にテストを行っていれば避けられるものだし、日が変わってもまだ修正できていないというのが気になる。しかも、現在、トップページを開くと、ランキングが表示されるべき箇所には次のような文字列が表示されている。

| Warning: Sablotron error on line 1378: XML parser error 4: not well-formed (invalid token) in /usr/local/apache/htdocs/inc/others/top_rank_view.php on line 28

そういえば、正式公開の前にβテストは行ったのだろうか? 最低限でも、複数の社員が参加してテストする程度は行っていると思うが、よく考えてみると、この程度の異常だと全然問題ないような感じがするわけで、そもそも、そういう感覚こそ異常なのかもしれないのだが、昨今のブログのクオリティ、どうも流行について行ってないのではないだろうか。