Scribble at 2020-08-29 10:13:34 Last modified: 2020-08-29 10:39:27
なんだかんだして、また Movable Type を使っている。昨日、自宅のマシンに MT7 を入れたところだ。
特に大きな障害はなく、Strawberry Perl を入れて、Six Apart からもらった MT7 を展開し、Apache でルート・ディレクトリやホスト名の設定をして、MT7 のすべてのファイルを対象に shebang 行のパスを perl.exe のパスへ書き換える(逆に "#!/usr/bin/perl" に合わせてジャンクションを設定してもいいが、僕はこれは任意の .cgi ファイルをダウンロードさせられたときに危険だと思うので推奨しない)。これで準備は終わって、サイトのルート・ディレクトリの下に /mt というパスで展開した MT7 にアクセスするとインストールのページが出てくるため、先にシステムのチェックをする。だいたい Windows に Strawberry Perl を入れただけの状態だと、データベースのパッケージが不足しているかもしれないので、PowerShell かコマンド・プロンプトを起動して "cpanm DBD::SQLite2" のようなことをしておくのがよい(別にしなくても SQLite くらいは動く)。このとき、MT7 でいまだにハマる人が多いようだが、SQLite の DBMS を使って /mt/db 内にデータベースのバイナリ・ファイルを置く場合は、/mt/db というフォルダを必ず先に自分自身で作っておかないといけないということだ。これをしないと、MT のインストールでは必ずデータベースにアクセスできずにエラーとなって進めなくなる。一連のチェックが済めば、インストールは DBMS を SQLite2 に指定して簡単に進行する。管理者のアカウントを設定して終わるだろう。
さて、今回の目標は MT6 を使っていたときに悩まされた「会計年度や学年度など、年月アーカイブの開始月を変更する」というものである。聞くところによると、MT7 では年別アーカイブの開始月を変更できるようになっているとのことで、それなら MT6 のときに書いていた馬鹿みたいに複雑なタグの山を綺麗に掃除できる。ということで実際に MT7 の管理画面を見てみたのだが・・・いや、これ、別にそんな機能はサポートされていないようだがね・・・そしてさらに調べてみると、年別アーカイブの開始月を設定できるのは、要するに Six Apart が提供している ASP 版だけなのである。インストール(ライセンス)版ではサポートされていない。これでは MT7 にされたところで、どうしようもない。さらに調べると、会計年度に対応してアーカイブの開始月を変えられるプラグインはあるようだが、残念ながら MT のプラグインはサーバへ直にアップロードしなくてはならず、大半の企業や大学の受託案件ではそういう権限は制作会社に与えられていない。それどころか公開サーバへアクセスする権限もなく、ステージングにだけ VPN でアクセスしたり、現地に赴いて局舎内からしかアクセスできないことも多い。
ということで、すべては振り出しに戻ってしまった。しかし MT7 で導入された新しいテンプレート・タグを使って、もうちょっとうまく年度別のリストを整理できるかもしれないので、ひとまず「記事の表示」、「会計年度を単位とするアーカイブの記事リストの表示」「会計年度を単位とするサイドバーの年度表示」などのコードを最初から設計しなおしてみることにした。それはそうと、テンプレートを編集しているときに MT6 では右のペインにコードで使ってるテンプレート・タグのヘルプにリンクするアンカーが出ていて便利だったのだが、MT7 ではそういうものがなくなっている。これは改悪だろう。
※ これは具体的な案件とは無関係に技術的な議論をしている。また、ウェブ制作の業界や業務・事業についての批評を意図していない。