につき、しばらくうにうにします。うにうに。
ブログシステム選び
さてブログ立ち上げにあたって、どのシステムを使おうか悩んだわけです。
とりあえず検索したり、友人から聞いたりして、以下のものが候補に挙がりました(他にも良さげなものはたくさんあると思いますが)。
結論から言うと、現在このブログはMovableType4.1で動いています。
理由としては、ブログ設置に慣れていないので、ドキュメントや参考事例が豊富なほうが好ましいこと(できれば日本語で)、シェアの多さからレンタルサーバー側のサポートも期待しやすいこと、が挙げられます。
世界的な主流はWordPressになりつつあるらしいですね。逆に日本ではMovableTypeのシェア率は衰えていないようです。なんだかGoogleとYahoo!の利用率に似ている気がします。
昔はヒネクレものだったので、メジャーなものはメジャーであることを理由に避けていましたが、今はとりあえず主流のものを触ってみて、不満があれば他を試すという姿勢に変わりつつあります。
インストールはマニュアル通りすんなり行きました。しかしながら実際触っていくと、いくつか不明なところが……
1). 一部の文字が化ける
具体的に言うと、
- ~
- 波形
- …
- 3点リーダ
- -
- 全角マイナス
- \
- 全角バックスラッシュ
などが?に化けました。これではAAが貼れなくてがっかり、なので色々いじること数時間……
まず入力時のフォーマットを「なし」に。そもそも勝手に不要なタグをつけられるのは困ります。慣れてくれば、見た目もコードだけで大体想像できますし。ただこれでは当然解決せず。
次に「設定」の項目を眺めてみて、「ブログの設定」の「ブログ記事」を見ると、「Word特有の文字を置き換える」というそれっぽいのを発見。これだ、と思ったんですが、3つのどれを選んでもあまり変わらず。エンティティを選んだときは3点リーダだけエンティティ(&#xxxx;)に変換されて表示されるようにはなりましたが……
仕方ないのでWebで検索してみると、MySQLの設定の問題っぽいという情報をいくつか見つけました。考えてみれば、まずDBの文字コードを確認するのは当たり前ですね。化けたのが一部の文字だけだったのと、普段はPosgreSQLを使ってるもので(言い訳)。
最終的に、phpMyAdminからMySQLの設定を確認して、「MySQLの接続照合順序」を「ujis_japanese_ci」から「utf8_general_ci」に変更して解決しました。
#接続照合順序とかujisとかナゾの言葉ですね、これがMySQLライクなのかしらん?
2). エラーログに「Premature end of script headers: mt.cgi, referer:~」というエラーが時々出ている。
例によってWebで検索して調べてみると、「原因不明なときによくでるエラーです」というヤな記述が。とりあえずマニュアルと違うのはsuEXECなところかなぁ、とパーミッションを見直しつつ、configって何かあるかなとWeb上のマニュアルを見てみるとそれっぽいのが。インストールが画面上でできてしまったので見てませんでした。
そんなわけで、mt-config.cgiに以下の設定を追加
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022
# 初期値UTF-8だけどおまじない
PublishCharset UTF-8
# 5秒間隔の自動保存は鬱陶しいので10分感覚に
AutoSaveFrequency 600
# これも初期値1だけどおまじない。リビルド時に不要ファイル消し
DeleteFilesAtRebuild 1
これで一応消えたっぽい? しばらく様子見中です。
というように解決したものはいいのですが、実はまだ解決してないのが2点あります。
3). 「設定」>「ブログの設定」>「コメント」を選ぶと500エラーが出る
4). GIFファイルをファイルアップロードからアップロードすると500エラーがでる
3). はさっぱりです。インストール直後からこの項目を見れたことがありません。他の項目は普通に見れるのに。というわけでコメントの設定ができません(苦笑)。デフォルトのままで問題なければよいのですが……
4). はWebで検索したら同じような症状の人がいたのですが、その時の問題はPerlのバージョンが5.8.0だったことらしく、こちらは5.8.5で違う原因のようです。レンタルサーバーなのでバージョン上げろと言われても困りますし。
仕方がないので、動かしながら解決策を探りたいと思います。
あとは、検索エンジン用に、各記事のファイル名は記事タイトルをURLエンコードしたものにしたいのですが、今のところそういう設定は見当たらず。プラグインを探してみます。
というわけでまだデザイン等にまで手が回っていません。そのうち、がらっとデザインは変えると思います。
エラーが出てたら、またなんかトラブってるんだな、と思ってください(泣)。
#どうにもならなくなったら他のシステムに変えるかも(ぼそ
JavascriptによるActiveX コントロールのアクティブ化
かなりいまさらな話題ですが、2年ほど前から、FlashなどのActiveXコントールに「このコントロールをアクティブ化して使用するにはクリックしてください。」というポップアップが出るようになったのは、皆さんご存知だと思います。
これはMicrosoft社とEolas Technologies社との特許紛争のためにやむを得ず導入された措置であり、誰からも望まれたものではありません。詳しくは下記リンクの当時の記事をご覧ください。
参考URL:
ITmedia News:特許訴訟対策のIEアップデートがリリースマイクロソフト,「Active Xコントロール実行時に確認画面が出る」パッチをリリース:ITpro
そして最近になってようやく解決の目処が立ったようです。4月ということなので、もうすぐこの煩わしさからは開放されるでしょう。
参考URL:
MS、Eolasからライセンス取得でIEの「余分な1クリック」解消へ – ITmedia Newsしかしながらいつの時代も古いバージョンというのは生き残っているもので、Web制作者としてはすぐ最新のみ対応とするわけにはいかないのがつらいところですね。
もちろん以前の対策法はあちこちで公開されており、その対策法を適用したままでも最新のInternetExplorerで問題はないでしょう。 しかしよく知られているJavascriptを使った書き出し法は、swfファイルごとに記述が必要な上に、Javascriptを有効していないと動作しないという問題があります(Javascriptが無効で、ActiveXが有効というクライアントがどれくらいあるかはさておき)。
そこで移行期間用に、少しの作業で対策でき、後で外すのも簡単な方法をご紹介します。まず下のファイルをダウンロードしてください。
flashloader.jsそしてダウンロードしたファイルを、Flashを配置しているHTMLと同じ場所に置き、<head> ~ </head>タグ内に、
<script type="text/javascript" src="flashloder.js" charset="UTF-8"></script>
という一行を加えてください。それだけで、そのページ内に含まれるすべての<object>タグを検出し、Javascriptによる再埋め込みを行います。
せっかくですので、コードの中身についても後日解説を入れたいと思います。
