Semantic Web – WordPress

Archive for 9月 2004

Google Web APIs service (ベータ版) を文字化けさせないでMTで利用する方法

leave a comment »

フリー (ベータ版) の Google Web APIs license key を Google Web APIs service サイトから入手して、Movable Type内で設定すると、TEMPLATE TAGS 【MTGoogleSearch】をindex.htmlなどで使用することができます。
テンプレートタグ【MTGoogleSearch】
<MTGoogleSearch query=”movable type” results=”5“>
<a href=”<$MTGoogleSearchResult property=”URL“$>”><$MTGoogleSearchResult property=”title“$></a><br />
</MTGoogleSearch>
タグの機能:キーワード「movable type」をGoogle検索し、URLのタイトルページ名トップ5を表示します。
注:サーバーの条件として LWP::UserAgent SOAP::Lite (version 0.50以上) がインストールされていなければなりません( Xrea.com さんのサーバはインストール済)。
index.html内に本タグを挿入すると、文字化けという重大な不具合が発生します。ブラウザの表示 (エンコード言語)を変更しても、文字化けが修正されず意味不明のページとなることがあります。
インストールするMovable Type:【日本語版】【英語bug fix版】
エンコードの種類:【EUC-JP】 【UTF-8】
DBの種類:【Berkeley】【MySQL】【PostgreSQL】
インストール時の設定を変更しても、表示されるURLに日本語などが含まれると、ページ全体(ないし、URLのタイトル名)が文字化けします。
解決方法 (根本的解決法ではありません) :
■ GoogleSearch専用のインデックス・テンプレートを新規作成する。
     但し, Movable Type3.01D+DB【PostgreSQL】では作成時エラーとなります。 MT 3.11日本語版では作成できます(Xrea.comさんのサーバ)
■ GoogleSearch専用htmlページへのリンクを index.html内に作成します。
GoogleSearch専用のインデックス・テンプレート
テンプレートの名前⇒ (仮) Google Index
出力ファイル名 ⇒ (仮) google.html
テンプレートの雛型として「Master Archive Index」を使用し、メタタグ
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
のcharset を上記のように utf-8 ないし unicode に変更する。
TEMPLATE TAGS 【MTGoogleSearch】
http://www.movabletype.org/docs/mtmanual_tags.html#miscellaneous%20tags
をコピー・ペースト後、編集します。また、Google Index全体の編集を行います。
サンプルページ⇒ http://www.osbsd.net/google.html
インデックス・テンプレート 出力ファイル名 index.html
リンクなどで google.htmlを表示するように編集します。
<a href=”./google.html” target=”explain”>ここにリンク名を記述</a><br />
再構築後、トップページ、google.htmlを確認します。

広告

Written by support

2004/09/29 at 16:29

カテゴリー: ブログ blog

ダイナミック (PHP) ページのための設定について

leave a comment »

ダイナミック(PHP)ページは、htaccessファイル(ドットファイル)をアップロードするだけで、自動生成します(Xrea.com さんのサーバ)。
詳しくは、過去のエントリー
http://shellscript.biz/archives/000020.html
をご覧下さい。
なお、
■ Movable Type 3.1リリースでは DBとしてMySQLのみ利用できます。
■1つのWWWサーバ上に複数のブログページを作成するとき、複数のhtaccessファイル (別ディレクトリー内)が必要です。

Written by support

2004/09/20 at 23:15

カテゴリー: ブログ blog

Movable Typeでは Unicode (UTF-8) or EUC-JP (日本語 Extended Unix Code) ?

with one comment

[追加 2005/7/11]
エントリー「PostgreSQL と UNICODE」
  http://shellscript.biz/archives/000063.html
をご覧下さい。
Movable Type の利用に際して、データベースとしてMySQL (および、PostgreSQL)、スクリプト言語としてPHPも使用するので、文字化けや文字検索で問題を起すShift_JIS コード(META要素で記述)は当初から使用していません。以前からサーバーはUnix系 (ないし、Linux) なので、これまではトラブルの最も少ないEUC-JPを採用していました。ところが、RSS/Atom 対応のMovable Typeを最大限活用するとき、文字コードEUC-JPでは、エントリーの記述内容次第で、再構築後にRSS、Atomに対応しなくなることがあり、問題です。
RSS / Atom / OPML Reader(例)⇒ http://www.infomaker.jp/rss-opml.htm
ブログページ開設時だけでなく、RSSリーダーで更新不能となったとき、RSSやAtomに対応しなくなった理由を、たとえば、サイト「FEED Validator for Atom and RSS」
http://feedvalidator.org/
でチェック (Validity) します。
文字コードが原因のことが多いと思いますが、今回、テンプレート【RSS 1.0 Index】の ファイル名 index.rdf を Movable Type 3.11 bugfix英語版にすべて変更することで解決しました。
15行目の
<dc:language><$MTDefaultLanguage$></dc:language>
<dc:creator></dc:creator>
の言語コード指定の一行をコメントアウト
<!–dc:language–><!–$MTDefaultLanguage$–><!–/dc:language–>
<dc:creator></dc:creator>
ないし、削除後確認する簡便な方法もありますが、テンプレート全体の変更も可能でした(Movable Type 3.01日本語版に複写)。
しかし、UTF-8のUnicodeを使用していないため Atom 対応が得られないとわかったとき、
(エラーメッセージの一例)
‘euc-jp’ codec can’t decode byte 0xad in position ***: illegal multibyte sequence (maybe a high-bit character?) [help]
エントリー内のマルチバイト文字すべてに注意を払うことになりますので、かなり厄介です。以前から XMLとは相性が悪いとされた マルチバイトの ‘curly quote’ や ‘curly apostrophe’ は、コピー・ペーストでエントリを作成したとき、特に注意が必要のようです(特殊文字ではキーボード上の文字を直接使用しない)。
同義語:smart quotes, curly quotes, curled quotes, curling quotes, curved quotes
http://www.dwheeler.com/essays/quotes-in-html.html
Left Double Quotation Mark    “ ⇒“
Right Double Quotation Mark   ” ⇒”
Left Single Quotation Mark    ‘ ⇒‘
Right Single Quotation Mark   ’ ⇒’
UTF-8などのUnicodeは、現時点ではUnix系、Windows, Macなどのプラットフォームでの対応は若干遅れていますが、今後標準の文字コードに採用されるとの情報もありますので、Movable Typeの新規インストール時には積極的に利用すべきと考えます。
【2004/9/22現在】
Xrea.comさんのサーバー (Movable Type, DB, PublishCharset について)
使用可能なDB
○DB_File(Berkeley DB) (Unicode【UTF-8】使用可 注:MT3.11新機能 ダイナミックページは対応しません)
◎DBD::mysql (Unicode【UTF-8】使用可)
◎DBD::postgres (注:Unicode【UTF-8】使用不可)
使用不可能なDB
×DBD::SQLite
EUC-JPは正常に動作しますが、Shift_JISについては動作確認しておりません。
【追記 2004/12/16】 DBD::mysql ,UTF-8使用 であっても、エントリーに
http://medqa.net/archives/atom19.html
のように記述すると、atom.xml のvalidityがなくなりました。

Written by support

2004/09/20 at 18:03

カテゴリー: ブログ blog

Movable Typeプラグイン「SubCategories 1.2」のアンインストールが先です。

leave a comment »

David Raynes さんのプラグイン「SubCategories 1.2」はとても便利なツールで、Movable Type version 3.01D までは正常に稼働します。Movable Type 3.11以降は本体のサブカテゴリー新機能を利用すればよいので、Movable Typeアップグレード後は本プラグインは不要となります。
    最新版 SubCategories 1.2 [June 21, 2004] (04/9/8現在)
    ホームページ http://www.rayners.org/
    圧縮ファイル名 subcats-1.2.tar.gz, subcats-1.2.zip
【注意事項】
■ プラグイン「SubCategories 1.2」は、新規インストールないしアップグレード版のMovable Type 3.11英語版では正常に稼働しませんでした。ブラウザIE にて mt.cgiにアクセスすると、「HTTP 500 – 内部サーバー エラー」となります。
【subcats-1.2.* 展開後の全ファイルとアップロード先】
    ベースフォルダ内 mt-sc.cgi
    pluginsフォルダ内 sub_cats.pl
    /extlib/rayners フォルダ内 SubCategory.pm SubCats.pm
    このうち、sub_cats.plを削除するだけで、正常作動します。
【とても重要なこと】
×「SubCategories 1.2」のファイルをすべてアンインストールしないで、MT3.01D からMT 3.11へアップグレードすると、カテゴリがすべて消失します(エントリのみ保存されます)。
全ファイルをアンインストール後に、MT 3.11へアップグレードすると、カテゴリも保存されます(すべてのエントリがトップの階層になります)。 MT 3.11へアップグレード後 plugin-to-db.cgi を実行します。
SubCategories Plugin Data Migration
http://www.rayners.org/2004/09/07/subcategories_plugin_data_migration/index.php
⇒ Important Note: When upgrading to a 3.1x version of MT, remove all of the files associated with the SubCategories plugin before starting the upgrade.
■ plugin-to-db.cgi の実行
上記ホームページから plugin-to-db.txtをダウンロードし、mt.cgiと同じベースディレクトリにアップロードし plugin-to-db.cgi とリネームし、ファイル属性を 700(Xrea.comさんのサーバー)に変更後、ブラウザから実行します。
Setting the parent of *** to category id **.
Done migrating your data! All went well.
もし、誤ってアップグレード前に実行すると、
You have not yet upgraded to the 3.0 version of MT. Please do that before you run this script. Exiting…
とエラーが表示されます。

Written by support

2004/09/08 at 21:28

カテゴリー: ブログ blog

予約投稿とcron ジョブ(シェルスクリプト)

with 5 comments

Movable Type 3.11の新機能「予約投稿」は、サーバーのcron job で時間等を設定します。
Xrea comさんのサーバーでは、run-periodic-tasksのファイル属性は 700 で作動します。
エントリの投稿は通常どおり行い、【指定日】を選択し、保存します。
ブログページ上には、【作成日時】が表示されます(cron jobの予約時刻ではありません)。
作成日時が予約時刻より未来であると、ページ表示されません。
Movable Type 3.11英語版(Bugs fixed 09.03.2004) または、
2004年10月19日以降、シックス・アパート社「Movable Type 3.1日本語版
Create ⇒ New Entry ⇒ 投稿の状態 Post Status【指定日 Future】⇒ 保存 Save
シェルスクリプトは以下のように作成します。
例)ユーザー名 “me” / mt.cgiのディレクトリ名 “mt”
スクリプト名 cron1.sh (サーバー仕様は cron2.sh, cron3.sh など3つのshellscriptを同時登録できます。2004年後半、計5つに増設 )
#!/bin/sh
cd /virtual/me/public_html/mt/
/usr/bin/perl ./tools/run-periodic-tasks
echo Future: MT3.11 run-periodic-tasks
echo
exit

以上
ダウンロード用スクリプト⇒   cron489_sh  2KB 使用時の拡張子は sh です。
このファイルは Movable Type 3.11英語版(ないし、日本語版) 用です。
cd /virtual/me/public_html/mt/ のPATHは必ず変更して下さい。カレントディレクトリは必ずmt.cgiのあるMovable Typeベーシックディレクトリです。
他のディレクトリではライブラリが使用できません
echo はサーバの自動送信メールにより正常稼動を確認する目的だけです。
# Movable Type 3.11新機能「予約投稿」のためのスクリプトです。
# シェルコマンドを実行する際、カレントディレクトリを mt.cgi のあるディレクトリに移動する必要があります。
# Xrea.com さんのサーバでは、次行の /me/public_html/mt/ のみ変更して下さい。
# me はユーザー名(ID) です。mt は mt.cgi を含むベーシックディレクトリの名称です。
# Xrea.com さんのサーバでは、run-periodic-tasksのファイル属性は 700 で作動します。
# 他社サーバでは、perlのPATHなどもご確認下さい。
# echo の行は メールで登録メールアドレスに通知されるメッセージです。
# 本スクリプトを編集したとき、改行コード LF エンコード種類 EUC で保存し、FTP ASCIIでアップロードして下さい。
# アップロード先は、ホームディレクトリのトップ (FTP では ルート /で表示されるディレクトリ内)です。
# アップロード後、ファイル属性を 705 に変更して下さい。
# スクリプトの実行等は、すべて自己責任で行って下さい。
また、Xrea.com さんの cron ジョブの設定方法、shellscriptのアップロード先は、
http://shellscript.biz/archives/000018.html
などをご覧下さい。

Written by support

2004/09/06 at 13:36

カテゴリー: cronジョブ

ダイナミック(動的生成)ページとMT 3.11版

with one comment

Xrea.comさんのサーバにてMovable Type 3.1日本語版のダイナミックページを使用するとき、少なくとも以下の設定が必要です。MT 3.12英語版についても同様の設定を行います。
(例)
ユーザー名 “me”
ブログページのURL名 “http://me.s*.xrea.com/blog/”
ブログページの絶対PATH “/virtual/me/public_html/blog/
mt.cgiを含むMovable Typeのベーシックディレクトリ名 “mt” 
    ベーシックディレクトリのPATH “public_html/mt/” 
として解説します。
使用できるデータベースは MySQL のみです。
本家ページから Movable Type 3.11bugfix英語版以上のバージョン または、
2004年10月19日以降、シックス・アパート社「Movable Type 3.1日本語版
をダウンロードし、インストールします。
下記のファイル _htaccess を作成します。
====
Options -Indexes
<IfModule mod_rewrite.c>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.htm default.htm default.html default.asp /virtual/me/public_html/blog/mtview.php
</IfModule>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /virtual/me/public_html/blog/mtview.php [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /virtual/me/public_html/blog/mtview.php
ErrorDocument 403 /virtual/me/public_html/blog/mtview.php
</IfModule>
===
FTPにてホームディレクトリのトップディレクトリにアップロードします (FTPではルート / で表示されます)。
ASCIIでアップロード後、ドットファイル .htaccessにリネームします。
ファイル属性(chmod) 604
.htaccessの設置ディレクトリは一例です。mtview.phpへの【PATH】が正しければ、同じ(ないし、上位)ディレクトリであれば問題ありません。複数のブログページを開設するときは、異なるディレクトリ内にブログページ数と同数のファイル.htaccessが必要です(下位にある.htaccessの設定が有効となります)。
なお、DirectoryIndexとして 【index.php index.html index.htm default.htm default.html default.asp 】の順に指定し、URL http://me.s*.xrea.com/blog/ にブラウザでアクセスすると、
1. http://me.s*.xrea.com/blog/index.php
2. http://me.s*.xrea.com/blog/index.html
3. http://me.s*.xrea.com/blog/index.htm
4. http://me.s*.xrea.com/blog/default.htm
5. http://me.s*.xrea.com/blog/default.html
6. http://me.s*.xrea.com/blog/default.asp
ファイル1. index.php が最優先にロードされます。
1.index.php と 2.index.html が異なる内容のファイルであれば、ドットファイル.htaccess のindex.phpを削除します。他のファイルについても同様です。この指定は、ドットファイルをアップロードしたディレクトリおよび下位のディレクトリに適用されます。
Xrea.comさんのサーバであっても、Movable Typeのベーシックディレクトリの2つのファイル属性を変更(chmod)します。
[mt]/mt.cfg 404
[mt]/mt-db-pass.cgi 404
    注)FTPによる編集作業のときは、一時的にchmod 604 とします。
ブログぺージに空ディレクトリを作成し、属性707とします。
[blog]/templates_c 707
(セキュリティ対策として、このコンパイル用一時保存ディレクトリを別名に変更する方法 ⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/10/_cache_template.html)
本家サイトではサポートページが追加されています。
http://www.movalog.com/archives/dynamic/dynamic-pages-the-htaccess.php#more
上記の htaccessファイルはこちらからコピーしましたので、ファイル内容をご確認下さい。
ダイナミックページを利用する際、.htaccessファイルが必須です。[2004/9/19追記]。
【2004/9/22現在】
Xrea.comさんのサーバー (Movable Type, DB, PublishCharset について)
使用可能なDB
○DB_File(Berkeley DB) (注:MT3.11新機能 ダイナミックページは対応しません)
◎DBD::mysql
○DBD::postgres (注:Unicode【UTF-8】使用不可 MT3.1リリース版ではダイナミックページ未対応)
使用不可能なDB
×DBD::SQLite(注:MT3.1リリース版ではダイナミックページ未対応)
EUC-JP, UTF-8は正常に動作しますが, Shift_JISについては動作確認しておりません。
MT3.1リリース版とDB(PostgreSQL, SQLiteなど)⇒http://www.movabletype.org/docs/mtmanual_dynamic.html#requirements
を参照して下さい。
Movable Type 3.11 バグフィッスリリース版以上のバージョン ないし,
2004年10月19日以降、シックス・アパート社「Movable Type 3.1日本語版
Main Menu > First Weblog(デフォルト名) > Templates
の【再構築オプション Build Options】は、
● すべてスタティック Build All Templates Statically ←ラジオボタンにチェック(デフォルト)
○ アーカイブのみダイナミック Build Only Archive Templates Dynamically
○ テンプレート毎に個別に選択 Set Each Template’s Build Options Separately
です。
動的生成ページを利用するとき、ラジオボタンをクリックし、
● アーカイブのみダイナミック Build Only Archive Templates Dynamically
または、
● テンプレート毎に個別に選択 Set Each Template’s Build Options Separately
とします。
注)動的生成ページに対応していないとき、バグフィックス版であってもエラーとなります。
Milanoさんのページ
http://rebecca.ac/milano/mt/archives/000906.html
.htaccessで、mtview.phpというを呼び出すようにmod_rewriteの設定をしなければなりません。」も参照して下さい。
なお、Xrea.com サーバーを管理されているバリュー・ドメイン様に送信フォームにてダイナミックページ(動的生成)の件は確認済みです。
[2004-09-20 20:05:27] Xrea.comさんからの回答
mod_rewriteであれば問題なくご利用頂け、特に制限は掛けておりません。Movable Type 3.11に関しましては、動作検証は行っておらず、詳細は把握しておりませんが、mod_rewriteに関しましては問題なくご利用頂けます。
【2004/10/22 再確認】
(Xrea.comさんの)サーバ専用アプリケーションソフト apache では mod_rewrite がロードされています。
確認方法 ⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/01/xreacomassaeeia.html
4. phpinfo(); アップロードし、ブラウザで表示します。他サーバでも利用できます。
アーカイブファイルの拡張子は従来どおり’html’, ‘shtml’, ‘php’など選択できます。
【補 足】
Movable Type 3.11 Released: Bugs fixed 09.03.2004が必要です。
(本家サイトの邦訳)
■ アップグレードに伴ういくつかの問題点を修正しました:
BerkeleyDB を利用している場合、3.0xから3.1xへのアップグーレドのとき、
すべてのDBにおいて2.6x から 3.0へのアップグレードのとき。
■ 注 エントリを保存した後、テンプレートの更新がダイナミックページに反映されませんでした。
■ Perlのバージョンが古いと、syntax error のため使用できないことがありました。
■ カテゴリーのパス(e.g. “Mammals / Primates / Orangutans”) はいくつかのページで省略されていました。 以上
また、動的生成ページに対応していないと、Templates の【Build Options】の最下段(テンプレート毎に個別に選択 Set Each Template’s Build Options Separately)も利用できません。
Main Menu > First Weblog > Templates
Index Templates
   Atom Index
   Dynamic Site Bootstrapper
   Main Index
   Master Archive Index
   RSD
   RSS 1.0 Index
   RSS 2.0 Index
   Stylesheet
では、各項目に【再構築オプション Build Options】があります。
Templates の【再構築オプション Build Options】を最下段(Set Each Template’s Build Options Separately)に変更し保存すると、各テンプレートは、
□ このテンプレートをダイナミック・ページにする Enable dynamic building for this template
□ インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する Rebuild this template automatically when rebuilding index templates
どちらか(または、両方)の選択が可能となります。

Written by support

2004/09/05 at 14:49

カテゴリー: ブログ blog

アプリケーション・レベルのコールバック機能とプラグイン・ツール

leave a comment »

本家サイトでは、Movable Type 3.1のダウンロードが可能となりました。私が主催しているブログのコンテンツ上(このサイトではありませんが)、外国から「日本語を全く含まない」spam 目的だけのコメント投稿が時々届くので、早速
Ogawa::Memoranda さんのホームページ http://as-is.net/blog/ から 公開プラグイン・ツール spamfilter.plをダウンロードして、テストしてみました。Ogawaさんが作られた1KBのスクリプトは見事に spam コメントを rejectレジェクトしました。
同時公開の「Trackbackの脆弱性」に対する改造ツール tbexploit.plもインストールしました。
Main Menu 画面下方に
Configure Active Plugins
TBPingfilter Plugin, v.0.01
Reject exploitative trackback pings (An example of Application-level Callback)
Spamfilter Plugin, v.0.01
Reject ASCII-only Comments (An example of Application-level Callback)
と表示されます。
Movable Type 3.1から実装となるアプリケーション・レベルのコールバック機能はとても実用的、魅力的ですので、
http://www.movabletype.jp/archives/2004/08/movable_ty.html
【なお、米国では同時に、プラグイン・コンテストの入賞作を集めた「プラグイン・パック」もご提供予定ですが、日本語版でのご提供予定は現在ございませんので、あらかじめご了承ください。】はとても残念なことです。国内で作成されたこれら優秀なプラグインツールは、Movable Type 3.1日本語版リリース後より簡単に利用できるように、情報開示を推進していただきたいと思います。

Written by support

2004/09/01 at 18:32

カテゴリー: ブログ blog