Movable Typeの最近のブログ記事

見つけましたよと。
PreviewInNewWindow | 環境変数リファレンス - CMSプラットフォーム Movable Type -

これまでPreviewTargetChangerというプラグインを使っていたのですが、
(参照:MovableTypeでプレビューを別ウィンドウ/別タブでできるPreviewTargetChangerは超オススメ
使い方が悪いのか、 プレビューしようとするといきなり公開されているという罠
があり、何度も引っかかってしまいました。

しかし今回の「PreviewInNewWindow」という環境変数を
使用する方法では、「いきなり公開の罠」は発動しないため(たぶん)、
私のようなうっかりさんでも安心です。

やり方は簡単。

設定ファイルに

PreviewInNewWindow 1

と追記するだけ。
既にPreviewTargetChangerを使用している場合は、
「システム」→「ツール」→「プラグイン」から、
PreviewTargetChangerを無効にしておきましょう。

ただ、このままだと、プレビュー時に生成される
一時ファイルが、サーバに残るそうなので、
それを削除するため、「run_periodic_tasks」というのを
定期的に実行する必要があるそうです。

そのやり方は、こちら。
→ 指定日投稿や公開キュー等のスケジュール処理の設定 : Movable Type ドキュメント
PreviewInNewWindowの説明ページからは、
このページへはリンクが貼られていないという、
ちょっぴり不親切仕様でした。

cronを使えるレンタルサーバーなら、設定してみましょう。
そうでなかったら...どうするんでしょうね。

ともあれ、これでMTでのプレビューしやすさが改善されました!
やったね!

<追記>
パーミッションの変更もしないと、ダメっぽいです。
Movable Typeの日時指定投稿をさくらのレンタルサーバで動くようにした | 大輔べ

変更しても、こんなエラーが出ます。なんでやねん。

"my" variable $ext masks earlier declaration in same scope at /home/inverse/www/umu/mt/tools/../lib/MT/CMS/Asset.pm line 1560.

でもプレビューファイルは消えてるみたいだから、
まぁいいのかな?

ありがとうございます。皆さんの拍手が私のモチベーションです→

久しぶりにアクセス解析見てみたら、
なんとスマホでのアクセスが
半分を超えてるじゃないですか!

で、当サイトをスマホで見てみたら、
PCの画面そのままじゃないですか!
字ちっさ!

WordPressだと、勝手にスマホ対応とか
してくれたりするんだけど、
MovableTypeはそんなことないのね。

で、レスポンシブ化ってどうやるの?
プラグインとかでできるでしょ。

と思って調べたところ、有料だったのでやめて、
以下のサイトの情報を元に、
手作業でレスポンシブ化してみることにした。

1 headerタグ内にviewportを設定する

headerタグに、以下のようなmetaタグを仕込む。

<meta name="viewport" content=";width=device-width,initial-scale=1" />

上のサイトとは変更してある。
「user-scalable=no」とか「maximum-scale=1」とかやると、
ピンチアウトでズームできなくなる
から注意だ。

2 スタイルシート内で、スマホかどうか判別する

めんどくさいので、タブレットはPC扱い。

【その2】CSSファイル内で区別させる方法

一つのCSSファイルで済ます場合はこの方法になります。

@media screen and (min-width: 641px) {
/* ここにPC、タブレット用スタイルを記述 */
}
@media screen and (max-width: 640px) {
/* ここにスマホ用スタイルを記述 */

}

こんな感じで。

当サイトでは、そもそもPC用しかなかったので、
スマホ用に以下の記述を追記。

  • ヘッダーの画像がでかかったので、スマホでは非表示に
  • スマホではサイドバーを一番下に表示

だって、いろいろ変えるのめんどくさいんだもの。


まとめ

ポイントは2つ。

  1. headerタグ内に metaタグで viewport を設定する
  2. CSSファイル内で
    @media screen and (man-width: 640px) {}
    とかやって、スマホ対応のデザインを書き込む

あ、headerタグとスタイルシートは、
再構築を忘れずに!反映されないよ!

というふうにやってみて、
Google先生から見てどうですかね?ということを、
Mobile-Friendly Test
でURLを入れて調べてみよう。

当サイトはもちろんOKもらったぜ!

ということで、未来の私が忘れっぽくても、
これを読めば安心だ。よかったね!未来の私!

ありがとうございます。皆さんの拍手が私のモチベーションです→

タイトルで言いたいことは言ってしまいました。

Wordpressは別タブでプレビューできるのが、
MovableTypeではなんでできないのか不満だったのが、
PreviewTargetChangerプラグインでサックリ可能になったのです!
もう数年悩んでたのがアホらしい!

プレビューを別ウィンドウ/別タブで表示できると、
「コードを直して表示を確認」という作業にかかる時間が激減
するわけなんです。

もう標準で付けておいて欲しいぐらいですよ。

小粋空間さん、ありがとうございます!


ありがとうございます。皆さんの拍手が私のモチベーションです→

ファイルを差し替えると、保存できるようになる。

Firefox 16 以降において以下のカテゴリおよびフォルダを選択が必要とする動作において、カテゴリおよびフォルダの選択が保存できない問題を確認しております。

ブログ記事編集画面でのカテゴリの選択時
ウェブページ編集画面でのフォルダの選択時
アイテムのアップロード画面でのフォルダの選択時 など
上記のような操作時にカテゴリおよびフォルダが選択できない場合は、以下の各バージョン毎に修正ファイルを適用して下さい。

Movable Type 4.38 用
Movable Type 5.07 用
Movable Type 5.14 用
Movable Type 5.2 用
ファイルの内容

mt-static/js/common/List.js
mt-static/js/mt_core_compact.js

Firefox 16 でカテゴリおよびフォルダの選択が保存できない。 | Movable Type FAQ

自分メモ用。

ありがとうございます。皆さんの拍手が私のモチベーションです→

サーバ障害→移転→復旧あれこれ

心の傷も癒えてきたので、備忘録がてら今回のサイト移転の
顛末を書いておこうと思う。
なぜなら、過去に学ばない者は愚か者だからだ。
(注:管理人は過去にも同じような経験をしています)

悲劇発生

サイトに障害が起きた。
なかなか復旧しないなーと思っていたら、データベースにログインできない。
ログインできないというか、データベースが存在しない。
すっからかん。

(´・ω・`)ショボーン

うむらうす本館

  • Movable Typeで運営
  • 個別エントリーのファイルは残っているがデータベースがなくなった
    →WEB1.0化を達成!うれしくない!

7月時点のバックアップが残っていたのでインポートしようとしたら、
Movable Typeさんに「ファイルが大きすぎるでござる」と言われた。
自分が作ったバックアップファイルに文句言うな!

しかしインポートできないと、データベースが復活しない。どうしよう。
泣きそうになりながら、解決可能な問題か調査。

結論:ムリ!わーい!

泣きながら1500個ぐらいあるHTMLファイルを加工、必要部分を結合して
インポート用のファイルを作成。Jedit Xさんがマルチファイル置換で大活躍。
正規表現で、検索した文字列の入れ替えとかもできちゃうと知る。
正規表現:とことん!ホームページ

ファイルの文字コードの罠にハマったりしながら、なんとかインポートできた。
ここまでで2週間以上経っていたような。

うむらうす -ANNEX

  • WordPressで運営
  • WordPressに6月までの記事をインポートしたところ、
    個別エントリーだけでなく月別アーカイブなども動くようになった!
  • ついでに、動かなくなっていたWordTwitも動いた
  • なので、別館に関しては失われた3ヶ月分を、
    Googleキャッシュから泣きながら移すだけで済んだ

バックアップ

今後のデータベースファイルのバックアップby方法を検証、確立させておく必要あり。
なぜなら、過去に学ばない者は愚か者だからだ。
(注:今回のような事故は2回目です)

WordPress:WordPress Database Backupで。
ツール→バックアップ→定期バックアップ→週1回 をチェック
で、1週間ごとにバックアップファイルがメールで送られてくるようにできた。

Movable Type 5:自動バックアッププラグインが見つからなかったので、
MySQLのバックアップを、cron+シェルスクリプトで行うことにした。
シェルスクリプトは以下のような感じ。
mysqldumpのパスはマニュアルにはないが、 /usr/local/bin/ にある。
(参考:ハッスルサーバーでのWP-DBManagerの使い方

#!/bin/sh
bak=`date +%y%m%d`
/usr/local/bin/mysqldump -a --opt --host=ホスト名 -c --user=MySQLユーザ名 --password=パスワード データベース名 | /usr/bin/gzip | /usr/bin/uuencode 好きな名前$bak.sql.gz | /usr/bin/mail -s "好きな名前$bak.sql.gz" 送信先メールアドレス

mysqldumpのオプションは以下を参照。
MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.9.7 mysqldump(テーブル構造とデータのダンプ)

cronでのファイル名の指定は、ルート直下に置く場合は以下の通り。

/home/umu/public/ファイル名

publicを知らずにnot foundを連発しましたこんにちは!

ということで、なんとか自動バックアップの体制も整ったし、
これでいつサーバが飛んでも大丈夫だ!いつでも来い!

って言っておけばしばらく来ないだろう。
というか、来なくていいです。ハイ。

良い子のみんなは、バックアップはちゃんと取ろうね!
約束だぞ!

ありがとうございます。皆さんの拍手が私のモチベーションです→

ということで、誰が必要としているんだかわからない、微妙なMacの小ネタコーナー。うおー。待ってましたー。(棒読み)

今日は、MacJournalからMovable Typeに直接投稿するときの設定。

設定は「ジャーナル」の「ブログサーバを編集」から。

mj-mt2.png

左下の「手動設定」をクリックすると、こんな画面になる。

mj-mt1.png

ブログのタイプとして「Movable Type」もあって、
設定は「適当にわかるところを入れておくと自動検出します」
みたいなことが書いてあるが、一向にしてくれなかったので、
手動で入力する必要があった。

特にこの「投稿URL」が謎で、調べてもわからなかったのだが、
どうやらこれはMovable Typeのアプリケーションフォルダにある、
mt-xmlrpc.cgiファイルを指定するようだ。

設定が正しければ、右下の「再読み込み」を押すと右のドロワーにカテゴリーが表示される。 正しくなければ、表示されない。

これで、MacJournalで編集をして、そこから直接Movable Typeに
投稿できるようになったのはよいのだが、ブログに送ると下書きではなく
いきなり公開になってしまった。せめてプレビューで確認させて欲しいものだ。

これもどこかで設定できるのだろうか?

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type 4.25にバージョンアップした。

内容を見ると、「アクションストリーム」というものがあるらしい。 なにやら、flickrとかdeliciousとか、利用しているWebサービスの更新履歴を表示することができるらしい。

おお。これははてブをサイトで自動表示しようとしている私にピッタリではないか。 と思ってやってみた。

が、defaultでは英語のサービスしか入ってないので、日本のサービスは追加しないといけない。
【Movable Type 4.25】 Action Streamに日本のサービスを追加して楽しむ

えらい人が、はてブを追加するファイルを作ってくださったようだ。ありがとう!
小粋空間: HatenaBookmarkAction プラグイン
こちらを参考に進める。

zipファイルをダウンロードしてきて、アップロードは
HatenaBookmarkAction内の
・plugin/HatenaBookmarkAction
・mt-static/plugin/HatenaBookmarkAction
つまり下の赤で囲ったやつらを、それぞれサーバ上の対応する場所にアップロードする。

ActionStream3.png

上記サイトの記述では、最上位のHatenaBookmarkActionフォルダ全部を plugin/ に置くように読めるが、そうではないので注意。

これで「システムメニュー」の「プラグイン」に「Hatena Bookmark Action」と表示されるようになる。

ActionStream1.png

↑こう表示されればOK。

次にこのプラグインを表示するwidgetを作ってみる。 「デザイン」の「ウィジェット」から「ウィジェットテンプレートを作成」。

ActionStream2.png

コードは以下のような感じ。

<a href="http://b.hatena.ne.jp/umurausu/" title="誰かさんのはてなブックマーク">誰かさんのはてなブックマーク</a></h2>
<div class="module-content">

<mt:ActionStreams lastn="10" service="hatenabookmark">
<mt:If name="__first__">
<div class="widget-recent-action widget-recent widget">
<h3 class="widget-header">最近10件のアクション</a></h3>
<div class="widget-content">
<ul>
</mt:If>
<li class="service-<$mt:var name="service_type"$>"><$MTStreamAction$></li>
<mt:If name="__last__">
</ul>
</div>
</div>
</mt:If>
</mt:ActionStreams>

<mt:ActionStreams lastn="10" service="hatenabookmark">
↑ここでserviceを指定することで、はてブ関連のアクションのみを表示するようにする。

ただ、これだけだとせっかくのはてブマークの画像はてブマークが使えないので、スタイルシートにこんな感じに追記。

li.service-hatenabookmark {
margin-left: -16px;
padding-left: 16px;
padding-bottom: 3px;
background: url(はてブ画像のURL。多分 mt-static/plugins/HatenaBookmarkAction/images/hatenabookmark.png あたり) no-repeat 0 1px; }

画像のURLは自分の所に合うように変える。

結果は、トップページの右カラム「umurausuのはてなブックマーク」に表示されている通り。 丹精に書きこんでいるはてブコメントが表示されないのが不満なのだが、まぁいいや。

なんかMovable Typeのこれ系の情報は、ツワモノが書いているからか、そっけないものが多いので、いくぶんていねいに書いてみた。

そんじゃまたそういうことで。

ありがとうございます。皆さんの拍手が私のモチベーションです→

EUC-JPでもクイックポストを使いたい

Movable Typeには、クイックポストというbookmarkletがある。 いちいちログイン→新規ブログ記事作成などという手順を踏まなくてもいきなり新規ブログ記事を作成できるというイカした機能なのだが、サイトの文字コードがEUC-JPだと機能しない(多分)。 というのも、こんなエラーが出るからだ。

エラーが発生しました。
close 不正な要求です。
文字コードEUC-JPに含まれない文字データを送信しています。

要は、「文字コード?UTF-8でしょフツー(笑)」というエラーなのだが(意訳)、なんでこんなエラーが出るかといえば、文字コードがEUC-JPであることを想定していないから+開いているサイトのタイトルを渡しているからだ。 前者はこちらではいかんともしがたいので、ただページ遷移を省略するためだけに使いたい私としては、後者をどうにかしよう。 タイトルとかどうでもいいし、エラーが出なければよいです。

ちなみに元のコードはこんな。 ブログ記事編集画面の、「保存」とか「確認」ボタンの下に「(ブログ名)へクイックポスト」というリンクがあるので、そのリンク先のこと。

javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('http://soap.s216.xrea.com/umu/mt/mt.cgi?__mode=view&_type=entry&blog_id=1&qp=1&title='+encodeURIComponent(d.title)+'&text='+encodeURIComponent(d.location.href)+encodeURIComponent('<br/><br/>')+encodeURIComponent(t),'_blank','scrollbars=yes,status=yes,resizable=yes,location=yes'))

これを下のようにする。

javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('http://soap.s216.xrea.com/umu/mt/mt.cgi?__mode=view&_type=entry&blog_id=1&qp=1&title=','_blank','scrollbars=yes,status=yes,resizable=yes,location=yes'))

太字のところを削っただけ。 機能としては、タイトルが自動で入らなくなって、ただ新しいウインドウで新規ブログ記事を書き始められるだけ。これをブックマークに登録して呼び出せばよろし。

サイトのタイトルとかは「Make Link」とかで作ればいいじゃないか。
参考:FirefoxアドオンMake Linkが良さそうだ(Copy URL+代替) (うむらうす)

ありがとうございます。皆さんの拍手が私のモチベーションです→

期せずして書いて2週間ほど熟成させてしまった本記事だが、芳香を漂わせてきたのでアップして外気にさらしておく。


Movable Typeの4.1がリリースされていたので、入れてみた。
Movable Type 4.1 の出荷を開始

主な新機能は以下の通りとのこと。


* パフォーマンスの改善
* ブログ記事などの入力項目を拡張する、カスタムフィールド機能
* 管理画面のインターフェイスの改良
* 管理している全てのブログで共通利用できるグローバルテンプレート機能
* 登録ユーザーのプローフィール画像登録・表示機能
* 情報の編集など、アイテム管理機能の強化
* テンプレートの導入・入れ替えが簡単になるテンプレートセット機能
* 編集中のテンプレートで使用している MT タグの、リファレンスリンク付きリスト表示機能
* API の強化、ウェブページのサポートや Windows Live Writer などでの投稿に対応
* リッチテキストエディタがプラガブルに
* ウェブサイト構築に便利な汎用ウェブサイトテンプレートセットを追加

詳しくはこちら。
Movable Type 4.1 の新機能


ちなみに以前、Movable Type 4 にしたが・・・で書いた、保存ファイル名をカスタマイズしていると記事投稿時にプレビューできなかった件だが、4.1ではできるようになっていた。よかったよかった。


MT4.1.jpg

「きちんとプレビューできるようになってた」のプレビューの画像

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type 4 でのWYSIWYG編集

Movable Type 4 にしたが・・・ (うむらうす) で、Movatle Type4で「アーカイブマッピング」を変更している場合、 つまり個別エントリーの保存ファイル名をカスタマイズしている場合に、 ブログ記事を書いて「確認」を押しても記事のデザインをプレビューできないという、 致命的なエラーがあることを書いた。 実はここまで細かく書かなかったが、今書いた。

で、「ブログ記事」のフォーマットを「なし」ではなく「リッチテキスト」にすると、 とりあえずのWYSIWYGになるのでこれでいいかって思った。

フォーマットなし
タグ直打ちの「フォーマットなし」だとこんな感じ。

WYSIWYG
WYSIWYGだと画像もちゃんと表示される。

設定画面
設定はココ。

といっても、「確認」でプレビューした場合には、 きちんとブログのデザインの中で記事が表示された状態でプレビューできるので、 そっちの方がずっといい。 次のバージョンでの対応されるといいなと。

今日の雑学講座:
WYSIWYGはWhat You See Is What You Getの略。もうちょっと略す気を見せて欲しい。 私なら最低WSIWGぐらいにはする。あるいはWSWG。ちょっと読みにくいか・・・(どうでもいい)

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type 4 にしたが・・・

おもむろにMovable Typeを3.35から4.01にアップグレード!
予想通りいろいろハマったよ!というかハマってるよ!

ということで、私の呻吟の一夜を無駄にせぬよう奮闘記をここに記す。

まず参考サイト:
小粋空間: Movable Type 3 から Movable Type 4 へのアップグレード方法
MT3→MT4: XREAでMTを!

バックアップは入念に行い、アップグレード。 上記サイトの指示に従えば、それほど大きな罠はない。 .cgiファイルのパーミッションを全部変えなくてはいけないのはいつも通りだが、 アップグレード自体はさっくり進みあっけなく終わった。

しかし予想通り、テンプレートをカスタマイズしていたところでハマる。 デザイン真っ白。わーきれい。じゃない!(ノリツッコミ)

そもそもバージョンアップしようとしたきっかけが、 StyleCatcherというデザイン簡単に変えられますよプラグインが動作しなくなったからなのだが、 デザインを変えるどころか復旧すらできなくなった。 0歩進んで2歩下がりました!

しばらく闘ったがどうにも復旧が難しかったので、デザインを変えてごまかしてみる。 そんなわけでデザインがコロコロ変わってます。

ということで罠一覧。

  • StyleCatcherで外部のレポジトリを読み込ませるには緑の小さな+をクリック
    緑の小さな+
    ↑わかるかー!
  • StyleCatcherで各テーマを読み込ませているのはスタイルシートのテンプレート
    /* This is the StyleCatcher theme addition. Do not remove this block. */
    @import url(base_theme.css);
    @import url(スタイルシートのパス);
    /* end StyleCatcher imports */
    しかしそもそも base_theme.css が同じディレクトリにない。なんじゃそりゃ。 しょうがないので、この下に有効にしたいCSSをimportさせる一行を追記した。
  • スタイルシートの場所は<$MTBlogURL$>直下。他に置いてても強制変更。 それにともないアーカイブテンプレートのスタイルシートのパスを全部書き換え再構築。うぇぇ。
  • 保存したテーマは mt-static/support/themes/ にある。 以前のStyleCatcherでは保存場所を変えられたが、できなくなった
  • 今度はプレビューが表示できない:Jay's Room 致命的。
    おそらく tmpl/cms/preview_strip.tmpl の
    <iframe id="frame" frameborder="0" scrolling="auto" src="<$mt:var name="preview_url"$>?<mt:date format="%H%M%S">" onclick="return TC.stopEvent(event);"> </iframe>
    という部分の preview_url がまちがっているのはわかるのだが、 それをどう設定しているかがわからない。 おそらく lib/MT/App/CMS.pm だが、さすがにいじれん。改良待ち。

さて気を取り直して新しくなった点について書くと、MT4になって「Include」というものがあるらしい。 要は、使い回しが効くものはモジュール化してIncludeして使いましょう、みたいな印象。 詳細については小粋空間さんが説明されている。
小粋空間: Movable Type 4 のテンプレート構造(その2:MTInclude に着目したテンプレート関係図)

で、これを表現した図がこちらなのだが・・・
なんか難しくなってね?

なんか結局MT3と同じ使い方をしていくような気が・・・

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type 4 が公開だけれども

されたが、ちょっと様子見。 見切り発車で移行して、トラブルで時間食ってもかなわないので。

しかしMT3→4になるとほとんど全部入れ換えな感じなので、 WordPress移行もにらんでみたりしています。

どうっしよっかなー、と。

ありがとうございます。皆さんの拍手が私のモチベーションです→

サイドバーにがんばって付けたスタイルシート切り替えスクリプトだが、 おそらくMovable Type 3.35になったくらいからだと思うが、 動作しなくなっている。 そしてすこぶる解決する気力なし。

寝てたら小人さんが直してくれないかしら。

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable TypeのライセンスのGPL化

MovableTypeのラインセンスがGPL化されることが意外と知られてない/理解されてないらしい

Movable Typeユーザは必読。
私もホントに全く知らな/理解していなかった。 でもそれもそうだろう。日本語のリリースでは触れられていなかったのだから。

で、GPLって何だっけという話だが、上記リンク先を引用する。

1. ソフトウェアのライセンスがGPLであるということはそのソフトウェアの使用にはお金がかからないということと事実上同じ意味である。「えっ?でもSixApart日本法人のニュースリリースには5万円に値上げって書いてるよ?」という話は後述。

サポートが不要なら、使う分にはオープンソースだと。 GPLというのは、GNUのようなコピーレフトということらしい(余計分かりにくい?)。
参考)GNU General Public License - Wikipedia


まとめ
・MT4は商用でもサポート不要なら無料(要サポートなら有料)
・無償個人利用継続
・なのだが、今までのリリースを読んでそう理解できた人はほとんどいないと思う
・SixApart日本法人のこの発表が適切だったのか、ちょっと疑問

ありがとうございます。皆さんの拍手が私のモチベーションです→

MT使いの憂鬱

いつも思うのだが、バージョンアップがめんどくさい。

今回3.33から3.35にしてみたわけだが(めんどくさいので3.34にしてなかった)、 毎回めんどくさいと思う。 で、今回は更にどうかと思ったのでちょっと思ったことを書く。

さて、今回のバージョンアップの手順書には、下のようなことが書いてあった。

1 バックアップの作成
バックアップの手順に従い、バックアップをローカル側に作成します。

2 以前のバージョンのデータの削除
FTPプログラムで、アプリケーション・ディレクトリとスタティック・ディレクトリの内容を空にします。これは、以前のバージョンとの混在を防ぐためです。

3 新しいバージョンの導入
新規インストールの手順に従い、新しいバージョンを導入します。

4 環境設定ファイルの復旧
(省略)

5 カスタマイズ内容の反映(オプション)
default_templatesディレクトリやsearch_templatesディレクトリ内のテンプレートをカスタマイズしていた場合は、ローカル側に作成したバックアップから、それらをアップロードします。

なんですか「ディレクトリの内容を空にします」って。 ユーザを信用しすぎじゃないでしょうか。 世界中で「アッーー!!」な人が発生しているのではなかろうか。 外国だと「オゥッーー!」かもしれないな(←どうでもいい)。 少なくとも「ディレクトリを空にする」というリスクの高い行為をユーザにやらせるのは危険だと思う。

システムを構成するファイルはわかっているのだから、 どのバージョンからアップグレードしたら、 どのファイルが更新されるかというのはわかるはず。 ならば、こういうのはどうだろうか。

更新用のファイルが詰まったディレクトリと、 バージョンアップ用のスクリプトをアップロードする。 そのスクリプトにブラウザからアクセスすると、 対話的にアップグレードが始まる。 不要なファイルは一覧を表示して、OKを押すとサクサク消す。 上書きが必要なファイルは、確認して上書きする。 できることなら、上書きされるファイルのタイムスタンプを見て、 ユーザーが変更していたらカスタマイズの可能性があるので、 変更点を表示しつつ「ここ、変わってますけど上書きしちゃっていいっすか?」 と聞いてくれたり・・・

そんな風になったらとてもいいと思うのだが、 夢見過ぎだと思った。

しかしこんなめんどくさいことをユーザに課すと、 スキルのないユーザほどアップグレードはしなくなるし、 セキュリティーホールはそのまんまほったらかしになる。 企業ユーザもいるだろうし、リスクになると思うのだが・・・

ありがとうございます。皆さんの拍手が私のモチベーションです→

変なアクセス

最近妙なアクセスがあるのに気づいた。 妙なドメインのIP40個程から20000リクエスト/日ある。 なんだこりゃ。

調べてみると、こちらで書かれている人たちであることがわかった。
はてブスパマーの正体は韓国企業…なのか? -小野マトペの業務日誌-
うちははてなじゃないので、別にはてなをターゲットにしているわけではないということですな。 (人かどうか知らんが)

もう少し詳しく調べてみる。
・ブラウザはMSIE6(を名乗っている)
・OSはWindows Server 2003
・リクエストは.cssファイルに集中(20000リクエスト以上)
 .jsファイルもリクエストしてる。htmlファイルへのアクセスは1/10以下

こりゃ人間じゃないね。 小野マトペさんは某企業を疑っておられるが、 私としてはサーバが感染しててアクセス飛ばしまくってる and/or 踏み台にされてるという気がする。知らんけど。 はてなに限らずもっと広い範囲で相当アクセスが行ってるんじゃないでしょうか。

まぁこれ以上は何でもいいので、IPでアクセスをはじいて終了とさせて頂いた。

追記)
上で紹介した小野マトペさんのところで続編が書かれている。 はてな関係の一件は、富山の企業の人たちがやっていることだということ。 が、私は上の話から、異常アクセスと富山云々は別件と考えている。 実際の所はわかりませんが。

ありがとうございます。皆さんの拍手が私のモチベーションです→

いろいろ追加

トップページ右のメニューにいくつか増やしてみた。 ピンポンムッチャケ先生

微妙にハマる。

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type

重要】 Movable Type 新バージョンとパッチの提供について

Movable Typeのバージョンを3.32にするのをさぼっていたら、いつの間にか3.33になっていた。 一つ手間が省けたと喜んでバージョンアップしてみたが、全く見かけは変わらない。 セキュリティー上の問題を解決したらしい。

ということで、ここで私なりのMovable Typeのカスタマイズ法を記しておこうかと思う。

ありがとうございます。皆さんの拍手が私のモチベーションです→

またデザイン変更

弱電波系の当サイトにあった雰囲気のデザインを見つけたので変更。

他にもいろいろと気に入ったデザインがあったので、 メニューの「スタイルシート変更」で切り替えられるようにした。 theman(今のdefault)と、parrotもいいですねー。

ありがとうございます。皆さんの拍手が私のモチベーションです→

デザイン変更

Movable Typeがバージョン3.3 になったのに伴い、 いろいろといじってみている。

デザイン変更
3.3から、StyleCatcherというものが使えるようになった。 これは、ある条件を満たしていると、サイトのデザインをとっても簡単に変更できるというステキなもの。 その条件とは、ずばりデフォルトのデザインテンプレートを使っていること。 つまり、今までいろいろカスタマイズしていたものそっくり失って、作り直すのがめんどくさかったーーー。

とりあえずデフォルトとして、MovableType幼稚園さんのデザインテンプレートを使わせて頂いた。 夏っぽく涼しそうでGood!

スタイルシート切り替え
腹が立ったので、もっとデザインを変更しまくってやると、 画面右にスタイルシートの切り替えリンクを作成。 ワンクリックでサイトのデザインを変更できるようになった。万歳。
参考:小粋空間: スタイルシート切り替え

教訓:何かを得るとき、何かを失うことがある

ありがとうございます。皆さんの拍手が私のモチベーションです→

再開のお知らせ

当サイトはレンタルサーバのひどい仕打ちにより休止していましたが、ほぼ復旧しましたので再開することにしました。

変更点は以下の通りです。

  • URLが http://soap.s216.xrea.com/umu/ になりました
    (2014年現在は http://www.umurausu.info/blog/ です。)
  • それに伴い各記事のURLが全部変わりました
  • 最近のエントリーがいくつか失われました
  • 作った画像がいくつか失われました

あといくつか細かいところが元に戻ってないですが、思ったより被害は小さかったです。 が、やはりバックアップの必要性が身に染みました。 やはりこういうこともありうるんですねー。 今度のサーバは、かなりしっかりしていると評判も良いようですので、 再発はないと信じていますが。というかすごく信じたい。

最後に、今回はいろいろな方に励ましの言葉を頂いて、大変励みになりました。ありがとうございました。 (muta's mac scribblingさんJ.S.Machさん感じ通信さんY.M.Online at webryさん

いやー、疲れたっす。

ありがとうございます。皆さんの拍手が私のモチベーションです→

サイトの見え方確認

Browsershots

サイトを作るとなると、自分が使ってるもの以外のOS、ブラウザではどんな見え方なんでしょう? と思いつつもまぁいいやと思って作ってそのままにしてしまう自分に乾杯する毎日ですよね。 だってめんどくさいんだもん。

しかしこのBrowsershotsというサイトがあればもう安心! ここに見え方を確認したいサイトのURLを打ち込むと、 いろんなブラウザでそのサイトを見た結果のスクリーンショットをビシビシ作ってくれるという、 ステキなサービスを提供してくれているんですねー。 しかもタダ。超ステキ。

あまりにステキなので結構待ち行列がすごくて、待ち時間が60分を超えると「ちょっと待ちなベイビー」 と言われます。 そういうときはおとなしく赤ちゃんに変身し、しばらく待ってやりなおしましょう。

ちなみに対応しているブラウザは以下の通り。
Epiphany1.4.8(知らない)
Firefox 1.04
Firefox 1.5
MSIE6
MSIE7β
Galeon 1.3(知らない)
Mozilla 1.7.8
Opera 8.50
Safari 2.0

かくいう弊サイトも、私としてはブラウザの真ん中に表示しているつもりだったのですが、 実はMSIEで見ると左に寄っていたという衝撃の事実が暴露されたわけなのです。 あわてて適当に直した結果、思うように表示されるようになって一件落着!

サイトを持っている方は一度やってみて「へぇー」と言うといいと思いますね。

ありがとうございます。皆さんの拍手が私のモチベーションです→

Movable Type のバージョンを3.2にアップしてから、 「クイックポスト」という機能を使おうとすると、 全部文字化けして全く使えないという問題が人知れず発生していた。 気が向いたのでGoogleさんに聞いてみたら、あっけなく解決。
Road to me ... | MT3.2の「クイック投稿(クイックポスト)」Bookmarkletの文字化け(Safari)

さてこの「クイックポスト」というのは何かということから説明しよう!
この「クイックポスト」はJavascriptというかBookmarkletというかそんなもので、 ブックマークに登録しておいて使うものだ。 あるページについて何か書こうかなーと思い至ったときに、 おもむろにこの「クイックポスト」をブックマークから呼び出す。 すると、そのページにリンクを貼る<A>タグが作られた状態でエントリー編集ページが呼び出される。 サイトを巡っていてネタに出会ったとき、これを呼び出せば手軽に更新ができますよね、というイメージだ。

しかし私の場合は、本来の目的であるエントリー編集よりも、 「<A>タグ生成機能」として使っている。 だっていちいちサイトにリンク貼った<A>タグ書くのめんどくさいんですもの。

しかし、これが全部文字化けしてしまったら、台無しもいいところ。 それで、肝心の問題解消方法はというと、以下の通り。

[MTのクイック投稿Bookmarklet作成法]
1) MT管理画面(mt.cgi)右下の「クイック投稿の設定」からBookmarkletを作成
2) BookMarkの中にBookmarkletを保存して、Bookmarklet内のescape()関数をすべてencodeURIComponent()に変更(3カ所)

ともあれ、しばらく使えなかったこの機能が復活してややうれしい感じ。 上のリンクタグも、これを使って作ったものだ。

やっぱりクイックポストで作ったAタグは一味違うねー大将!

ありがとうございます。皆さんの拍手が私のモチベーションです→

MT3.2 エントリー編集時の問題

Movable Type 3.2にバージョンアップしてから困っていることがある。 エントリーの編集中にカーソルがあらぬところへ飛んで行ってしまうのだ。 と言ってもほとんどの人は意味がわからないと思うので、説明して行こう。

Movable Typeでは、エントリーの編集をWebブラウザ上で行うことができる。 私もこのインターフェースを通じて、脳みそから鼻水が出るほどくだらない日々の雑念をキーボードにた叩きつけ 臆面もなく全世界へと発信したりしているというわけだ。

一方、私は知る人ぞ知るショートカットキーマニアであるため、 カーソルの移動は断然ショートカットキー! 矢印キーなんてこの世からなくなってしまえ!というぐらいの勢いの強硬派である。 だっていちいち指を移動させるの面倒くさいじゃないですか。 いちいちキーボード見なくちゃいけないし。 一度居座ったホームポジションからは、手を動かしたくないんですよ。 ちなみに文字変換で文節伸ばしたり縮めたりするのも、矢印キーは絶対使いたくないタイプです。

さて何を言いたいのかどんどんわからなくなって参りましたが、 要はMovable Type3.2から、 このエントリー編集画面でうかつにControl-Fとか押すと 「エントリー検索」フィールドへぶっ飛んでしまうという現象が起きるようになったわけなのですよ。 あるいは文字を一文字消そうとControl-Dとかすると、 突如「このエントリーを削除しますか?」とか真顔で聞いてくるわけなんですよ顔って。 とか思っていたら一度本当にエントリーを一つ丸々消してしまったのは秘密だ。

さて、これは何が原因なんだよコンチクショウと調べてみたところ、 エントリー編集画面のhtmlのINPUTタグにaccesskey属性がセットされていることが判明しました。 accesskey属性についてはこちらにある通りで、要はそのサイト上でのショートカットキーを割り当てるものなのだ。 この割り当てられるキーが、WindowsではAltキー押しながら、 MacではControlキー押しながらとなっているため、 Control押しながらのショートカットキーを駆使して、カーソルキーを移動させたり文字を消そうとしていた私の動きは思いきりクリティカルヒットだったわけです。

さてどうするべーということだが、対策としてはこのaccesskeyが仕込まれているところを消せばよろしい。 ということでこれまたコンチクショウと調べたところ、犯人は 「mt/tmpl/cms/header.tmpl」にControl(Alt)-sとControl(Alt)-d、 「mt/tmpl/cms/entry_actions.tmpl」にControl(Alt)-fがそれぞれ仕込まれていることが判明しました。 この二つのファイルの「accesskey="s"」みたいな部分を消してやれば、 今私が感じているようにショートカットキー使いまくりの快適な文書作成ライフが満喫できますぜやったー!

ありがとうございます。皆さんの拍手が私のモチベーションです→

弊サイトはエントリーが700ぐらいあるのだが、 ちょっとファイルのフォーマットを変更したい部分が出てきた。 そしてそれは面倒くさいことに、エントリーを一つ一つ修正するしかないことがわかった。 しかしそんなことをしていたら何十回も日が暮れる。 どーするかね、と調べていたら、「エントリーの書き出し」 機能を使うと全てのエントリーを一つのテキストファイルにまとめることができ、 その一つのファイルを修正した方が早そうなことがわかった。

で、Old&New - 「エントリの書き出し・読み込み」でバックアップを参考に、やってみた。
結果として、確かにバックアップはできた。確かにエントリーは全て正常に書き出され、 それは正常に読み込まれた。 しかしこの方法には大きな罠があった。

ありがとうございます。皆さんの拍手が私のモチベーションです→

web拍手導入

web拍手というものを導入してみた。

当サイトは一方向電波タレ流しサイトであるわけだが、どのような文章のウケが良く、 どのようなのがモニタ前の気温を局所的に下げているのか全くわからないのだガチョーン!(これだ)

で、web拍手というのは、何か複雑な手の動きが求められる難易度の高い拍手ということではなく(これもか)、 クリックするとそのことが管理人にわかる、ということである。 それがなんとなく管理人のモチベーションにつながると。 そんなわけですな。

ということで、とりあえず試験運用。

ありがとうございます。皆さんの拍手が私のモチベーションです→

blogとは

えー、弊サイトは極秘裏にblog化を完了してから、今日で1年2ヶ月ぐらいを今まさに迎えたわけですが、 そうこうしている間に何やら世間がblogブームです。 猫も杓子もblogです猫はわかるけど杓子はblogしないでしょう杓子はキミィ、 というボケも以前やった気がしてきて不安に胸がざわめきますっていうか猫もしないよblog。

で、普通の個人運営サイトだった弊サイトがblogにプラットホームを変更したことにより、 一体何かが変わっただろうか? と考えてみると、ハッキリ言ってさしたる変化はないことに思い至り、すこぶるはっふんな感じである。

ではなぜ世の中のblog波に私は乗れていないのであろうか?
あまり乗る気がない、という簡潔かつ完璧な答え以外のものを提示するため、 blogが持つ性質について考えてみたい。 提示しなくていいって言われてもする。意地でもするので覚悟して頂きたい。

ありがとうございます。皆さんの拍手が私のモチベーションです→

コメント欄

GrooveCafeさんからの指摘で、 当サイトのコメント欄が少し前から(一ヶ月ぐらい?)死んでいたことが判明。

スパムコメントが来なくなっていたと思っていたのは、単にコメント不可だっただけなのかもしれない。

ありがとうございます。皆さんの拍手が私のモチベーションです→

MTのエントリー編集textareaを広げる

Movable Typeでエントリーを書いていると、編集部分のtextareaが10行分しかなくて前後が見にくいし編集しにくく、 むしろ追記用のtextareaの方が20行分あってどういうこと?と思っていつつもよくわかんないので そのまま使っているあなたに、textareaを広げる方法をお教えしましょう。

ありがとうございます。皆さんの拍手が私のモチベーションです→

月別アーカイブのプルダウン化他

かねてからの懸念である、Monthly Archivesで2000年2月までの各月へのリンクがだらだらと 50行近くに及んでてなんだかみっともない状態になっていた件について、 これらをプルダウンメニューとすることにより見かけ上1行に圧縮することが可能で、 行数が大幅に削減されることが明らかになった。
参考:hwp blog: プルダウンメニュー

例では

<option value="自サイトのアドレス" selected>【月別ログ】</option>

となっているが、valueに自サイトのアドレスが入っていると、 プルダウンで「月別ログ」が選択された場合に自サイトに飛ぶことになってしまい、切ない。 空白にしておいた方がよいだろう。

月の表示の仕方だが、そのままだと英語表記(Jan 2005のような)になるので、

・<$MTArchiveTitle$>

の部分を

・<$MTArchiveDate language="jp" format="%Y年%b月"$>(<$MTArchiveCount$>)

と変更することで、日本語表示にしつつ記事の数も表示するようにしてみた。

今回はMonthly Archivesのみプルダウン化したが、当然他のものにも応用可能。
いやー、すっきりした。

ありがとうございます。皆さんの拍手が私のモチベーションです→

スパムコメント対策

近ごろonline pokerがなんだとかいうコメントが100個ぐらいなされており、 いいかげん手動削除はめんどくさくなってきたので、ちゃんと対策をとることに。

参考にしたのはMTコメントスパム対策 - Software Linkage
いろいろと方法が挙げられているが、候補としたのは以下の3つ。

  1. 半角英数のみのコメントを全てはじく
  2. プレビューにhashを仕込む
  3. mt-comment.cgiのリネーム

しかし1.は、スパムコメントのために、ローマ字での「tsuman ne- yo」といった心温まるコメントが受けられなくなってしまうので×。 残るは2.と3.になり、お手軽かつ効果がありそうな3.に決定。

やり方は書いてある通り、mt.cfg(MTversion3.2以降ではmt-config.cgi)のCommentScriptの設定を変えるのだが、 MT3.121では以下のように、ファイル名を変更と同時に「#」を取ってコメントアウトを外す必要あり。

# CommentScript mt-comments.pl
  ↓
CommentScript mt-com.cgi

あとは以下の通り。

  1. 書き換えたmt.cfg(mt-config.cgi)をサーバにアップ
  2. mt-comments.cgiをmt-com.cgiに名前を変えてサーバにアップ、パーミッションを755に
  3. サーバ上のmt-comments.cgiは削除
  4. サイトを再構築

さて、どうなるでしょう。請うご期待。

ありがとうございます。皆さんの拍手が私のモチベーションです→

MTでアクセスログ

ウチのサイトはフツーのサイト(書いてある内容は別にして)をblogに移行したもので、 過去の記事も全部blog上に移したため、相当たくさんの記事がある。 この個別のアーカイブやら何やらにアクセスログを付けようとすると、大変なのですよ。

ということでここは一つ、MTのテンプレートに適当にうまいこと書いて、アクセスログをつけてみよう。

まずアクセスログの選定から。 便利だしかっこいいのでn+さんの「AccessLogger+Analyzer4e」に大決定! 最近Googleさんから飛んできた場合にも、キーワードの抽出をしてくれるようになったのでウハウハです。 ちなみに今月一番変なキーワードは「難しいケーキ」です。難しい。

続いて、説明に従ってインストール!パーミッションの変更を忘れずに。

次に、設定。とりあえずIndividualArchiveのテンプレートをいじります。

<script language="JavaScript">
<!--
var ImageWidth = 1;
var ImageHeight = 1;
var ScriptUrl = '<$MTBlogURL$>設置した/ディレクトリ/log4.cgi';
var CounterName = '<$MTEntryID pad="1"$>';

var Tag = '<img' +
' src="' + ScriptUrl + '?' + CounterName + '@' + document.referrer + '"' +
' width=' + ImageWidth +
' height=' + ImageHeight +
'>';

document.write(Tag);
// -->
</script>
<noscript><img src="<$MTBlogURL$>設置した/ディレクトリ/log4.cgi?<$MTEntryID pad="1"$>@" width="1" height="1"></noscript>

私は上の記述を<head>タグの中に書いちゃってます。 文法的に正しいのかはなはだ疑問ですが、ログはちゃんと取れてます。 「<$MTBlogURL$>設置した/ディレクトリ/log4.cgi」というのは、 あなたのBlogのURLが仮に http://hoehoe.blog.com/ だとすると、 http://hoehoe.blog.com/cgi-bin/log/log4.cgiとかそんな感じの、 あなたがlogを設置したディレクトリを示すようにするということです。

こうすることで、個別のアーカイブのエントリーに飛んできた場合も、ログが取れることになります。 <$MTEntryID と書いてあるため、 個々のエントリーは EntryIDで区別され、例えば000021に30アクセス、とかそんな感じになります。

あとはこれを応用すれば、CategoryArchiveだろうがMonthlyArchiveだろうがなんでもログを取れる、 ということになります。 不親切な感じですが面倒くさいので終了!

ありがとうございます。皆さんの拍手が私のモチベーションです→

カテゴリーアーカイブ仕様変更

今まで「What's new?」のカテゴリーアーカイブを開くと、 500件以上のエントリーが全表示されるといういやがらせのようなページになっていたため、 全表示するのは10件ぐらいにして、あとはリンクを貼ったタイトルのみの表示とした。

表示エントリー数を10件に制限するには、<MTEntries>タグにオプションを付けて以下のように変更。

<MTEntries lastn="10">

タイトル一覧表示の部分はこんな感じ。投稿日とコメント、トラックバックも表示するようにした。

<MTEntries>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>  <div class="posted">
投稿者 <$MTEntryAuthor$> : <a href="<$MTEntryPermalink$>"><$MTEntryDate format="%x"$></a>
<MTEntryIfAllowComments>
| <a href="<$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>" onclick="OpenComments(this.href); return false">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTCGIPath$><$MTTrackbackScript$>?__mode=view&entry_id=<$MTEntryID$>" onclick="OpenTrackback(this.href); return false">トラックバック</a>
</MTEntryIfAllowPings>
</div>
<br />
</MTEntries>

始めからやっておけというぐらいの作業なのだが、しょうがないんです。 デフォルトは全表示だし、Movable Typeへの理解度が上がってきて、最近できるようになったんですもの。

ありがとうございます。皆さんの拍手が私のモチベーションです→

機能追加

BLOG質問箱さんの記事を参考に機能を追加してみました!

トップ右のメニューに「RECENT COMMENTS」と「RECENT TRACKBACK」を作ったのです。 これでいつコメントされてもトラックバックされても平気さとか言いつつまだTrackbackされたことありません。 この記事にトラックバックがあるのも自分でテストしたからです。 寂しくないぞー。

さて、初めてのトラックバックを試みたところ、2つ罠がありました。
一つは以下のようなエラーが表示されたことです。
「failed: HTTP error: 500 Can't locate HTML/HeadParser.pm in @INC」

これは「何かが見つからんよ」と言われている気がしますが原因は別で、 トラックバック先のURLは、その記事の「トラックバックURL」というものを指定しなくてはいけないのに、適当に指定したからです。

上の問題をクリアするとトラックバック自体は送れるようになりました。 が、以下のようなエラーが表示されるとともに、送った内容が文字バケしやがったというのが、 もう一つの問題です。
「failed: HTTP error: 500 Can't locate auto/HTML/HeadParser/_alloc_psta.al in @INC」

これも「何かが見つからんよ」と言われている気がしますがこれまた原因は別。 mt.cfgという設定ファイルの文字コードの指定で、「EUC-JP」とすべきを「EUC_JP」としていたからだったのでした。 ぐはぁ。
(参考:tamari+ satoruさん 「トラックバックの文字化け問題クリアァ。」

慣れないもんは難しいですなぁ。

ありがとうございます。皆さんの拍手が私のモチベーションです→

リニューアル

突然リニューアルしてみました。
今はやりのBlog(Movable Type)ってやつにしてみたわけです。
記事ごとにコメントもつけられますし、トラックバックだってできちゃいます!(よくわかってない)

という風に、ここしばらくMovable Typeにこそこそと作りかえていたからなのです。 記事を移し替えるのとか、結構多くて死にそうでした! なるほど、更新が滞っていたのもそのせいだったんですね!(ウソ)
ちなみにまだ全部移し終わってません。

ところで「Movable Type」というからには、おそらく「動かせるタイプ」なのだと思います。 私は何のMovable Typeなのかというと、耳がMovableなTypeなのです。 達人ともなると両方の耳を別々にMovable Type! とか足の薬指だけをMovable Type!とかなわけで、私なんかまだまだです。

あなたは何がMovable Typeですか?

ありがとうございます。皆さんの拍手が私のモチベーションです→

ガッツゴリラ

この最も大事な位置にガッツポーズをするゴリラが表示されていることに何の意味があるのだろうか?答え:何もありません。こんなところまでお読みいただきありがとうございました。

Macオンラインウエア情報検索

Loading
Macオンラインウエア情報検索についてはこちらを参照ください。 →「Macオンラインウエア情報検索」をアップデートしました2012

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMovable Typeカテゴリに属しているものが含まれています。

前のカテゴリはFirefoxです。

次のカテゴリはtwitterです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

アーカイブ