The means justifies the ends
higuchi.com を10数年にわたって支えてきたブログシステムの Nucleus CMS が、開発終了を宣言してしまいました。
Announcement
Published
Over the last few years, development of Nucleus CMS has slowed to a standstill. Unfortunately, most of the people who contributed over the years to keep new versions coming out (and the website updated) can no longer do so. After consulting with Wouter Demuynck and other developers, it has been decided to officially sunset Nucleus CMS.
ここ数年、Nucleus CMS の開発は遅くなり、停止に至りました。残念ながら、長年にわたって新しいバージョンを世に出し(そしてWebサイトを更新する)ことに貢献してきた人のほとんどが、これ以上続けられなくなってしまいました。Wouter Demuynck や他の開発者たちと相談の結果、公式に Nucleus CMS を終了することに決定しました。
Nucleus はこの種のソフトウェアの中では古参の部類に入りますが、基本の設計がシンプルでよくできているので、まだまだ使えます。
とはいえ、基盤になっているPHPやMySQLなどのバージョンアップなどに伴って、そのときどきの修正が必要な場合もあり、現に公式に最新とされているバージョン 3.65 は、最近の PHP の上で動かすとエラーが出る場合があるなどの不具合も報告されていました。
このため、今後のメンテナンスと新規開発を引き継ぐ形で LMNucleus というプロジェクトも正式に紹介されています。
LMNucleus
http://nucleus.slightlysome.net/
LMNuclues は Nucleus と完全互換で、新規インストールはもちろん、既存の Nucleus サイトをそのままアップグレードすることもできる、というふれ込みです。ただし、日本のチームが Nucleus に加えてきた日本語対応などが適用されているかは未知数です。
そこで、早速 Nucleus の旧バージョンで動かしている日本語サイトのいくつかを LMNucleus にアップグレードして、テストしてみています。
テストの結果の総括や、今後の日本語対応の方針などは、追々どこかでまとめていくとして、とりあえず人柱になって追試してくれる人が現れることを期待して、LMNucleus へのアップグレード方法についての簡単なメモを以下に。
下記の情報は、PHP5/MySQL5を使っていて、サイトの表示やMySQL データベースの文字コードにUTF-8を使っているサイトをアップグレードする場合限定です。
念のため、必ずファイルとデータベースのバックアップをとってから作業してください。
LMNucleus の最新バージョン 3.66 を、ダウンロードページのリンクから入手して、ファイルを展開します。
LMNucleus ダウンロードページ
http://nucleus.slightlysome.net/download
ダウンロードページの「Upgrade」のところに説明があるとおり、展開したファイルの中からアップグレードの際に上書きしたくないファイルを消してしまいます。また、media や skins といったディレクトリもディレクトリ毎消しておきます。
LMNucleusをそのままインストールすると、日本語など Latin 1 以外の文字セットを使う場合、文字化けすることがわかっています。MySQL データベースにサイトのデータを読み書きするときに UTF-8 を使うよう設定するコードが入っていないようです(くわしくは、このあたり→http://japan.nucleuscms.org/wiki/migration)。
展開したファイルの中の
nucleus/libs/sql/mysql.php
というファイルを、日本語版 Nucleus CMS 3.65 に入っているバージョンに差し替えます。
やっかいなのは、よく使う処理をまとめてある
nucleus/libs/globalfunctions.php
というファイル。日本語版 Nucleus はこのファイルの中のあちこちに日本語対応コードを埋め込んであるのですが、それをひとつひとつLMNucleusのコードに埋め込み直さないといけません。
これはテストに時間がかかりそう。とりいそぎ、やっつけ仕事で目に付いたところをざっとマージしたファイルをここにおいておきます (globalfunctions.zip)。
念のため、MySQL の、Nucleus のデータが入っているデータベースと、その各テーブルの文字セットが正しく UTF-8 になっていることを確認しておいてください。
phpMyAdmin などでデータベースやテーブルを覗いてみて「照合順序」が utf8_unicode_ci とか utf8_general_ci になっていれば OK です。
もし、違う文字コードに設定されている場合は、手で一つずつちまちま直すのは大変ですから
http://japan.nucleuscms.org/forum/viewtopic.php?pid=26581
にあるスクリプトで変更すれば一発です。
準備ができたら、展開したファイルをサーバー上の既存の Nucleus のファイルに上書きします。
上書きが済んだらアップグレードスクリプトを動かします。ブラウザから
http://自分のNucleusサイト/nucleus/upgrades/index.php
にアクセスすると、必要なアップグレードが表示されますので、画面の表示(英語です)に従ってデータベースなどをアップグレードするリンクをクリックします。
ちなみに、日本語版 Nucleus 3.65 を動かしているサイトの場合、データベースのアップグレードは必要ないという表示でした。
アップグレードが済んだら
nucleus/upgrades
をディレクトリごと削除してしまいます。残しておくと、セキュリティ上の問題があるため、Nucleus の管理画面が開けなくなるようにガードされる仕組みになっています。
最後に、日本語ランゲージファイル
nucleus/languages/japanese-utf8.php
のどこかに、3.65以降追加になった以下の日本語リソースを追加します。
define('_LISTS_AUTHOR', '著者');
define('_OVERVIEW_OTHER_DRAFTS', '他のドラフト(下書き)');
これをしなくても、管理画面の一部に日本語訳が表示されないぐらいで実害はありません。
以上で、うまくいけば、これまでわかっている不具合が修正された最新の LMNucleus 3.66 で日本語サイトが動くはずです。
May the source be with you!